init: 项目初始提交 - NeoZQYY Monorepo 完整代码
This commit is contained in:
15
.kiro/hooks/audit-flagger.kiro.hook
Normal file
15
.kiro/hooks/audit-flagger.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Audit Flagger (Prompt Submit)",
|
||||
"description": "每次提交 prompt 时,基于 git status 判断是否存在高风险改动;若需要审计则写入 .kiro/.audit_state.json(无 stdout)。",
|
||||
"version": "1",
|
||||
"when": {
|
||||
"type": "promptSubmit"
|
||||
},
|
||||
"then": {
|
||||
"type": "runCommand",
|
||||
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File .kiro/scripts/audit_flagger.ps1"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "audit-flagger"
|
||||
}
|
||||
15
.kiro/hooks/audit-reminder.kiro.hook
Normal file
15
.kiro/hooks/audit-reminder.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Audit Reminder (Agent Stop, 15min)",
|
||||
"description": "若检测到高风险改动且未审计,则在 agentStop 以 stderr+非0 形式提醒(15 分钟限频;不写 stdout)。",
|
||||
"version": "1",
|
||||
"when": {
|
||||
"type": "agentStop"
|
||||
},
|
||||
"then": {
|
||||
"type": "runCommand",
|
||||
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File .kiro/scripts/audit_reminder.ps1"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "audit-reminder"
|
||||
}
|
||||
15
.kiro/hooks/change-impact-review.kiro.hook
Normal file
15
.kiro/hooks/change-impact-review.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": false,
|
||||
"name": "change-impact-review(Steering + README)",
|
||||
"description": "每次 agent 执行结束后,评估本轮代码变更是否需要同步更新 product/tech/structure steering 文档及 README,必要时自动更新并输出审计摘要。(已禁用:改为手动 /audit 子代理流程)",
|
||||
"version": "1",
|
||||
"when": {
|
||||
"type": "agentStop"
|
||||
},
|
||||
"then": {
|
||||
"type": "askAgent",
|
||||
"prompt": "你必须对本轮执行进行「变更影响审查」。\n\n第一步)判断本轮是否引入了「逻辑改动」(业务规则、数据处理/ETL 逻辑、API 行为、鉴权/权限、小程序交互逻辑)。如果没有逻辑改动(仅格式化/注释/拼写修正),输出「无逻辑改动」并结束。\n\n第二步)如果存在逻辑改动,逐一评估以下文档是否需要更新,需要则立即更新:\n- .kiro/steering/product.md(产品定位、业务规则/定义)\n- .kiro/steering/tech.md(技术栈/约束、部署/运行时假设)\n- .kiro/steering/structure.md(目录结构、关键模块边界)\n- README.md(运行方式、环境变量、接口、本地部署、集成说明)\n- gui/README.md\tGUI 的独立文档,需要说明各子目录用途和常用命令\n- docs/ 文档目录索引,帮助找到正确的子目录\n- scripts/ 脚本较多且分子目录,需要说明各子目录用途和常用命令\n- tasks/ 任务开发约定(如何新增任务、注册流程)\n- database/ Schema 约定、迁移规范\n- tests/ 测试运行方式、FakeDB/FakeAPI 用法\n\n第三步)输出审计友好的摘要:\n- 变更范围:涉及的模块/接口/数据库对象\n- 变更原因:为什么改\n- 风险评估:回归范围 + 建议运行的测试/验证\n- 文档同步:已更新的文档列表(或明确说明无需更新的理由)\n\n第4步) 变更标注与审计落盘(强制执行):\n创建或更新审计记录文件:docs/audit/changes/<YYYY-MM-DD>__<slug>.md,内容必须包含:\n- 日期/时间(Asia/Shanghai)\n- 原始用户 Prompt(原文;或引用 Prompt-ID + 不超过 5 行的摘录)\n- 直接原因:AI 分析后“为何必须改” + “修改方案简介”\n- 修改文件清单(Files changed list)\n- 风险点、回滚要点、验证步骤(至少包含可执行的验证方式)\n对每一个被修改的文件,必须在文件内新增或更新 AI_CHANGELOG 记录项,至少包含:\n- 日期\n- Prompt(Prompt-ID + 摘录)\n- 直接原因(必要性 + 方案简介)\n- 变更摘要(改了什么:模块/函数/接口/字段等)\n- 风险与验证(回归范围 + 验证方法/测试点/SQL/联调步骤)\n对每一处“逻辑变更”的代码块,必须在变更附近添加内联 CHANGE 标记注释,至少说明:\n- 变更意图(intent)\n- 关键假设(assumptions)\n- 边界条件/资金口径/精度与舍入规则(若相关)\n- 关联 Prompt(Prompt-ID 或摘录)以及必要的验证提示\n\n硬性规则:如果涉及数据库 schema 或表结构变更,必须同步更新 docs/database/ 下对应的表结构文档。"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "change-impact-review"
|
||||
}
|
||||
15
.kiro/hooks/db-docs-sync.kiro.hook
Normal file
15
.kiro/hooks/db-docs-sync.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Manual: DB 文档全量同步",
|
||||
"description": "按需触发:对比 Postgres 实际 schema 与 docs/database/ 下的文档,自动补全或更新缺失/过时的表结构说明,并输出变更摘要。",
|
||||
"version": "1",
|
||||
"when": {
|
||||
"type": "userTriggered"
|
||||
},
|
||||
"then": {
|
||||
"type": "askAgent",
|
||||
"prompt": "执行一次按需的数据库文档全量同步。\n\n步骤:\n1) 检查当前 Postgres schema(使用环境中可用的工具/命令,例如 pg_dump --schema-only 或查询 information_schema)。\n2) 与 docs/database 下现有文档进行对比。\n3) 更新缺失或过时的 schema/表结构文档。\n4) 输出对账摘要:哪些文档被修改了、修改原因。输出路径遵循.env路径定义。\n\n注意:如果需要执行 shell 命令,请通过 agent 的 shell 工具调用。"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "db-docs-sync"
|
||||
}
|
||||
22
.kiro/hooks/db-schema-doc-enforcer.kiro.hook
Normal file
22
.kiro/hooks/db-schema-doc-enforcer.kiro.hook
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"enabled": false,
|
||||
"name": "DB Schema 文档执行 (bd_manual)",
|
||||
"description": "当数据库 schema/migration 相关文件被保存时,检查是否有表结构变更,并自动更新 docs/database/ 下对应的表结构文档。(已禁用:由 /audit 流程统一处理 DB 文档)",
|
||||
"version": "1",
|
||||
"when": {
|
||||
"type": "fileEdited",
|
||||
"patterns": [
|
||||
"**/migrations/**/*.*",
|
||||
"**/*.sql",
|
||||
"**/*ddl*.*",
|
||||
"**/*schema*.*",
|
||||
"**/*.prisma"
|
||||
]
|
||||
},
|
||||
"then": {
|
||||
"type": "askAgent",
|
||||
"prompt": "一个数据库相关文件刚被保存。你必须检查是否发生了 schema/表结构变更。\n\n如果发生了表结构变更,你必须更新以下目录中的文档:\ndocs/database/\n\n最低输出要求(必须写入对应 schema 目录 + 表结构文档):\n1) 变更内容:表/字段/类型/可空性/默认值/约束/索引/外键的具体变化\n2) 变更原因:业务背景与动机\n3) 影响范围:ETL 管线、后端 API 契约、小程序字段等\n4) 回滚策略:如何回退 + 数据回填注意事项\n5) 验证 SQL:至少 3 条查询语句用于验证变更正确性\n6) 溯源留痕日期(Asia/Shanghai,YYYY-MM-DD);Prompt(Prompt-ID + ≤5 行摘录或原文);Direct cause(必要性 + 修改方案简介)\n\n如果没有发生表结构变更(例如仅修改注释),在变更日志文档中写一条简短说明:\"无结构性变更\"(同样要带日期 + Prompt-ID)。"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "db-schema-doc-enforcer"
|
||||
}
|
||||
15
.kiro/hooks/prompt-audit-log.kiro.hook
Normal file
15
.kiro/hooks/prompt-audit-log.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Prompt Audit Log (Shell)",
|
||||
"description": "每次提交 prompt 时,用本地 Shell 在 docs/audit/prompt_logs/ 生成独立日志文件(按时间戳命名);不触发 LLM,避免上下文膨胀。",
|
||||
"version": "3",
|
||||
"when": {
|
||||
"type": "promptSubmit"
|
||||
},
|
||||
"then": {
|
||||
"type": "runCommand",
|
||||
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File .kiro/scripts/prompt_audit_log.ps1"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "prompt-audit-log"
|
||||
}
|
||||
15
.kiro/hooks/run-audit-writer.kiro.hook
Normal file
15
.kiro/hooks/run-audit-writer.kiro.hook
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "Manual: Run /audit (via audit-writer subagent)",
|
||||
"description": "按需触发:启动 audit-writer 子代理执行变更影响审查+文档同步+审计落盘,完成后自动刷新审计一览表,并仅回传极短回执。",
|
||||
"version": "2",
|
||||
"when": {
|
||||
"type": "userTriggered"
|
||||
},
|
||||
"then": {
|
||||
"type": "askAgent",
|
||||
"prompt": "立刻启动名为 audit-writer 的子代理来执行「后处理写入/审计收口」流程。\n\n约束:\n- 子代理自行使用 git status/diff 与 .kiro/.last_prompt_id.json 中最新 Prompt-ID 作为溯源;不要依赖主对话上下文。\n- 子代理必须按需调用 skill:steering-readme-maintainer、change-annotation-audit、bd-manual-db-docs(仅在满足触发条件时)。\n- 子代理结束后,必须把 .kiro/.audit_state.json 中 audit_required 置为 false(或清空文件),以停止后续提醒。\n- 审计落盘完成后,必须执行 `python scripts/gen_audit_dashboard.py` 刷新审计一览表(docs/audit/audit_dashboard.md)。\n- 你的最终回复必须是「极短回执」,只包含:\n 1) 是否完成(yes/no)\n 2) 写了哪些文件(文件列表)\n 3) 如果失败,下一步怎么做(1~2 条)"
|
||||
},
|
||||
"workspaceFolderName": "NeoZQYY",
|
||||
"shortName": "audit"
|
||||
}
|
||||
Reference in New Issue
Block a user