Files
Neo-ZQYY/.claude/commands/audit.md
Neo 8228b3fa37 chore: migrate IDE environment from Kiro to Claude Code
- Add CLAUDE.md (root + ETL subdirectory + db subdirectory) consolidating all Kiro steering docs
- Add .mcp.json migrated from .kiro/settings/mcp.json (test DBs enabled, prod disabled)
- Add .claude/commands/ (audit, doc-sync, db-docs) replacing Kiro skills
- Add .claude/hooks/ (session_start, post_edit_audit, stop_audit_check) replacing Kiro hooks
- Add .claude/settings.json registering all hooks
- Add scripts/audit/prescan.py merging Kiro's audit_flagger + compliance_prescan
- Remove .kiro/agents, hooks, scripts, settings, skills, state (migrated or obsolete)
- Update .gitignore for Claude Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 15:48:08 +08:00

105 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# /audit — 变更审计
回顾本次会话中你所做的所有文件变更,结合自动预扫描结果,执行审计落盘。
## 执行步骤
### 第 1 步运行预扫描脚本Python零 token
运行:
```bash
python scripts/audit/prescan.py
```
该脚本自动完成:
- 从 git status 获取所有变更文件
- 分类高风险文件 + 生成 risk_tags
- 合规检查:代码→文档映射、迁移 SQL 检测、DDL 基线检查
读取输出的 JSON。如果 `audit_required: false`,告知用户"无需审计"并结束。
**备选**:如果 git status 包含大量非本次会话的历史变更,可以用 `--files` 参数只传入本次会话的文件:
```bash
python scripts/audit/prescan.py --files "file1.py,file2.sql,..."
```
文件列表从你的对话记忆(本次会话的 Edit/Write 工具调用)中提取。
### 第 2 步:补充语义上下文
预扫描脚本能告诉你"哪些文件变了、是否高风险、文档是否缺失",但它不知道**为什么改**。
从对话记忆中补充:
- 每个变更文件的修改原因(用户的需求是什么)
- 改动的技术思路和设计决策
- 与其他模块的关联影响
将预扫描 JSON + 语义上下文合并,作为第 3 步的输入。
### 第 3 步:委托子代理写审计记录
用 Agent 工具启动子代理,传入:
1. 预扫描 JSON 结果(完整)
2. 每个变更的原因和内容概要(你补充的语义上下文)
子代理的任务指令:
> 在 `docs/audit/changes/` 目录下创建审计记录文件,文件名格式 `<YYYY-MM-DD>__<英文短标识>.md`。
>
> 使用以下格式:
>
> ```markdown
> # 变更审计记录:<中文标题>
>
> | 字段 | 值 |
> |------|-----|
> | 日期 | YYYY-MM-DD HH:MM:SS |
>
> ## 操作摘要
> <1-3 段,说清楚做了什么、为什么做>
>
> ## 变更文件
> 按新增/修改/删除分组,每个文件一行,简要说明改动内容。
>
> ## 改动注解
> 对每个变更文件写注解:
> - 高风险文件ETL 任务/后端路由/数据库迁移/金额相关):写详细注解(变更类型、原因、思路、结果)
> - 普通文件:一行简要说明
> - 删除的文件:只记录删除原因
>
> ## 数据库变更(如有)
> 列出新建/修改/删除的表、字段、约束、索引。标注迁移执行状态。
>
> ## 风险与回滚
> - 风险点(标注高/中/低)
> - 回滚要点
>
> ## 验证
> - 至少 1 条可执行的验证方式(测试命令 / SQL / 联调步骤)
>
> ## 合规检查
> - 列出文档同步状态(已同步 / 待补齐 / 不适用)
> ```
>
> 当前北京时间通过 `python -c "from datetime import datetime, timezone, timedelta; print(datetime.now(timezone(timedelta(hours=8))).strftime('%Y-%m-%d %H:%M:%S'))"` 获取。
>
> 审计记录语言使用简体中文。
>
> 完成后运行 `python scripts/audit/gen_audit_dashboard.py` 刷新审计一览表。
>
> 最终只返回done / files_written / next_step。
### 第 4 步:补齐缺失的文档同步
根据预扫描 JSON 中 `code_without_docs` 列出的不合规项,逐项补齐:
- 读取对应代码文件当前内容
- 更新对应文档
如果补齐工作量大(>3 个文档),委托子代理处理。
### 第 5 步:向用户报告
简短回执:
- 审计记录文件路径
- 合规检查结果(全部通过 / N 项已补齐 / N 项待用户处理)
- 下一步建议(如 "commit when ready"