agentic-flow-kit 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +92 -23
- package/bin/flow-kit.mjs +3 -1
- package/locales/en/installer.json +87 -2
- package/locales/en/overrides/.codebuddy/skills/tfs-pr/SKILL.md +1 -1
- package/locales/en/overrides/workflow/README.md +2 -0
- package/locales/zh-CN/installer.json +87 -2
- package/package.json +2 -2
- package/schemas/install-manifest.schema.json +3 -1
- package/schemas/project-profile.schema.json +1 -1
- package/src/cli/args.mjs +3 -1
- package/src/cli/main.mjs +9 -2
- package/src/commands/doctor.mjs +50 -4
- package/src/commands/install.mjs +160 -13
- package/src/hosts/registry.mjs +154 -10
- package/src/i18n.mjs +3 -0
- package/src/install/apply.mjs +17 -3
- package/src/install/frontmatter.mjs +84 -0
- package/src/install/plan.mjs +174 -16
- package/src/models/known.mjs +13 -0
- package/src/models/probe.mjs +163 -0
- package/src/models/resolve.mjs +312 -0
- package/src/render/tokens.mjs +56 -9
- package/src/tui/ansi.mjs +55 -0
- package/src/tui/flows.mjs +306 -0
- package/src/tui/prompts.mjs +139 -0
- package/src/tui/screen.mjs +217 -0
- package/src/tui/widgets.mjs +111 -0
- package/src/tui/wizard.mjs +68 -0
- package/templates/engine/.agents/commands/new-task.md +2 -2
- package/templates/engine/.agents/commands/pipeline-run.md +5 -1
- package/templates/engine/.agents/commands/stages.md +2 -1
- package/templates/engine/.agents/config/agent-eval.json +17 -0
- package/templates/engine/.agents/config/mechanism-registry.md +2 -1
- package/templates/engine/.agents/config/memory-tiers.json +13 -0
- package/templates/engine/.agents/config/pipeline.json +36 -0
- package/templates/engine/.agents/config/steering.json +28 -0
- package/templates/engine/.agents/evals/README.md +49 -0
- package/templates/engine/.agents/evals/tasks.tsv +6 -0
- package/templates/engine/.agents/hooks/pre-write-check.cjs +27 -0
- package/templates/engine/.agents/notes/injected-memory.md +14 -0
- package/templates/engine/.agents/notes/steering-tiers.md +28 -0
- package/templates/engine/.agents/scripts/agent-eval.mjs +268 -0
- package/templates/engine/.agents/scripts/check-pipeline-state.mjs +85 -0
- package/templates/engine/.agents/scripts/claims.mjs +166 -0
- package/templates/engine/.agents/scripts/dream-run.mjs +78 -3
- package/templates/engine/.agents/scripts/fix-task.mjs +77 -0
- package/templates/engine/.agents/scripts/memory-tier.mjs +196 -0
- package/templates/engine/.agents/scripts/memory-wiki.mjs +296 -0
- package/templates/engine/.agents/scripts/outcome-metrics.mjs +195 -0
- package/templates/engine/.agents/scripts/path-lease.mjs +177 -0
- package/templates/engine/.agents/scripts/session-log.mjs +157 -0
- package/templates/engine/.agents/scripts/steering.mjs +75 -0
- package/templates/engine/.agents/scripts/verify.mjs +16 -5
- package/templates/engine/.agents/skills/arena/SKILL.md +4 -0
- package/templates/engine/.agents/skills/dream/SKILL.md +21 -2
- package/templates/engine/.agents/skills/eval/SKILL.md +16 -0
- package/templates/engine/.agents/skills/model-upgrade/SKILL.md +41 -0
- package/templates/engine/.agents/skills/session-resume/SKILL.md +7 -0
- package/templates/engine/.agents/skills/show-me-your-work/SKILL.md +14 -0
- package/templates/engine/.agents/skills/wiki/SKILL.md +4 -1
- package/templates/git/.gitattributes +1 -0
- package/templates/git/.githooks/package.json +3 -0
- package/templates/git/.github/workflows/ci.yml +32 -0
- package/templates/git/azure-pipelines.yml +46 -0
- package/templates/host-meta/SKILLS.md +3 -0
- package/templates/host-meta/claude/skill-pointer.md +6 -0
- package/templates/host-meta/cline/skill-index.md +6 -0
- package/templates/host-meta/codebuddy/skill-pointer.md +6 -0
- package/templates/host-meta/commandcode/skill-index.md +5 -0
- package/templates/host-meta/opencode/skill-pointer.md +6 -0
- package/templates/host-meta/qoder/skill-index.md +5 -0
- package/templates/host-meta/qwen/skill-index.md +5 -0
- package/templates/host-meta/trae/skill-index.md +6 -0
- package/templates/hosts/claude/settings.hardened.json +94 -0
- package/templates/hosts/claude/settings.json +1 -3
- package/templates/hosts/commandcode/settings.json +1 -3
- package/templates/hosts/qoder/settings.json +1 -3
- package/templates/hosts/qwen/settings.json +1 -3
- package/templates/profiles/go/AGENTS.md +52 -0
- package/templates/profiles/java/AGENTS.md +52 -0
- package/templates/profiles/rust/AGENTS.md +52 -0
- package/templates/profiles/typescript/AGENTS.md +52 -0
- package/templates/scaffold/workflow/INDEX.md +16 -0
- package/templates/scaffold/workflow/README.md +2 -0
- package/templates/scaffold/workflow/artifact-sources.md +25 -0
- package/templates/scaffold/workflow/non-engineer-intent.md +51 -0
|
@@ -32,7 +32,12 @@ node .agents/scripts/dream-run.mjs --execute # 执行安全修复(仅终态
|
|
|
32
32
|
- D 错类候选(agg-judgments --retire-candidates);
|
|
33
33
|
- E 常驻面预算(rule-budget --all);
|
|
34
34
|
- E2 冷数据候选(agg-kb-usage --stale-days 90)——访问/命中遥测 + 置信度衰减,见 §5;
|
|
35
|
-
-
|
|
35
|
+
- G 主张依据(`claims.mjs recheck`)——只报告原文还在不在,退出码恒 0,见 §6;
|
|
36
|
+
- H 经验回放(`session-log.mjs digest`)——把会话失败/纠正/拒绝聚成摘要;**无日志时明确写“无输入”**;
|
|
37
|
+
- I 记忆表示(`memory-wiki.mjs --check`)——`wiki/_memory/` 是否与 claims/incidents/session-logs 同步;
|
|
38
|
+
- J 注入层预算与上浮候选(`memory-tier.mjs audit/suggest`)——200 行 / 25KB 预算,候选只读;
|
|
39
|
+
- K 交付结果指标(`outcome-metrics.mjs`)——首次过门率、复核采纳率、逃逸缺陷、评测通过率;
|
|
40
|
+
- F AI Judge 抽样审计简报。断依据会附在简报里。
|
|
36
41
|
|
|
37
42
|
## 3. 核验 AI Judge 抽样
|
|
38
43
|
|
|
@@ -56,8 +61,22 @@ node .agents/scripts/dream-run.mjs --execute # 执行安全修复(仅终态
|
|
|
56
61
|
2. 更新:走 wiki 技能更新知识;
|
|
57
62
|
3. 删除:**须用户单独指令**(根 AGENTS.md 不可逆操作红线)。
|
|
58
63
|
|
|
64
|
+
## 6. 记一条主张
|
|
65
|
+
|
|
66
|
+
未来会话会当真的规则或 wiki 事实,先落主张,再写进笔记:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node .agents/scripts/claims.mjs add --claim "一句话" --path <相对路径> --quote "文件里已有的原文"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- 依据必须是仓库里的原文(8 到 200 字),不是命令输出,也不是聊天复述。
|
|
73
|
+
- 屏幕上下次还能读到的状态不记。
|
|
74
|
+
- 账在 `workflow/claims.d/<YYYY-MM>.jsonl`,只追加。核对不改这些行。
|
|
75
|
+
- 报告里的 broken 只说明原文没了。读到之后登记,不当场改正文。
|
|
76
|
+
|
|
59
77
|
## 红线
|
|
60
78
|
|
|
61
79
|
- `--execute` 只做归档 + 索引重生成,不改写文档正文。
|
|
62
80
|
- 不自动 commit / push;删除 wiki 文件须用户单独指令。
|
|
63
|
-
- 本技能是执行链路:判断由 AI 执行,确定性脚本只做采样与证据收集(「确定性脚本管事实,模型管判断」)。
|
|
81
|
+
- 本技能是执行链路:判断由 AI 执行,确定性脚本只做采样与证据收集(「确定性脚本管事实,模型管判断」)。
|
|
82
|
+
- `recheck` 不写账、不改正文。原文还在不等于主张为真。
|
|
@@ -24,6 +24,22 @@ description: 盲评技能/提示词改动——A/B 两臂、同模型同上下
|
|
|
24
24
|
5. **判**:Δ 明显且翻转可解释 → 保留;Δ 接近 0 或负 → 回退/调整;翻转多 → 任务歧义,先修任务集。
|
|
25
25
|
6. **落账**:结论写任务文档或 `workflow/reviews.d/<当月>.md`;机制改动更新 `mechanism-registry.md`。
|
|
26
26
|
|
|
27
|
+
## 落凭证(行为评测门禁)
|
|
28
|
+
|
|
29
|
+
盲评结论要落成机器可核验的凭证,否则下次改技能时没人知道“上次到底测没测”:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node .agents/scripts/agent-eval.mjs check # 无当前内容签名的凭证 → 非零
|
|
33
|
+
node .agents/scripts/agent-eval.mjs record \
|
|
34
|
+
--pass-rate 0.9 --tasks 10 --model <评测模型>
|
|
35
|
+
node .agents/scripts/agent-eval.mjs status
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- 凭证按**敏感文件内容签名**(SHA-256)绑定,不认提交号;任何 `.agents/skills/**`、`commands/**`、`roles/**`、`model-roles.json`、`steering.json`、`pipeline.json` 变化都会让旧凭证失效。
|
|
39
|
+
- 通过率阈值、有效期、敏感面在 `.agents/config/agent-eval.json`;CI 在稳定前用 `check --advisory`,不要未评测就把 `advisory` 设为 `false`。
|
|
40
|
+
- 任务集可直接用 `.agents/evals/tasks.tsv`,跑完回填 `a`/`b` 两列。
|
|
41
|
+
- 新装没有凭证时严格 `check` 必然失败——这是要求先跑基线,不是安装缺陷;`record` 要求显式 `--pass-rate`、`--tasks >= minTasks`、非空 `--model`。
|
|
42
|
+
|
|
27
43
|
## 任务集模板
|
|
28
44
|
|
|
29
45
|
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: model-upgrade
|
|
3
|
+
description: 模型升级治理——别名/宿主模型变化时,先对当前评测敏感面跑行为评测、落凭证、写迁移说明,再升级;禁止静默换模型。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# model-upgrade — 模型升级治理
|
|
7
|
+
|
|
8
|
+
## 触发
|
|
9
|
+
|
|
10
|
+
- `flow-kit upgrade` 前后、宿主配置里的模型别名变化、`--model` 显式改角色模型。
|
|
11
|
+
- doctor 报 `model drift`:本地 `model-roles.local.json` 与已安装子代理 `model` 字段不一致。
|
|
12
|
+
- 用户说「换模型 / 升级模型 / 这个模型更便宜」。
|
|
13
|
+
|
|
14
|
+
## 为什么不是普通依赖升级
|
|
15
|
+
|
|
16
|
+
模型变化会改变**行为**,而静态门只证明代码还能跑。Playbook 的口径:
|
|
17
|
+
评测是 AI-native 的 QA;模型/提示/技能变更都应跑固定任务集。
|
|
18
|
+
|
|
19
|
+
## 步骤
|
|
20
|
+
|
|
21
|
+
1. **固定基线**:确认当前 `.agents/config/model-roles.local.json` 与已安装子代理的 `model` 字段一致。
|
|
22
|
+
2. **跑评测**:按 `.agents/skills/eval/SKILL.md` 用新模型跑 A/B;至少覆盖:
|
|
23
|
+
- 技能触发正/负例;
|
|
24
|
+
- 命令确认门顺序;
|
|
25
|
+
- 角色契约(越界即停);
|
|
26
|
+
- 一个已知答案的复核样本(`review-method/golden-set.md`)。
|
|
27
|
+
3. **落凭证**:
|
|
28
|
+
```bash
|
|
29
|
+
node .agents/scripts/agent-eval.mjs record --pass-rate <0-1> --tasks <N> --model <id> --note "upgrade <old> -> <new>"
|
|
30
|
+
node .agents/scripts/agent-eval.mjs check
|
|
31
|
+
```
|
|
32
|
+
4. **写迁移说明**:`workflow/model-upgrades.d/<YYYY-MM>.md` 一行一模型:
|
|
33
|
+
`日期 | 角色 | 旧 | 新 | 通过率 | Δ | 翻转任务 | 回退方式`。
|
|
34
|
+
5. **升级**:`flow-kit upgrade --target .`;doctor 通过后提交。
|
|
35
|
+
6. **回退**:保留旧 `model-roles.local.json` 副本;回退只改本地配置并重跑 `agent-eval check`。
|
|
36
|
+
|
|
37
|
+
## 红线
|
|
38
|
+
|
|
39
|
+
- 不在没有评测凭证时把 `agent-eval.json` 设为 `advisory: false` 后宣称“已评估”。
|
|
40
|
+
- 不把 `review` 与 `code` 配成同一模型后忽略告警(`REVIEW_SAME_AS_CODE`)。
|
|
41
|
+
- 不静默改写用户本地模型配置;显式配置永远优先。
|
|
@@ -24,6 +24,13 @@ description: 会话重入与中断落盘——接手、切换 worktree、压缩/
|
|
|
24
24
|
|
|
25
25
|
> L2/L3 的 plan 勾选态对齐口径单源 = `.agents/commands/stages.md` Build 章「会话重入」;本技能不复制,只补 L1 与跨 worktree 场景。
|
|
26
26
|
|
|
27
|
+
### 1.4 经验摘要装载(若存在)
|
|
28
|
+
|
|
29
|
+
若 `tmp/session-digest-*.md` 存在,先读它(失败/纠正/拒绝的最近摘要),再按 `workflow/claims.d/`
|
|
30
|
+
核对其中“未来会话会当真”的句子是否仍有原文依据。摘要缺失不阻塞重入;
|
|
31
|
+
但**不要把“没有摘要”当成“没有未决教训”**——按需跑
|
|
32
|
+
`node .agents/scripts/session-log.mjs digest --days 7`。
|
|
33
|
+
|
|
27
34
|
### 1.5 梦境报告装载(若存在)
|
|
28
35
|
|
|
29
36
|
若 `tmp/dream-report-*.md` 或 `tmp/dream-judge-brief-*.md` 存在(gitignore 运行态,删除可从 git + 台账重建),按 `.agents/skills/dream/SKILL.md` 装载:
|
|
@@ -45,6 +45,20 @@ ts phase decision why evidence result
|
|
|
45
45
|
|
|
46
46
|
交回前,用本 run 的 transcript 对账:每行是否对应真实决策/动作;evidence 是否能解析并证明该行;影响过工作但没记的分叉/pivot 是缺口,补上。审计不改故事——错行用新行 supersede。
|
|
47
47
|
|
|
48
|
+
## 经验日志(给 dreaming 的输入)
|
|
49
|
+
|
|
50
|
+
`decisions.tsv` 是审计轨迹;`.agents/cache/session-logs/` 是**经验**——dreaming 用它
|
|
51
|
+
对照原始记录纠错。收尾时只把真正值得下次复用的点写进去,不要复制整份 TSV:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
node .agents/scripts/session-log.mjs append --type failure --text "第一次假设错了:缓存不是瓶颈" --ref <file:line> --tag perf
|
|
55
|
+
node .agents/scripts/session-log.mjs append --type correction --text "测试必须先在 HEAD 上复现失败,再改实现" --tag verify
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
- `type` 闭集:`decision / failure / correction / refusal / note`。
|
|
59
|
+
- `--tag` 用来让 `memory-tier suggest` 发现重复模式(同类 ≥3 次才考虑上浮为规则)。
|
|
60
|
+
- 日志是运行态(gitignore),删除后可从审计轨迹与 git 重建;不要当权威。
|
|
61
|
+
|
|
48
62
|
## 跨模型复核
|
|
49
63
|
|
|
50
64
|
交回前,用**不同模型档**的子代理读轨迹 + transcript,标出用户该注意的点:证据弱/缺失、验证跳过或只在口头上、事后看有风险的决策、用户随手扫会漏的缺口。回复末尾给 `Attention` 段,首行 `reviewed by <model>`;`No flags` 是合法值。
|
|
@@ -19,6 +19,8 @@ description: 项目 wiki 整理与验证技能。负责将散落文档归位到
|
|
|
19
19
|
- **命名规范**:`<主题>-<关键词>[-范围/版本].ext`。
|
|
20
20
|
- **权威性**:`.md` 为内容源 $\rightarrow$ `.html` 为展示快照。冲突时以 `.md` 为准。
|
|
21
21
|
- **操作限制**:仅执行复制 (`Copy-Item`/`cp`)。删除原文件必须获得用户单独确认。
|
|
22
|
+
- **生成区**:`wiki/_memory/` 由 `node .agents/scripts/memory-wiki.mjs` 生成(claims/incidents/session-logs 的记忆表示),**禁止手改**;漂移用 `--check` 发现。
|
|
23
|
+
- **单写者**:并行 agent 写同一页面前先 `node .agents/scripts/path-lease.mjs acquire --path <page>`,写完 `release`;一页一 agent,禁止多人同时改一页。
|
|
22
24
|
|
|
23
25
|
## 标准操作流程
|
|
24
26
|
|
|
@@ -41,9 +43,10 @@ description: 项目 wiki 整理与验证技能。负责将散落文档归位到
|
|
|
41
43
|
每次改动后必须运行:
|
|
42
44
|
```bash
|
|
43
45
|
node .agents/scripts/verify-wiki-consistency.mjs
|
|
46
|
+
node .agents/scripts/memory-wiki.mjs --check # 记忆表示(wiki/_memory)是否最新
|
|
44
47
|
```
|
|
45
48
|
**验收标准**:
|
|
46
|
-
- `exit 0` 且输出 `✅ wiki
|
|
49
|
+
- `exit 0` 且输出 `✅ wiki 三方一致`;`memory-wiki --check` 无漂移(漂移则跑无参生成)。
|
|
47
50
|
- 检查项涵盖:磁盘 $\leftrightarrow$ INDEX $\leftrightarrow$ 看板 DATA $\leftrightarrow$ 数据维护台账 $\leftrightarrow$ 链接可达性。
|
|
48
51
|
|
|
49
52
|
## 维护须知
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
.agents/*.jsonl merge=jsonl-union
|
|
8
8
|
.agents/confirmations.d/*.jsonl merge=jsonl-union
|
|
9
9
|
workflow/gate-metrics.d/*.jsonl merge=jsonl-union
|
|
10
|
+
workflow/claims.d/*.jsonl merge=jsonl-union
|
|
10
11
|
|
|
11
12
|
# 工作流台账合并策略:三个生成物保留本侧,合并后跑 regen-ledgers 重生成;
|
|
12
13
|
# delegations.md 手工行纯追加 → 行级并集。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: ai-native-gates
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
verify:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-node@v4
|
|
14
|
+
with:
|
|
15
|
+
node-version: '22'
|
|
16
|
+
- name: Install (if package.json)
|
|
17
|
+
run: |
|
|
18
|
+
if [ -f package.json ]; then npm install; fi
|
|
19
|
+
- name: Static gates
|
|
20
|
+
run: node .agents/scripts/verify.mjs --full
|
|
21
|
+
- name: Local gate wiring audit
|
|
22
|
+
run: node .agents/scripts/check-local-gates.mjs
|
|
23
|
+
continue-on-error: true
|
|
24
|
+
- name: Behavior eval (advisory)
|
|
25
|
+
run: node .agents/scripts/agent-eval.mjs check --advisory
|
|
26
|
+
continue-on-error: true
|
|
27
|
+
- name: Pipeline state closure
|
|
28
|
+
run: node .agents/scripts/check-pipeline-state.mjs
|
|
29
|
+
continue-on-error: true
|
|
30
|
+
- name: Injected memory budget
|
|
31
|
+
run: node .agents/scripts/memory-tier.mjs audit
|
|
32
|
+
continue-on-error: true
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Azure Pipelines — AI-native 门禁
|
|
2
|
+
# 生成的默认档:main 全量、develop/PR 中档。tier=lean 时安装器不写本文件。
|
|
3
|
+
trigger:
|
|
4
|
+
branches:
|
|
5
|
+
include:
|
|
6
|
+
- main
|
|
7
|
+
- develop
|
|
8
|
+
pr:
|
|
9
|
+
branches:
|
|
10
|
+
include:
|
|
11
|
+
- main
|
|
12
|
+
- develop
|
|
13
|
+
|
|
14
|
+
pool:
|
|
15
|
+
vmImage: ubuntu-latest
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- task: NodeTool@0
|
|
19
|
+
inputs:
|
|
20
|
+
versionSpec: '22.x'
|
|
21
|
+
displayName: 'Use Node 22'
|
|
22
|
+
|
|
23
|
+
- script: |
|
|
24
|
+
if [ -f package.json ]; then
|
|
25
|
+
npm install
|
|
26
|
+
fi
|
|
27
|
+
displayName: 'Install (if package.json)'
|
|
28
|
+
|
|
29
|
+
- script: node .agents/scripts/verify.mjs --full
|
|
30
|
+
displayName: 'Static gates (verify --full)'
|
|
31
|
+
|
|
32
|
+
- script: node .agents/scripts/check-local-gates.mjs
|
|
33
|
+
displayName: 'Local gate wiring audit'
|
|
34
|
+
continueOnError: true
|
|
35
|
+
|
|
36
|
+
- script: node .agents/scripts/agent-eval.mjs check --advisory
|
|
37
|
+
displayName: 'Behavior eval (advisory; remove --advisory after baseline)'
|
|
38
|
+
continueOnError: true
|
|
39
|
+
|
|
40
|
+
- script: node .agents/scripts/check-pipeline-state.mjs
|
|
41
|
+
displayName: 'Pipeline state closure'
|
|
42
|
+
continueOnError: true
|
|
43
|
+
|
|
44
|
+
- script: node .agents/scripts/memory-tier.mjs audit
|
|
45
|
+
displayName: 'Injected memory budget'
|
|
46
|
+
continueOnError: true
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
{{stackAllowBashColon}} "Bash(npm run:*)",
|
|
5
|
+
"Bash(npm install:*)",
|
|
6
|
+
"Bash(npm ci:*)",
|
|
7
|
+
"Bash(node:*)",
|
|
8
|
+
"Bash(git status:*)",
|
|
9
|
+
"Bash(git diff:*)",
|
|
10
|
+
"Bash(git add:*)",
|
|
11
|
+
"Bash(git commit:*)",
|
|
12
|
+
"Bash(git log:*)",
|
|
13
|
+
"Bash(git push:*)",
|
|
14
|
+
"Bash(chrome:*)"
|
|
15
|
+
],
|
|
16
|
+
"deny": [
|
|
17
|
+
"Bash(dotnet ef:*)",
|
|
18
|
+
"Bash(git reset --hard:*)",
|
|
19
|
+
"Bash(git push --force:*)",
|
|
20
|
+
"Bash(git push -f:*)",
|
|
21
|
+
"Bash(drop database:*)",
|
|
22
|
+
"Bash(* --no-verify*)",
|
|
23
|
+
"Read(.env*)",
|
|
24
|
+
"Read(./secrets/**)",
|
|
25
|
+
"Read(~/.ssh/**)",
|
|
26
|
+
"Read(~/.aws/credentials)",
|
|
27
|
+
"Read(~/.config/gcloud/**)",
|
|
28
|
+
"WebFetch",
|
|
29
|
+
"Bash(curl *)",
|
|
30
|
+
"Bash(wget *)"
|
|
31
|
+
],
|
|
32
|
+
"ask": [
|
|
33
|
+
"Bash(git checkout:*)",
|
|
34
|
+
"Bash(git clean:*)",
|
|
35
|
+
"Bash(git branch -D:*)",
|
|
36
|
+
"Bash(rm -rf:*)"
|
|
37
|
+
],
|
|
38
|
+
"disableBypassPermissionsMode": "disable"
|
|
39
|
+
},
|
|
40
|
+
"allowManagedPermissionRulesOnly": true,
|
|
41
|
+
"sandbox": {
|
|
42
|
+
"enabled": true,
|
|
43
|
+
"failIfUnavailable": true,
|
|
44
|
+
"allowUnsandboxedCommands": false,
|
|
45
|
+
"network": {
|
|
46
|
+
"allowedDomains": [
|
|
47
|
+
"registry.npmjs.org",
|
|
48
|
+
"github.com",
|
|
49
|
+
"api.github.com"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"credentials": {
|
|
53
|
+
"files": [
|
|
54
|
+
{ "path": "~/.ssh", "mode": "deny" },
|
|
55
|
+
{ "path": "~/.aws/credentials", "mode": "deny" },
|
|
56
|
+
{ "path": "~/.config/gcloud", "mode": "deny" }
|
|
57
|
+
],
|
|
58
|
+
"envVars": [
|
|
59
|
+
{ "name": "ANTHROPIC_API_KEY", "mode": "deny" },
|
|
60
|
+
{ "name": "AWS_SECRET_ACCESS_KEY", "mode": "deny" },
|
|
61
|
+
{ "name": "GITHUB_TOKEN", "mode": "deny" }
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"allowManagedHooksOnly": true,
|
|
66
|
+
"disableSideloadFlags": true,
|
|
67
|
+
"strictKnownMarketplaces": true,
|
|
68
|
+
"allowManagedMcpServersOnly": true,
|
|
69
|
+
"requiredMinimumVersion": "2.1.193",
|
|
70
|
+
"hooks": {
|
|
71
|
+
"PreToolUse": [
|
|
72
|
+
{
|
|
73
|
+
"matcher": "Write|Edit|MultiEdit",
|
|
74
|
+
"hooks": [
|
|
75
|
+
{
|
|
76
|
+
"type": "command",
|
|
77
|
+
"command": "node \"$CLAUDE_PROJECT_DIR\"/.agents/hooks/pre-write-check.cjs",
|
|
78
|
+
"timeout": 120
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"matcher": "Bash",
|
|
84
|
+
"hooks": [
|
|
85
|
+
{
|
|
86
|
+
"type": "command",
|
|
87
|
+
"command": "node \"$CLAUDE_PROJECT_DIR\"/.agents/hooks/pre-shell-check.cjs",
|
|
88
|
+
"timeout": 800
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
"_comment": "Qoder 宿主本机接线(不入库,见 .git/info/exclude)。钩子实现单源 .agents/hooks/,本文件只留接线;permissions 镜像 .agents/settings.json 的 allow/deny/ask 基线。timeout 单位为秒。钩子走 exec 形式(command=node + args),省掉 bash 包装进程——shell 形式每次调用要 bash+node 两次 spawn,本会话实测有 2/20 次被宿主分发层报 Retry deadline exceeded 并整次拦下。",
|
|
3
3
|
"permissions": {
|
|
4
4
|
"allow": [
|
|
5
|
-
"Bash(
|
|
6
|
-
"Bash(dotnet run:*)",
|
|
7
|
-
"Bash(npm run:*)",
|
|
5
|
+
{{stackAllowBashColon}} "Bash(npm run:*)",
|
|
8
6
|
"Bash(npm install:*)",
|
|
9
7
|
"Bash(npm ci:*)",
|
|
10
8
|
"Bash(node:*)",
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Repository Guidelines
|
|
2
|
+
|
|
3
|
+
{{projectName}}。{{stackDescription}}。
|
|
4
|
+
|
|
5
|
+
## 1. 运行时联通 (Runtime Connectivity)
|
|
6
|
+
前端 dev {{webPort}} 连 API `http://localhost:{{apiPort}}`;API 须监听 {{apiPort}} 才联通。端口/工具缺陷/可执行文件解析机理等环境事实见 `.agents/notes/runtime-env.md` §6;各机绝对路径与版本自登记 `.agents/notes/runtime-env.local.md`。
|
|
7
|
+
|
|
8
|
+
## 2. 本地 Clone 必做 (Local Setup)
|
|
9
|
+
> 漏配则门禁静默失效,详见 `.agents/notes/runtime-env.md` §7。
|
|
10
|
+
- `git config core.hooksPath .githooks` 挂仓库自带钩子。
|
|
11
|
+
- `git config merge.ours.driver true` 启用声明为 `merge=ours` 的合并保护。
|
|
12
|
+
- `git config merge.jsonl-union.driver "node .agents/scripts/git-merge-jsonl.mjs %O %A %B"` 启用 `.agents/*.jsonl` 并集合并策略。
|
|
13
|
+
- **禁令**:commit / merge / push 三处一律禁 `--no-verify`。
|
|
14
|
+
- **自检**:`node .agents/scripts/check-local-gates.mjs --fix`
|
|
15
|
+
|
|
16
|
+
## 3. 全局红线 (Universal Laws)
|
|
17
|
+
- **安全/隐私**:不提交密钥、令牌、`.env` 或真实用户数据;发现敏感信息立即停止扩散。
|
|
18
|
+
- **不可逆操作**:默认不执行生产部署、远程推送、数据删除等操作 → 须用户明确要求且不得绕过门禁。
|
|
19
|
+
- **最小改动**:优先做满足需求的最小改动,禁止顺手重构无关代码、修改格式或修复无关 Lint 警告。
|
|
20
|
+
- **单源纪律**:路径 / 版本 / 缺陷等环境事实只登记于 `.agents/notes/runtime-env.md` §6,别处禁止复制原文。
|
|
21
|
+
- **上下文纪律**:批量取数、长日志、大 diff、全仓盘点交子代理,主线只收结论摘要与 `file:line`;子代理回报写结论与证据路径,禁把原始输出整段搬回主线。
|
|
22
|
+
- **提交规范**:Conventional Commits,类型限 `feat/fix/docs/style/refactor/perf/chore`。
|
|
23
|
+
|
|
24
|
+
## 4. 阶段路由表 (Workflow Routing)
|
|
25
|
+
按任务类型跳转对应指令文件:
|
|
26
|
+
|
|
27
|
+
| 任务类型 | 指令文件 | 核心职责 |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| **L0 极简道** | `.agents/commands/new-task.md` | 全机器可判的极小改动,与 L1 同走快速道:改码 → `verify --face`/`--scope` → 单笔 commit |
|
|
30
|
+
| **L1 快速道** | `.agents/commands/new-task.md` | 定级、实现、`verify --scope`、单笔关单(仅独立关单场景开技能)。不打开 `stages.md` |
|
|
31
|
+
| **新需求 / 功能** | `.agents/commands/new-task.md` | L1 走快速道;L2/L3 才进 `stages.md` |
|
|
32
|
+
| **L2/L3 阶段流** | `.agents/commands/stages.md` | 四章 Plan→Design→Build→Test:立 intent → 起 spec → 起 plan + 实现 → 静态门 → UI 实测 → 独立复核 → 关单 |
|
|
33
|
+
| **修复 / 事故** | `.agents/commands/maintain.md` | L1 非事故只做 §1 立档后回快速道。线上事故与 L2/L3 读全文 |
|
|
34
|
+
| **上线 / 发布** | `.agents/commands/deploy.md` | 静态门 → 回归检查(含 DB 验证)→ 授权 → PR 审查合并 |
|
|
35
|
+
| **合入评审** | `.agents/commands/review.md` | P0/P1/P2 分级评审 → 结论定性 |
|
|
36
|
+
| **自动化驱动** | `.agents/commands/pipeline-run.md` | 实验位保留待用:状态机尚未验证、零 run 记录,启用前须补状态机测试 |
|
|
37
|
+
| **无人值守 / 过夜** | `.agents/skills/autonomous-run/SKILL.md` | 长跑合同:逐单元签收 + 停机条件;门禁与确认门不豁免 |
|
|
38
|
+
| **性能 / 视觉对齐** | `.agents/skills/perf/SKILL.md` · `.agents/skills/visual-parity/SKILL.md` | 先基线后单变量;像素对齐只改样式 |
|
|
39
|
+
|
|
40
|
+
> **纠偏短名**:任务中途报短名即可,索引 `.agents/config/principles.md`。
|
|
41
|
+
|
|
42
|
+
> **引擎面豁免**:改 AI-Native 治理引擎自身,**豁免工作流三件套**——不生成 intents/specs/plans、不走确认门,Conventional Commits 直接变更。引擎面 = `.agents/` 全部、`.githooks/`、`azure-pipelines.yml`、workflow/ 模板与台账、根 `package.json`、宿主适配目录;其中本机私有宿主目录不入库。**wiki 豁免**:调整 `wiki/` 知识文档内容(含 INDEX 与看板)同享上述豁免。**边界**:git 钩子与静态门照常执行;删除 wiki 文件仍须用户单独指令;数据维护 SQL 的**执行**不豁免。
|
|
43
|
+
|
|
44
|
+
## 5. 目录级规则 (Directory-level Rules)
|
|
45
|
+
**禁止回填本文档**。具体实现细节请查阅对应目录的 `AGENTS.md`:
|
|
46
|
+
- **后端**: `backend/AGENTS.md`
|
|
47
|
+
- **前端**: `frontend/AGENTS.md`
|
|
48
|
+
- **成对文档同步**:按 `wiki/INDEX.md` 登记的成对文档,修改任一份须同步另一份,并同步更新 `wiki/INDEX.md` 与 `wiki/知识沉淀总览.html`。
|
|
49
|
+
|
|
50
|
+
## 6. 项目适配区 (Project Adaptations)
|
|
51
|
+
- **构建/测试/类型检查**: 命令清单单源 `.agents/hooks/commit-check.config.json`。
|
|
52
|
+
- **冒烟探活**: 脚本路径与端点判定事实见 `.agents/notes/runtime-env.md` §6.1。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Repository Guidelines
|
|
2
|
+
|
|
3
|
+
{{projectName}}。{{stackDescription}}。
|
|
4
|
+
|
|
5
|
+
## 1. 运行时联通 (Runtime Connectivity)
|
|
6
|
+
前端 dev {{webPort}} 连 API `http://localhost:{{apiPort}}`;API 须监听 {{apiPort}} 才联通。端口/工具缺陷/可执行文件解析机理等环境事实见 `.agents/notes/runtime-env.md` §6;各机绝对路径与版本自登记 `.agents/notes/runtime-env.local.md`。
|
|
7
|
+
|
|
8
|
+
## 2. 本地 Clone 必做 (Local Setup)
|
|
9
|
+
> 漏配则门禁静默失效,详见 `.agents/notes/runtime-env.md` §7。
|
|
10
|
+
- `git config core.hooksPath .githooks` 挂仓库自带钩子。
|
|
11
|
+
- `git config merge.ours.driver true` 启用声明为 `merge=ours` 的合并保护。
|
|
12
|
+
- `git config merge.jsonl-union.driver "node .agents/scripts/git-merge-jsonl.mjs %O %A %B"` 启用 `.agents/*.jsonl` 并集合并策略。
|
|
13
|
+
- **禁令**:commit / merge / push 三处一律禁 `--no-verify`。
|
|
14
|
+
- **自检**:`node .agents/scripts/check-local-gates.mjs --fix`
|
|
15
|
+
|
|
16
|
+
## 3. 全局红线 (Universal Laws)
|
|
17
|
+
- **安全/隐私**:不提交密钥、令牌、`.env` 或真实用户数据;发现敏感信息立即停止扩散。
|
|
18
|
+
- **不可逆操作**:默认不执行生产部署、远程推送、数据删除等操作 → 须用户明确要求且不得绕过门禁。
|
|
19
|
+
- **最小改动**:优先做满足需求的最小改动,禁止顺手重构无关代码、修改格式或修复无关 Lint 警告。
|
|
20
|
+
- **单源纪律**:路径 / 版本 / 缺陷等环境事实只登记于 `.agents/notes/runtime-env.md` §6,别处禁止复制原文。
|
|
21
|
+
- **上下文纪律**:批量取数、长日志、大 diff、全仓盘点交子代理,主线只收结论摘要与 `file:line`;子代理回报写结论与证据路径,禁把原始输出整段搬回主线。
|
|
22
|
+
- **提交规范**:Conventional Commits,类型限 `feat/fix/docs/style/refactor/perf/chore`。
|
|
23
|
+
|
|
24
|
+
## 4. 阶段路由表 (Workflow Routing)
|
|
25
|
+
按任务类型跳转对应指令文件:
|
|
26
|
+
|
|
27
|
+
| 任务类型 | 指令文件 | 核心职责 |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| **L0 极简道** | `.agents/commands/new-task.md` | 全机器可判的极小改动,与 L1 同走快速道:改码 → `verify --face`/`--scope` → 单笔 commit |
|
|
30
|
+
| **L1 快速道** | `.agents/commands/new-task.md` | 定级、实现、`verify --scope`、单笔关单(仅独立关单场景开技能)。不打开 `stages.md` |
|
|
31
|
+
| **新需求 / 功能** | `.agents/commands/new-task.md` | L1 走快速道;L2/L3 才进 `stages.md` |
|
|
32
|
+
| **L2/L3 阶段流** | `.agents/commands/stages.md` | 四章 Plan→Design→Build→Test:立 intent → 起 spec → 起 plan + 实现 → 静态门 → UI 实测 → 独立复核 → 关单 |
|
|
33
|
+
| **修复 / 事故** | `.agents/commands/maintain.md` | L1 非事故只做 §1 立档后回快速道。线上事故与 L2/L3 读全文 |
|
|
34
|
+
| **上线 / 发布** | `.agents/commands/deploy.md` | 静态门 → 回归检查(含 DB 验证)→ 授权 → PR 审查合并 |
|
|
35
|
+
| **合入评审** | `.agents/commands/review.md` | P0/P1/P2 分级评审 → 结论定性 |
|
|
36
|
+
| **自动化驱动** | `.agents/commands/pipeline-run.md` | 实验位保留待用:状态机尚未验证、零 run 记录,启用前须补状态机测试 |
|
|
37
|
+
| **无人值守 / 过夜** | `.agents/skills/autonomous-run/SKILL.md` | 长跑合同:逐单元签收 + 停机条件;门禁与确认门不豁免 |
|
|
38
|
+
| **性能 / 视觉对齐** | `.agents/skills/perf/SKILL.md` · `.agents/skills/visual-parity/SKILL.md` | 先基线后单变量;像素对齐只改样式 |
|
|
39
|
+
|
|
40
|
+
> **纠偏短名**:任务中途报短名即可,索引 `.agents/config/principles.md`。
|
|
41
|
+
|
|
42
|
+
> **引擎面豁免**:改 AI-Native 治理引擎自身,**豁免工作流三件套**——不生成 intents/specs/plans、不走确认门,Conventional Commits 直接变更。引擎面 = `.agents/` 全部、`.githooks/`、`azure-pipelines.yml`、workflow/ 模板与台账、根 `package.json`、宿主适配目录;其中本机私有宿主目录不入库。**wiki 豁免**:调整 `wiki/` 知识文档内容(含 INDEX 与看板)同享上述豁免。**边界**:git 钩子与静态门照常执行;删除 wiki 文件仍须用户单独指令;数据维护 SQL 的**执行**不豁免。
|
|
43
|
+
|
|
44
|
+
## 5. 目录级规则 (Directory-level Rules)
|
|
45
|
+
**禁止回填本文档**。具体实现细节请查阅对应目录的 `AGENTS.md`:
|
|
46
|
+
- **后端**: `backend/AGENTS.md`
|
|
47
|
+
- **前端**: `frontend/AGENTS.md`
|
|
48
|
+
- **成对文档同步**:按 `wiki/INDEX.md` 登记的成对文档,修改任一份须同步另一份,并同步更新 `wiki/INDEX.md` 与 `wiki/知识沉淀总览.html`。
|
|
49
|
+
|
|
50
|
+
## 6. 项目适配区 (Project Adaptations)
|
|
51
|
+
- **构建/测试/类型检查**: 命令清单单源 `.agents/hooks/commit-check.config.json`。
|
|
52
|
+
- **冒烟探活**: 脚本路径与端点判定事实见 `.agents/notes/runtime-env.md` §6.1。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Repository Guidelines
|
|
2
|
+
|
|
3
|
+
{{projectName}}。{{stackDescription}}。
|
|
4
|
+
|
|
5
|
+
## 1. 运行时联通 (Runtime Connectivity)
|
|
6
|
+
前端 dev {{webPort}} 连 API `http://localhost:{{apiPort}}`;API 须监听 {{apiPort}} 才联通。端口/工具缺陷/可执行文件解析机理等环境事实见 `.agents/notes/runtime-env.md` §6;各机绝对路径与版本自登记 `.agents/notes/runtime-env.local.md`。
|
|
7
|
+
|
|
8
|
+
## 2. 本地 Clone 必做 (Local Setup)
|
|
9
|
+
> 漏配则门禁静默失效,详见 `.agents/notes/runtime-env.md` §7。
|
|
10
|
+
- `git config core.hooksPath .githooks` 挂仓库自带钩子。
|
|
11
|
+
- `git config merge.ours.driver true` 启用声明为 `merge=ours` 的合并保护。
|
|
12
|
+
- `git config merge.jsonl-union.driver "node .agents/scripts/git-merge-jsonl.mjs %O %A %B"` 启用 `.agents/*.jsonl` 并集合并策略。
|
|
13
|
+
- **禁令**:commit / merge / push 三处一律禁 `--no-verify`。
|
|
14
|
+
- **自检**:`node .agents/scripts/check-local-gates.mjs --fix`
|
|
15
|
+
|
|
16
|
+
## 3. 全局红线 (Universal Laws)
|
|
17
|
+
- **安全/隐私**:不提交密钥、令牌、`.env` 或真实用户数据;发现敏感信息立即停止扩散。
|
|
18
|
+
- **不可逆操作**:默认不执行生产部署、远程推送、数据删除等操作 → 须用户明确要求且不得绕过门禁。
|
|
19
|
+
- **最小改动**:优先做满足需求的最小改动,禁止顺手重构无关代码、修改格式或修复无关 Lint 警告。
|
|
20
|
+
- **单源纪律**:路径 / 版本 / 缺陷等环境事实只登记于 `.agents/notes/runtime-env.md` §6,别处禁止复制原文。
|
|
21
|
+
- **上下文纪律**:批量取数、长日志、大 diff、全仓盘点交子代理,主线只收结论摘要与 `file:line`;子代理回报写结论与证据路径,禁把原始输出整段搬回主线。
|
|
22
|
+
- **提交规范**:Conventional Commits,类型限 `feat/fix/docs/style/refactor/perf/chore`。
|
|
23
|
+
|
|
24
|
+
## 4. 阶段路由表 (Workflow Routing)
|
|
25
|
+
按任务类型跳转对应指令文件:
|
|
26
|
+
|
|
27
|
+
| 任务类型 | 指令文件 | 核心职责 |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| **L0 极简道** | `.agents/commands/new-task.md` | 全机器可判的极小改动,与 L1 同走快速道:改码 → `verify --face`/`--scope` → 单笔 commit |
|
|
30
|
+
| **L1 快速道** | `.agents/commands/new-task.md` | 定级、实现、`verify --scope`、单笔关单(仅独立关单场景开技能)。不打开 `stages.md` |
|
|
31
|
+
| **新需求 / 功能** | `.agents/commands/new-task.md` | L1 走快速道;L2/L3 才进 `stages.md` |
|
|
32
|
+
| **L2/L3 阶段流** | `.agents/commands/stages.md` | 四章 Plan→Design→Build→Test:立 intent → 起 spec → 起 plan + 实现 → 静态门 → UI 实测 → 独立复核 → 关单 |
|
|
33
|
+
| **修复 / 事故** | `.agents/commands/maintain.md` | L1 非事故只做 §1 立档后回快速道。线上事故与 L2/L3 读全文 |
|
|
34
|
+
| **上线 / 发布** | `.agents/commands/deploy.md` | 静态门 → 回归检查(含 DB 验证)→ 授权 → PR 审查合并 |
|
|
35
|
+
| **合入评审** | `.agents/commands/review.md` | P0/P1/P2 分级评审 → 结论定性 |
|
|
36
|
+
| **自动化驱动** | `.agents/commands/pipeline-run.md` | 实验位保留待用:状态机尚未验证、零 run 记录,启用前须补状态机测试 |
|
|
37
|
+
| **无人值守 / 过夜** | `.agents/skills/autonomous-run/SKILL.md` | 长跑合同:逐单元签收 + 停机条件;门禁与确认门不豁免 |
|
|
38
|
+
| **性能 / 视觉对齐** | `.agents/skills/perf/SKILL.md` · `.agents/skills/visual-parity/SKILL.md` | 先基线后单变量;像素对齐只改样式 |
|
|
39
|
+
|
|
40
|
+
> **纠偏短名**:任务中途报短名即可,索引 `.agents/config/principles.md`。
|
|
41
|
+
|
|
42
|
+
> **引擎面豁免**:改 AI-Native 治理引擎自身,**豁免工作流三件套**——不生成 intents/specs/plans、不走确认门,Conventional Commits 直接变更。引擎面 = `.agents/` 全部、`.githooks/`、`azure-pipelines.yml`、workflow/ 模板与台账、根 `package.json`、宿主适配目录;其中本机私有宿主目录不入库。**wiki 豁免**:调整 `wiki/` 知识文档内容(含 INDEX 与看板)同享上述豁免。**边界**:git 钩子与静态门照常执行;删除 wiki 文件仍须用户单独指令;数据维护 SQL 的**执行**不豁免。
|
|
43
|
+
|
|
44
|
+
## 5. 目录级规则 (Directory-level Rules)
|
|
45
|
+
**禁止回填本文档**。具体实现细节请查阅对应目录的 `AGENTS.md`:
|
|
46
|
+
- **后端**: `backend/AGENTS.md`
|
|
47
|
+
- **前端**: `frontend/AGENTS.md`
|
|
48
|
+
- **成对文档同步**:按 `wiki/INDEX.md` 登记的成对文档,修改任一份须同步另一份,并同步更新 `wiki/INDEX.md` 与 `wiki/知识沉淀总览.html`。
|
|
49
|
+
|
|
50
|
+
## 6. 项目适配区 (Project Adaptations)
|
|
51
|
+
- **构建/测试/类型检查**: 命令清单单源 `.agents/hooks/commit-check.config.json`。
|
|
52
|
+
- **冒烟探活**: 脚本路径与端点判定事实见 `.agents/notes/runtime-env.md` §6.1。
|