add-coder 0.3.26 → 0.3.28
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/README.md +282 -155
- package/dist/index.js +481 -209
- package/package.json +15 -4
- package/templates/.add-coder-src-hash.json +186 -185
- package/templates/adapters/claude/hooks/doc-format-guard.ts +32 -0
- package/templates/adapters/claude/hooks/lib/claude-env.ts +7 -0
- package/templates/adapters/claude/hooks/notification.ts +24 -0
- package/templates/adapters/claude/hooks/permission-denied.ts +33 -0
- package/templates/adapters/claude/hooks/permission-gate.ts +12 -0
- package/templates/adapters/claude/hooks/post-tool-failure.ts +4 -0
- package/templates/adapters/claude/hooks/post-tool-use.ts +17 -0
- package/templates/adapters/claude/hooks/pre-compact.ts +10 -0
- package/templates/adapters/claude/hooks/pre-tool-use.ts +81 -0
- package/templates/adapters/claude/hooks/prompt-submit.ts +82 -0
- package/templates/adapters/claude/hooks/review-checklist.ts +4 -0
- package/templates/adapters/claude/hooks/session-end.ts +10 -0
- package/templates/adapters/claude/hooks/session-start.ts +24 -0
- package/templates/adapters/claude/hooks/stop-check.ts +15 -0
- package/templates/adapters/claude/hooks/stop-failure.ts +34 -0
- package/templates/adapters/claude/hooks/subagent-guard.ts +25 -0
- package/templates/adapters/claude/hooks/subagent-stop.ts +12 -0
- package/templates/adapters/claude/settings.json +13 -13
- package/templates/adapters/codex/config.toml.example +12 -0
- package/templates/adapters/codex/hooks/doc-format-guard.ts +30 -0
- package/templates/adapters/codex/hooks/notification.ts +26 -0
- package/templates/adapters/codex/hooks/permission-gate.ts +15 -0
- package/templates/adapters/codex/hooks/post-tool-failure.ts +14 -0
- package/templates/adapters/codex/hooks/post-tool-use.ts +85 -0
- package/templates/adapters/codex/hooks/pre-compact.ts +20 -0
- package/templates/adapters/codex/hooks/pre-tool-use.ts +141 -0
- package/templates/adapters/codex/hooks/prompt-submit.ts +38 -0
- package/templates/adapters/codex/hooks/review-checklist.ts +5 -0
- package/templates/adapters/codex/hooks/session-end.ts +19 -0
- package/templates/adapters/codex/hooks/session-start.ts +45 -0
- package/templates/adapters/codex/hooks/stop-check.ts +59 -0
- package/templates/adapters/codex/hooks/subagent-guard.ts +22 -0
- package/templates/adapters/codex/hooks/subagent-stop.ts +20 -0
- package/templates/adapters/codex/hooks.json +67 -1
- package/templates/adapters/qoder/hooks/doc-format-guard.ts +34 -0
- package/templates/adapters/qoder/hooks/lib/context-inject.ts +61 -0
- package/templates/adapters/qoder/hooks/lib/qoder-env.ts +23 -0
- package/templates/adapters/qoder/hooks/lib/review-checklist.ts +5 -0
- package/templates/adapters/qoder/hooks/notification.ts +34 -0
- package/templates/adapters/qoder/hooks/permission-gate.ts +26 -0
- package/templates/adapters/qoder/hooks/post-tool-failure.ts +30 -0
- package/templates/adapters/qoder/hooks/post-tool-use.ts +32 -0
- package/templates/adapters/qoder/hooks/pre-compact.ts +16 -0
- package/templates/adapters/qoder/hooks/pre-tool-use.ts +112 -0
- package/templates/adapters/qoder/hooks/prompt-submit.ts +66 -0
- package/templates/adapters/qoder/hooks/review-checklist.ts +24 -0
- package/templates/adapters/qoder/hooks/session-end.ts +27 -0
- package/templates/adapters/qoder/hooks/session-start.ts +83 -0
- package/templates/adapters/qoder/hooks/stop-check.ts +69 -0
- package/templates/adapters/qoder/hooks/subagent-guard.ts +16 -0
- package/templates/adapters/qoder/hooks/subagent-stop.ts +33 -0
- package/templates/adapters/qoder/settings.json +13 -13
- package/templates/adapters/trae/hooks/doc-format-guard.ts +30 -0
- package/templates/adapters/trae/hooks/notification.ts +22 -0
- package/templates/adapters/trae/hooks/permission-gate.ts +15 -0
- package/templates/adapters/trae/hooks/post-tool-failure.ts +14 -0
- package/templates/adapters/trae/hooks/post-tool-use.ts +24 -0
- package/templates/adapters/trae/hooks/pre-compact.ts +15 -0
- package/templates/adapters/trae/hooks/pre-tool-use.ts +40 -0
- package/templates/adapters/trae/hooks/prompt-submit.ts +29 -0
- package/templates/adapters/trae/hooks/review-checklist.ts +5 -0
- package/templates/adapters/trae/hooks/session-end.ts +16 -0
- package/templates/adapters/trae/hooks/session-start.ts +15 -0
- package/templates/adapters/trae/hooks/stop-check.ts +20 -0
- package/templates/adapters/trae/hooks/subagent-guard.ts +22 -0
- package/templates/adapters/trae/hooks/subagent-stop.ts +15 -0
- package/templates/adapters/trae/hooks.json +1 -1
- package/templates/adapters/vscode/hooks/doc-format-guard.ts +27 -0
- package/templates/adapters/vscode/hooks/notification.ts +22 -0
- package/templates/adapters/vscode/hooks/permission-gate.ts +15 -0
- package/templates/adapters/vscode/hooks/post-tool-failure.ts +32 -0
- package/templates/adapters/vscode/hooks/post-tool-use.ts +25 -0
- package/templates/adapters/vscode/hooks/pre-compact.ts +15 -0
- package/templates/adapters/vscode/hooks/pre-tool-use.ts +78 -0
- package/templates/adapters/vscode/hooks/prompt-submit.ts +74 -0
- package/templates/adapters/vscode/hooks/review-checklist.ts +5 -0
- package/templates/adapters/vscode/hooks/session-end.ts +16 -0
- package/templates/adapters/vscode/hooks/session-start.ts +24 -0
- package/templates/adapters/vscode/hooks/stop-check.ts +21 -0
- package/templates/adapters/vscode/hooks/subagent-guard.ts +21 -0
- package/templates/adapters/vscode/hooks/subagent-stop.ts +15 -0
- package/templates/core/docs/ADD-governance-claude-code.md +4 -4
- package/templates/core/docs/ADD-governance-codex.md +6 -6
- package/templates/core/docs/ADD-governance-qoder-cn.md +5 -5
- package/templates/core/docs/ADD-governance-trae.md +3 -3
- package/templates/core/docs/ADD-governance-vscode-copilot.md +22 -23
- package/templates/core/governance/audit-bridge.ts +47 -0
- package/templates/core/governance/common.ts +299 -0
- package/templates/core/governance/context-inject.ts +53 -0
- package/templates/core/governance/doc-format-guard.ts +440 -0
- package/templates/core/governance/notification-router.ts +62 -0
- package/templates/core/governance/notify.ts +66 -0
- package/templates/core/governance/permission-gate-router.ts +42 -0
- package/templates/core/governance/post-tool-failure-router.ts +56 -0
- package/templates/core/governance/post-tool-router.ts +212 -0
- package/templates/core/governance/pre-compact-guard.ts +41 -0
- package/templates/core/governance/pre-tool-guard.ts +309 -0
- package/templates/core/governance/preload-templates.ts +241 -0
- package/templates/core/governance/prompt-router.ts +222 -0
- package/templates/core/governance/review-checklist-guard.ts +186 -0
- package/templates/core/governance/rules.ts +720 -0
- package/templates/core/governance/session-end.ts +88 -0
- package/templates/core/governance/session-start-guard.ts +99 -0
- package/templates/core/governance/state-detect.ts +6 -0
- package/templates/core/governance/stop-router.ts +140 -0
- package/templates/core/governance/subagent-guard-router.ts +35 -0
- package/templates/core/governance/subagent-stop-router.ts +93 -0
- package/templates/core/governance/subagent-stop.ts +75 -0
- package/templates/core/governance/vocabulary.ts +109 -0
- package/templates/core/hooks/doc-format-guard.ts +21 -0
- package/templates/core/hooks/notification.ts +11 -0
- package/templates/core/hooks/permission-gate.ts +7 -0
- package/templates/core/hooks/post-tool-failure.ts +7 -0
- package/templates/core/hooks/post-tool-use.ts +23 -0
- package/templates/core/hooks/pre-compact.ts +9 -0
- package/templates/core/hooks/pre-tool-use.ts +30 -0
- package/templates/core/hooks/prompt-submit.ts +11 -0
- package/templates/core/hooks/review-checklist.ts +4 -0
- package/templates/core/hooks/session-end.ts +10 -0
- package/templates/core/hooks/session-start.ts +9 -0
- package/templates/core/hooks/stop-check.ts +14 -0
- package/templates/core/hooks/subagent-guard.ts +8 -0
- package/templates/core/hooks/subagent-stop.ts +9 -0
- package/templates/core/prisma/add.prisma +140 -82
- package/templates/core/rules/project_rules.md +27 -24
- package/templates/core/scripts/db-ensure.sh +8 -0
- package/templates/core/scripts/gen-plan-index.sh +4 -15
- package/templates/core/scripts/mcp-server/notifications/hitl.ts +9 -1
- package/templates/core/scripts/mcp-server/notifications/hook.ts +25 -9
- package/templates/core/scripts/mcp-server/resources/hitl-approval-widget.ts +34 -0
- package/templates/core/scripts/mcp-server/resources/hook-events-report.ts +14 -2
- package/templates/core/scripts/mcp-server/resources/index.ts +2 -0
- package/templates/core/scripts/mcp-server/sampling/review.ts +25 -10
- package/templates/core/scripts/mcp-server/shared/db-types.ts +33 -8
- package/templates/core/scripts/mcp-server/shared/dps-scoring.strategy.ts +1 -1
- package/templates/core/scripts/mcp-server/shared/env.ts +28 -8
- package/templates/core/scripts/mcp-server/shared/fs.ts +3 -0
- package/templates/core/scripts/mcp-server/shared/hitl-interaction.strategy.ts +2 -3
- package/templates/core/scripts/mcp-server/shared/hitl-lifecycle-mutation.ts +129 -0
- package/templates/core/scripts/mcp-server/shared/hitl-proposal-mutation.ts +98 -0
- package/templates/core/scripts/mcp-server/shared/hitl-ui.ts +3 -0
- package/templates/core/scripts/mcp-server/shared/plan-lifecycle-events.ts +62 -0
- package/templates/core/scripts/mcp-server/shared/plan-lifecycle-mutation.ts +78 -0
- package/templates/core/scripts/mcp-server/shared/plan-lifecycle-subscriber.ts +145 -0
- package/templates/core/scripts/mcp-server/shared/plan-lifecycle.ts +153 -0
- package/templates/core/scripts/mcp-server/shared/plan-round-events.ts +56 -0
- package/templates/core/scripts/mcp-server/shared/plan-round-mutation.ts +143 -0
- package/templates/core/scripts/mcp-server/shared/plan-round-store.ts +47 -0
- package/templates/core/scripts/mcp-server/shared/plan-round-subscriber.ts +99 -0
- package/templates/core/scripts/mcp-server/shared/plan-status-store.ts +37 -0
- package/templates/core/scripts/mcp-server/shared/plan-tracking-mutation.ts +71 -0
- package/templates/core/scripts/mcp-server/shared/prisma.ts +12 -6
- package/templates/core/scripts/mcp-server/shared/project-root-strategy.ts +1 -2
- package/templates/core/scripts/mcp-server/shared/quant-recheck.strategy.ts +16 -0
- package/templates/core/scripts/mcp-server/shared/redact.ts +28 -0
- package/templates/core/scripts/mcp-server/shared/response.ts +3 -2
- package/templates/core/scripts/mcp-server/shared/runtime-context.ts +77 -0
- package/templates/core/scripts/mcp-server/shared/schema-topology.ts +159 -0
- package/templates/core/scripts/mcp-server/tools/audit.ts +49 -7
- package/templates/core/scripts/mcp-server/tools/context.ts +117 -121
- package/templates/core/scripts/mcp-server/tools/contract.ts +34 -9
- package/templates/core/scripts/mcp-server/tools/gateway/check_add_route_status.ts +50 -3
- package/templates/core/scripts/mcp-server/tools/gateway/check_doc_similarity.ts +218 -0
- package/templates/core/scripts/mcp-server/tools/gateway/check_dps.ts +22 -7
- package/templates/core/scripts/mcp-server/tools/gateway/check_rahs.ts +86 -4
- package/templates/core/scripts/mcp-server/tools/gateway/check_spec_sync.ts +19 -6
- package/templates/core/scripts/mcp-server/tools/gateway/index.ts +2 -0
- package/templates/core/scripts/mcp-server/tools/hitl.ts +160 -75
- package/templates/core/scripts/mcp-server/tools/hook-event-report.ts +9 -2
- package/templates/core/scripts/mcp-server/tools/index.ts +69 -3
- package/templates/core/scripts/mcp-server/tools/plan.ts +152 -17
- package/templates/core/scripts/mcp-server/tools/review.ts +44 -15
- package/templates/core/scripts/mcp-server.ts +60 -1
- package/templates/core/scripts/plan-status-bridge.ts +26 -0
- package/templates/core/skills/add-paradigm/SKILL.md +2 -2
- package/templates/core/templates/add-route-template.schema.json +24 -56
- package/templates/core/templates/collab-contract-template.md +1 -1
- package/templates/core/templates/handoff-multi-round-template.schema.json +48 -0
- package/templates/core/templates/handoff-single-round-template.schema.json +92 -0
- package/templates/core/templates/handoff-single-round.schema.json +1 -1
- package/templates/core/templates/hitl-approval-widget.html +222 -37
- package/templates/core/templates/spec-template.schema.json +9 -46
- package/templates/core/templates/standard-plan-template.schema.json +1 -1
- package/templates/core/templates/tasks-template.schema.json +13 -54
- package/templates/adapters/claude/hooks/doc-format-guard.sh +0 -202
- package/templates/adapters/claude/hooks/lib/common.sh +0 -261
- package/templates/adapters/claude/hooks/lib/context-inject.sh +0 -96
- package/templates/adapters/claude/hooks/lib/notify.sh +0 -34
- package/templates/adapters/claude/hooks/lib/preload-templates.sh +0 -187
- package/templates/adapters/claude/hooks/lib/session-end.sh +0 -76
- package/templates/adapters/claude/hooks/lib/state-detect.sh +0 -117
- package/templates/adapters/claude/hooks/lib/subagent-stop.sh +0 -90
- package/templates/adapters/claude/hooks/lib/vocabulary.sh +0 -56
- package/templates/adapters/claude/hooks/notification.sh +0 -45
- package/templates/adapters/claude/hooks/permission-denied.sh +0 -42
- package/templates/adapters/claude/hooks/permission-gate.sh +0 -18
- package/templates/adapters/claude/hooks/post-tool-failure.sh +0 -10
- package/templates/adapters/claude/hooks/post-tool-use.sh +0 -35
- package/templates/adapters/claude/hooks/pre-compact.sh +0 -37
- package/templates/adapters/claude/hooks/pre-tool-use.sh +0 -153
- package/templates/adapters/claude/hooks/prompt-submit.sh +0 -99
- package/templates/adapters/claude/hooks/review-checklist.sh +0 -10
- package/templates/adapters/claude/hooks/session-end.sh +0 -21
- package/templates/adapters/claude/hooks/session-start.sh +0 -36
- package/templates/adapters/claude/hooks/stop-check.sh +0 -45
- package/templates/adapters/claude/hooks/stop-failure.sh +0 -44
- package/templates/adapters/claude/hooks/subagent-guard.sh +0 -36
- package/templates/adapters/claude/hooks/subagent-stop.sh +0 -20
- package/templates/adapters/codex/hooks/doc-format-guard.sh +0 -261
- package/templates/adapters/codex/hooks/lib/common.sh +0 -261
- package/templates/adapters/codex/hooks/lib/context-inject.sh +0 -96
- package/templates/adapters/codex/hooks/lib/notify.sh +0 -34
- package/templates/adapters/codex/hooks/lib/preload-templates.sh +0 -187
- package/templates/adapters/codex/hooks/lib/session-end.sh +0 -76
- package/templates/adapters/codex/hooks/lib/state-detect.sh +0 -117
- package/templates/adapters/codex/hooks/lib/subagent-stop.sh +0 -90
- package/templates/adapters/codex/hooks/lib/vocabulary.sh +0 -56
- package/templates/adapters/codex/hooks/notification.sh +0 -45
- package/templates/adapters/codex/hooks/permission-gate.sh +0 -18
- package/templates/adapters/codex/hooks/post-tool-failure.sh +0 -10
- package/templates/adapters/codex/hooks/post-tool-use.sh +0 -138
- package/templates/adapters/codex/hooks/pre-compact.sh +0 -37
- package/templates/adapters/codex/hooks/pre-tool-use.sh +0 -217
- package/templates/adapters/codex/hooks/prompt-submit.sh +0 -87
- package/templates/adapters/codex/hooks/review-checklist.sh +0 -10
- package/templates/adapters/codex/hooks/session-end.sh +0 -38
- package/templates/adapters/codex/hooks/session-start.sh +0 -53
- package/templates/adapters/codex/hooks/stop-check.sh +0 -45
- package/templates/adapters/codex/hooks/subagent-guard.sh +0 -15
- package/templates/adapters/codex/hooks/subagent-stop.sh +0 -47
- package/templates/adapters/qoder/hooks/doc-format-guard.sh +0 -260
- package/templates/adapters/qoder/hooks/lib/common.sh +0 -261
- package/templates/adapters/qoder/hooks/lib/context-inject.sh +0 -96
- package/templates/adapters/qoder/hooks/lib/notify.sh +0 -34
- package/templates/adapters/qoder/hooks/lib/preload-templates.sh +0 -187
- package/templates/adapters/qoder/hooks/lib/session-end.sh +0 -76
- package/templates/adapters/qoder/hooks/lib/state-detect.sh +0 -117
- package/templates/adapters/qoder/hooks/lib/subagent-stop.sh +0 -90
- package/templates/adapters/qoder/hooks/lib/vocabulary.sh +0 -56
- package/templates/adapters/qoder/hooks/notification.sh +0 -25
- package/templates/adapters/qoder/hooks/permission-gate.sh +0 -8
- package/templates/adapters/qoder/hooks/post-tool-failure.sh +0 -8
- package/templates/adapters/qoder/hooks/post-tool-use.sh +0 -121
- package/templates/adapters/qoder/hooks/pre-compact.sh +0 -37
- package/templates/adapters/qoder/hooks/pre-tool-use.sh +0 -154
- package/templates/adapters/qoder/hooks/prompt-submit.sh +0 -96
- package/templates/adapters/qoder/hooks/review-checklist.sh +0 -157
- package/templates/adapters/qoder/hooks/session-end.sh +0 -24
- package/templates/adapters/qoder/hooks/session-start.sh +0 -45
- package/templates/adapters/qoder/hooks/stop-check.sh +0 -48
- package/templates/adapters/qoder/hooks/subagent-guard.sh +0 -27
- package/templates/adapters/qoder/hooks/subagent-stop.sh +0 -26
- package/templates/adapters/trae/hooks/doc-format-guard.sh +0 -261
- package/templates/adapters/trae/hooks/lib/common.sh +0 -261
- package/templates/adapters/trae/hooks/lib/context-inject.sh +0 -96
- package/templates/adapters/trae/hooks/lib/notify.sh +0 -34
- package/templates/adapters/trae/hooks/lib/preload-templates.sh +0 -187
- package/templates/adapters/trae/hooks/lib/session-end.sh +0 -76
- package/templates/adapters/trae/hooks/lib/state-detect.sh +0 -117
- package/templates/adapters/trae/hooks/lib/subagent-stop.sh +0 -90
- package/templates/adapters/trae/hooks/lib/vocabulary.sh +0 -56
- package/templates/adapters/trae/hooks/notification.sh +0 -45
- package/templates/adapters/trae/hooks/permission-gate.sh +0 -18
- package/templates/adapters/trae/hooks/post-tool-failure.sh +0 -10
- package/templates/adapters/trae/hooks/post-tool-use.sh +0 -138
- package/templates/adapters/trae/hooks/pre-compact.sh +0 -37
- package/templates/adapters/trae/hooks/pre-tool-use.sh +0 -217
- package/templates/adapters/trae/hooks/prompt-submit.sh +0 -87
- package/templates/adapters/trae/hooks/review-checklist.sh +0 -10
- package/templates/adapters/trae/hooks/session-end.sh +0 -38
- package/templates/adapters/trae/hooks/session-start.sh +0 -53
- package/templates/adapters/trae/hooks/stop-check.sh +0 -45
- package/templates/adapters/trae/hooks/subagent-guard.sh +0 -15
- package/templates/adapters/trae/hooks/subagent-stop.sh +0 -47
- package/templates/adapters/vscode/hooks/doc-format-guard.sh +0 -201
- package/templates/adapters/vscode/hooks/lib/common.sh +0 -261
- package/templates/adapters/vscode/hooks/lib/context-inject.sh +0 -96
- package/templates/adapters/vscode/hooks/lib/notify.sh +0 -34
- package/templates/adapters/vscode/hooks/lib/preload-templates.sh +0 -187
- package/templates/adapters/vscode/hooks/lib/session-end.sh +0 -76
- package/templates/adapters/vscode/hooks/lib/state-detect.sh +0 -117
- package/templates/adapters/vscode/hooks/lib/subagent-stop.sh +0 -90
- package/templates/adapters/vscode/hooks/lib/vocabulary.sh +0 -56
- package/templates/adapters/vscode/hooks/notification.sh +0 -45
- package/templates/adapters/vscode/hooks/permission-gate.sh +0 -18
- package/templates/adapters/vscode/hooks/post-tool-failure.sh +0 -28
- package/templates/adapters/vscode/hooks/post-tool-use.sh +0 -35
- package/templates/adapters/vscode/hooks/pre-compact.sh +0 -37
- package/templates/adapters/vscode/hooks/pre-tool-use.sh +0 -153
- package/templates/adapters/vscode/hooks/prompt-submit.sh +0 -99
- package/templates/adapters/vscode/hooks/review-checklist.sh +0 -10
- package/templates/adapters/vscode/hooks/session-end.sh +0 -13
- package/templates/adapters/vscode/hooks/session-start.sh +0 -35
- package/templates/adapters/vscode/hooks/stop-check.sh +0 -53
- package/templates/adapters/vscode/hooks/subagent-guard.sh +0 -37
- package/templates/adapters/vscode/hooks/subagent-stop.sh +0 -12
- package/templates/core/hooks/doc-format-guard.sh +0 -261
- package/templates/core/hooks/lib/common.sh +0 -261
- package/templates/core/hooks/lib/context-inject.sh +0 -96
- package/templates/core/hooks/lib/notify.sh +0 -34
- package/templates/core/hooks/lib/preload-templates.sh +0 -187
- package/templates/core/hooks/lib/session-end.sh +0 -76
- package/templates/core/hooks/lib/state-detect.sh +0 -117
- package/templates/core/hooks/lib/subagent-stop.sh +0 -90
- package/templates/core/hooks/lib/vocabulary.sh +0 -56
- package/templates/core/hooks/notification.sh +0 -45
- package/templates/core/hooks/permission-gate.sh +0 -18
- package/templates/core/hooks/post-tool-failure.sh +0 -10
- package/templates/core/hooks/post-tool-use.sh +0 -138
- package/templates/core/hooks/pre-compact.sh +0 -37
- package/templates/core/hooks/pre-tool-use.sh +0 -217
- package/templates/core/hooks/prompt-submit.sh +0 -87
- package/templates/core/hooks/review-checklist.sh +0 -10
- package/templates/core/hooks/session-end.sh +0 -38
- package/templates/core/hooks/session-start.sh +0 -53
- package/templates/core/hooks/stop-check.sh +0 -45
- package/templates/core/hooks/subagent-guard.sh +0 -15
- package/templates/core/hooks/subagent-stop.sh +0 -47
- package/templates/shared/hooks-lib/common.sh +0 -22
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "add-coder",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.28",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "[codein2027](https://github.com/xiaomingming92/codein2027) - A complete scaffolding for building the ADD programming paradigm, the implementation layer for AI code governance. Core principle: Audit as Infrastructure. Breaks the black-box programming process and cross-session amnesia, evolving programming paradigms into an auditable, traceable, and convergent new era. npx-ready.\n\n[codein2027](https://github.com/xiaomingming92/codein2027) 快速构建 ADD 编程范式的完整脚手架——AI 代码治理的落地方案。以「审计即基础设施」为核心,彻底打破编程过程黑盒与跨轮失忆,让编程范式进化为可审计、可追溯、可收敛的新时代。npx 即用,人人可体验。",
|
|
6
6
|
"repository": {
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"email": "wujixmm@gmail.com",
|
|
41
41
|
"license": "AGPL-3.0-only",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@ariga/atlas": "^1.3.0",
|
|
44
43
|
"@huggingface/transformers": "^3.8.1",
|
|
45
44
|
"@modelcontextprotocol/server": "2.0.0",
|
|
46
45
|
"commander": "^13.1.0",
|
|
46
|
+
"find-up": "^8.0.0",
|
|
47
47
|
"smol-toml": "^1.7.0",
|
|
48
48
|
"vector-cosine-similarity": "^1.8.0",
|
|
49
49
|
"zod": "^4.4.3"
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"@prisma/client": "^7.0.0",
|
|
55
55
|
"dotenv": "*",
|
|
56
56
|
"prisma": "^7.0.0",
|
|
57
|
+
"pg": "^8.16.0",
|
|
57
58
|
"tsx": ">=4",
|
|
58
59
|
"vector-cosine-similarity": "^1.8.0"
|
|
59
60
|
},
|
|
@@ -73,6 +74,9 @@
|
|
|
73
74
|
"@prisma/adapter-pg": {
|
|
74
75
|
"optional": false
|
|
75
76
|
},
|
|
77
|
+
"pg": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
76
80
|
"@huggingface/transformers": {
|
|
77
81
|
"optional": false
|
|
78
82
|
}
|
|
@@ -80,12 +84,18 @@
|
|
|
80
84
|
"devDependencies": {
|
|
81
85
|
"@eslint/js": "^9.39.4",
|
|
82
86
|
"@types/node": "^22.20.1",
|
|
87
|
+
"@types/pg": "^8.20.4",
|
|
88
|
+
"esbuild": "0.27.7",
|
|
83
89
|
"eslint": "^9.39.4",
|
|
90
|
+
"pg": "^8.22.0",
|
|
84
91
|
"tsup": "^8.4.0",
|
|
85
92
|
"typescript": "^6.0.3",
|
|
86
93
|
"typescript-eslint": "^8.62.1",
|
|
87
94
|
"vitest": "^4.1.10"
|
|
88
95
|
},
|
|
96
|
+
"optionalDependencies": {
|
|
97
|
+
"@ariga/atlas": "^1.3.0"
|
|
98
|
+
},
|
|
89
99
|
"scripts": {
|
|
90
100
|
"build": "tsup",
|
|
91
101
|
"predev": "npm run db:ensure",
|
|
@@ -96,9 +106,10 @@
|
|
|
96
106
|
"benchmark": "tsx scripts/benchmark/benchmark-sync.ts",
|
|
97
107
|
"lint": "eslint src/",
|
|
98
108
|
"lint:fix": "eslint src/ --fix",
|
|
99
|
-
"generate": "tsx src/caijuehub/transcribe.ts",
|
|
109
|
+
"generate": "tsx src/caijuehub/transcribe/index.ts",
|
|
100
110
|
"podman-add-coder-up": "podman-compose --env-file .env.development -f podman-compose.add.yml up -d",
|
|
101
111
|
"podman-add-coder-down": "podman-compose --env-file .env.development -f podman-compose.add.yml down",
|
|
102
|
-
"test": "vitest run"
|
|
112
|
+
"test": "vitest run",
|
|
113
|
+
"generate:check": "tsx scripts/generate-idempotency-check.ts"
|
|
103
114
|
}
|
|
104
115
|
}
|
|
@@ -1,103 +1,76 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_version": "0.3.
|
|
3
|
-
"adapters/claude/hooks/doc-format-guard.
|
|
4
|
-
"adapters/claude/hooks/lib/
|
|
5
|
-
"adapters/claude/hooks/
|
|
6
|
-
"adapters/claude/hooks/
|
|
7
|
-
"adapters/claude/hooks/
|
|
8
|
-
"adapters/claude/hooks/
|
|
9
|
-
"adapters/claude/hooks/
|
|
10
|
-
"adapters/claude/hooks/
|
|
11
|
-
"adapters/claude/hooks/
|
|
12
|
-
"adapters/claude/hooks/
|
|
13
|
-
"adapters/claude/hooks/
|
|
14
|
-
"adapters/claude/hooks/
|
|
15
|
-
"adapters/claude/hooks/
|
|
16
|
-
"adapters/claude/hooks/
|
|
17
|
-
"adapters/claude/hooks/
|
|
18
|
-
"adapters/claude/hooks/
|
|
19
|
-
"adapters/claude/hooks/
|
|
20
|
-
"adapters/claude/hooks/review-checklist.sh": "b383a983",
|
|
21
|
-
"adapters/claude/hooks/session-end.sh": "777ae808",
|
|
22
|
-
"adapters/claude/hooks/session-start.sh": "fd1d5e4f",
|
|
23
|
-
"adapters/claude/hooks/stop-check.sh": "41bc519a",
|
|
24
|
-
"adapters/claude/hooks/stop-failure.sh": "e3d6c335",
|
|
25
|
-
"adapters/claude/hooks/subagent-guard.sh": "5922efba",
|
|
26
|
-
"adapters/claude/hooks/subagent-stop.sh": "0f89e28c",
|
|
2
|
+
"_version": "0.3.28",
|
|
3
|
+
"adapters/claude/hooks/doc-format-guard.ts": "2abf8013",
|
|
4
|
+
"adapters/claude/hooks/lib/claude-env.ts": "170b40ca",
|
|
5
|
+
"adapters/claude/hooks/notification.ts": "f14ca7b6",
|
|
6
|
+
"adapters/claude/hooks/permission-denied.ts": "8d773db9",
|
|
7
|
+
"adapters/claude/hooks/permission-gate.ts": "858f2dc6",
|
|
8
|
+
"adapters/claude/hooks/post-tool-failure.ts": "8c53fdd4",
|
|
9
|
+
"adapters/claude/hooks/post-tool-use.ts": "54c1840a",
|
|
10
|
+
"adapters/claude/hooks/pre-compact.ts": "fdb49e54",
|
|
11
|
+
"adapters/claude/hooks/pre-tool-use.ts": "c47cc5d5",
|
|
12
|
+
"adapters/claude/hooks/prompt-submit.ts": "c3847e2a",
|
|
13
|
+
"adapters/claude/hooks/review-checklist.ts": "94695330",
|
|
14
|
+
"adapters/claude/hooks/session-end.ts": "3c963eae",
|
|
15
|
+
"adapters/claude/hooks/session-start.ts": "3f762d49",
|
|
16
|
+
"adapters/claude/hooks/stop-check.ts": "967fd318",
|
|
17
|
+
"adapters/claude/hooks/stop-failure.ts": "b132759b",
|
|
18
|
+
"adapters/claude/hooks/subagent-guard.ts": "f33fc276",
|
|
19
|
+
"adapters/claude/hooks/subagent-stop.ts": "b016ebdf",
|
|
27
20
|
"adapters/claude/mcp.json": "4ddc5120",
|
|
28
|
-
"adapters/claude/settings.json": "
|
|
29
|
-
"adapters/codex/
|
|
30
|
-
"adapters/codex/hooks/
|
|
31
|
-
"adapters/codex/hooks/
|
|
32
|
-
"adapters/codex/hooks/
|
|
33
|
-
"adapters/codex/hooks/
|
|
34
|
-
"adapters/codex/hooks/
|
|
35
|
-
"adapters/codex/hooks/
|
|
36
|
-
"adapters/codex/hooks/
|
|
37
|
-
"adapters/codex/hooks/
|
|
38
|
-
"adapters/codex/hooks/
|
|
39
|
-
"adapters/codex/hooks/
|
|
40
|
-
"adapters/codex/hooks/
|
|
41
|
-
"adapters/codex/hooks/
|
|
42
|
-
"adapters/codex/hooks/
|
|
43
|
-
"adapters/codex/hooks/
|
|
44
|
-
"adapters/codex/hooks
|
|
45
|
-
"adapters/codex/hooks/review-checklist.sh": "b383a983",
|
|
46
|
-
"adapters/codex/hooks/session-end.sh": "3cc8c346",
|
|
47
|
-
"adapters/codex/hooks/session-start.sh": "aa8faa0f",
|
|
48
|
-
"adapters/codex/hooks/stop-check.sh": "dc4829be",
|
|
49
|
-
"adapters/codex/hooks/subagent-guard.sh": "47d04662",
|
|
50
|
-
"adapters/codex/hooks/subagent-stop.sh": "0a34648b",
|
|
51
|
-
"adapters/codex/hooks.json": "d9c99f6b",
|
|
21
|
+
"adapters/claude/settings.json": "9cf9603a",
|
|
22
|
+
"adapters/codex/config.toml.example": "62c03d71",
|
|
23
|
+
"adapters/codex/hooks/doc-format-guard.ts": "566b835f",
|
|
24
|
+
"adapters/codex/hooks/notification.ts": "a4fd2749",
|
|
25
|
+
"adapters/codex/hooks/permission-gate.ts": "15af671c",
|
|
26
|
+
"adapters/codex/hooks/post-tool-failure.ts": "bddd1f4e",
|
|
27
|
+
"adapters/codex/hooks/post-tool-use.ts": "a7a2fc6c",
|
|
28
|
+
"adapters/codex/hooks/pre-compact.ts": "c0671f9b",
|
|
29
|
+
"adapters/codex/hooks/pre-tool-use.ts": "3750e60b",
|
|
30
|
+
"adapters/codex/hooks/prompt-submit.ts": "625cdc5e",
|
|
31
|
+
"adapters/codex/hooks/review-checklist.ts": "9a664173",
|
|
32
|
+
"adapters/codex/hooks/session-end.ts": "7fcb6f86",
|
|
33
|
+
"adapters/codex/hooks/session-start.ts": "4eacd44f",
|
|
34
|
+
"adapters/codex/hooks/stop-check.ts": "ee1801dd",
|
|
35
|
+
"adapters/codex/hooks/subagent-guard.ts": "e5ccf88b",
|
|
36
|
+
"adapters/codex/hooks/subagent-stop.ts": "a27e6a9e",
|
|
37
|
+
"adapters/codex/hooks.json": "3c78fb72",
|
|
52
38
|
"adapters/codex/settings.json": "44136fa3",
|
|
53
|
-
"adapters/qoder/hooks/doc-format-guard.
|
|
54
|
-
"adapters/qoder/hooks/lib/
|
|
55
|
-
"adapters/qoder/hooks/lib/
|
|
56
|
-
"adapters/qoder/hooks/lib/
|
|
57
|
-
"adapters/qoder/hooks/
|
|
58
|
-
"adapters/qoder/hooks/
|
|
59
|
-
"adapters/qoder/hooks/
|
|
60
|
-
"adapters/qoder/hooks/
|
|
61
|
-
"adapters/qoder/hooks/
|
|
62
|
-
"adapters/qoder/hooks/
|
|
63
|
-
"adapters/qoder/hooks/
|
|
64
|
-
"adapters/qoder/hooks/
|
|
65
|
-
"adapters/qoder/hooks/
|
|
66
|
-
"adapters/qoder/hooks/
|
|
67
|
-
"adapters/qoder/hooks/
|
|
68
|
-
"adapters/qoder/hooks/
|
|
69
|
-
"adapters/qoder/hooks/
|
|
70
|
-
"adapters/qoder/hooks/session-end.sh": "c50339df",
|
|
71
|
-
"adapters/qoder/hooks/session-start.sh": "a4307a78",
|
|
72
|
-
"adapters/qoder/hooks/stop-check.sh": "974db988",
|
|
73
|
-
"adapters/qoder/hooks/subagent-guard.sh": "ce60eaac",
|
|
74
|
-
"adapters/qoder/hooks/subagent-stop.sh": "5a2c78c6",
|
|
39
|
+
"adapters/qoder/hooks/doc-format-guard.ts": "12e360db",
|
|
40
|
+
"adapters/qoder/hooks/lib/context-inject.ts": "aaee941a",
|
|
41
|
+
"adapters/qoder/hooks/lib/qoder-env.ts": "ec8c3243",
|
|
42
|
+
"adapters/qoder/hooks/lib/review-checklist.ts": "23a06b37",
|
|
43
|
+
"adapters/qoder/hooks/notification.ts": "01a25a5b",
|
|
44
|
+
"adapters/qoder/hooks/permission-gate.ts": "8478e48e",
|
|
45
|
+
"adapters/qoder/hooks/post-tool-failure.ts": "b9439d5c",
|
|
46
|
+
"adapters/qoder/hooks/post-tool-use.ts": "c7e9ce26",
|
|
47
|
+
"adapters/qoder/hooks/pre-compact.ts": "70a8e8f8",
|
|
48
|
+
"adapters/qoder/hooks/pre-tool-use.ts": "2f0cab18",
|
|
49
|
+
"adapters/qoder/hooks/prompt-submit.ts": "9050e0cb",
|
|
50
|
+
"adapters/qoder/hooks/review-checklist.ts": "cf4ac191",
|
|
51
|
+
"adapters/qoder/hooks/session-end.ts": "e9bf7cd4",
|
|
52
|
+
"adapters/qoder/hooks/session-start.ts": "eeb089e0",
|
|
53
|
+
"adapters/qoder/hooks/stop-check.ts": "53447287",
|
|
54
|
+
"adapters/qoder/hooks/subagent-guard.ts": "0c10171b",
|
|
55
|
+
"adapters/qoder/hooks/subagent-stop.ts": "b41e08af",
|
|
75
56
|
"adapters/qoder/mcp.json": "b2075957",
|
|
76
|
-
"adapters/qoder/settings.json": "
|
|
57
|
+
"adapters/qoder/settings.json": "31799ee7",
|
|
77
58
|
"adapters/qoder/sync-policy.json": "9cb6ff90",
|
|
78
|
-
"adapters/trae/hooks/doc-format-guard.
|
|
79
|
-
"adapters/trae/hooks/
|
|
80
|
-
"adapters/trae/hooks/
|
|
81
|
-
"adapters/trae/hooks/
|
|
82
|
-
"adapters/trae/hooks/
|
|
83
|
-
"adapters/trae/hooks/
|
|
84
|
-
"adapters/trae/hooks/
|
|
85
|
-
"adapters/trae/hooks/
|
|
86
|
-
"adapters/trae/hooks/
|
|
87
|
-
"adapters/trae/hooks/
|
|
88
|
-
"adapters/trae/hooks/
|
|
89
|
-
"adapters/trae/hooks/
|
|
90
|
-
"adapters/trae/hooks/
|
|
91
|
-
"adapters/trae/hooks/
|
|
92
|
-
"adapters/trae/hooks
|
|
93
|
-
"adapters/trae/hooks/prompt-submit.sh": "a41371ea",
|
|
94
|
-
"adapters/trae/hooks/review-checklist.sh": "b383a983",
|
|
95
|
-
"adapters/trae/hooks/session-end.sh": "3cc8c346",
|
|
96
|
-
"adapters/trae/hooks/session-start.sh": "aa8faa0f",
|
|
97
|
-
"adapters/trae/hooks/stop-check.sh": "dc4829be",
|
|
98
|
-
"adapters/trae/hooks/subagent-guard.sh": "47d04662",
|
|
99
|
-
"adapters/trae/hooks/subagent-stop.sh": "0a34648b",
|
|
100
|
-
"adapters/trae/hooks.json": "e5045c2c",
|
|
59
|
+
"adapters/trae/hooks/doc-format-guard.ts": "14968f12",
|
|
60
|
+
"adapters/trae/hooks/notification.ts": "f0b4b606",
|
|
61
|
+
"adapters/trae/hooks/permission-gate.ts": "c53aedc7",
|
|
62
|
+
"adapters/trae/hooks/post-tool-failure.ts": "4cd97dac",
|
|
63
|
+
"adapters/trae/hooks/post-tool-use.ts": "7b1e2f4f",
|
|
64
|
+
"adapters/trae/hooks/pre-compact.ts": "5de3b0fe",
|
|
65
|
+
"adapters/trae/hooks/pre-tool-use.ts": "a7486c97",
|
|
66
|
+
"adapters/trae/hooks/prompt-submit.ts": "95ebd771",
|
|
67
|
+
"adapters/trae/hooks/review-checklist.ts": "343bd699",
|
|
68
|
+
"adapters/trae/hooks/session-end.ts": "64ce383f",
|
|
69
|
+
"adapters/trae/hooks/session-start.ts": "d6b4fdc7",
|
|
70
|
+
"adapters/trae/hooks/stop-check.ts": "b33ad5e4",
|
|
71
|
+
"adapters/trae/hooks/subagent-guard.ts": "eab8cbd9",
|
|
72
|
+
"adapters/trae/hooks/subagent-stop.ts": "5a9d53bb",
|
|
73
|
+
"adapters/trae/hooks.json": "e9d9eae7",
|
|
101
74
|
"adapters/trae/settings.json": "ca3d163b",
|
|
102
75
|
"adapters/vscode/.github/hooks/error-occurred.json": "9caa13dc",
|
|
103
76
|
"adapters/vscode/.github/hooks/post-tool-use.json": "bff9d4d8",
|
|
@@ -110,60 +83,67 @@
|
|
|
110
83
|
"adapters/vscode/.github/hooks/subagent-stop.json": "47dbdd8d",
|
|
111
84
|
"adapters/vscode/.github/hooks/user-prompt-submit.json": "3a608d62",
|
|
112
85
|
"adapters/vscode/extensions.json": "0f4024c1",
|
|
113
|
-
"adapters/vscode/hooks/doc-format-guard.
|
|
114
|
-
"adapters/vscode/hooks/
|
|
115
|
-
"adapters/vscode/hooks/
|
|
116
|
-
"adapters/vscode/hooks/
|
|
117
|
-
"adapters/vscode/hooks/
|
|
118
|
-
"adapters/vscode/hooks/
|
|
119
|
-
"adapters/vscode/hooks/
|
|
120
|
-
"adapters/vscode/hooks/
|
|
121
|
-
"adapters/vscode/hooks/
|
|
122
|
-
"adapters/vscode/hooks/
|
|
123
|
-
"adapters/vscode/hooks/
|
|
124
|
-
"adapters/vscode/hooks/
|
|
125
|
-
"adapters/vscode/hooks/
|
|
126
|
-
"adapters/vscode/hooks/
|
|
127
|
-
"adapters/vscode/hooks/pre-tool-use.sh": "4bf878e7",
|
|
128
|
-
"adapters/vscode/hooks/prompt-submit.sh": "3e56d1a9",
|
|
129
|
-
"adapters/vscode/hooks/review-checklist.sh": "b383a983",
|
|
130
|
-
"adapters/vscode/hooks/session-end.sh": "7b407b9f",
|
|
131
|
-
"adapters/vscode/hooks/session-start.sh": "ad724a3e",
|
|
132
|
-
"adapters/vscode/hooks/stop-check.sh": "df1ad9dd",
|
|
133
|
-
"adapters/vscode/hooks/subagent-guard.sh": "5d0ea685",
|
|
134
|
-
"adapters/vscode/hooks/subagent-stop.sh": "dd19f712",
|
|
86
|
+
"adapters/vscode/hooks/doc-format-guard.ts": "38e71c50",
|
|
87
|
+
"adapters/vscode/hooks/notification.ts": "5eed547d",
|
|
88
|
+
"adapters/vscode/hooks/permission-gate.ts": "ad096bc1",
|
|
89
|
+
"adapters/vscode/hooks/post-tool-failure.ts": "f7bc81b3",
|
|
90
|
+
"adapters/vscode/hooks/post-tool-use.ts": "42146851",
|
|
91
|
+
"adapters/vscode/hooks/pre-compact.ts": "15e4a043",
|
|
92
|
+
"adapters/vscode/hooks/pre-tool-use.ts": "8e8e588d",
|
|
93
|
+
"adapters/vscode/hooks/prompt-submit.ts": "767b13d2",
|
|
94
|
+
"adapters/vscode/hooks/review-checklist.ts": "f5fb4557",
|
|
95
|
+
"adapters/vscode/hooks/session-end.ts": "acdd9f42",
|
|
96
|
+
"adapters/vscode/hooks/session-start.ts": "54b262b0",
|
|
97
|
+
"adapters/vscode/hooks/stop-check.ts": "7a69b075",
|
|
98
|
+
"adapters/vscode/hooks/subagent-guard.ts": "773dc2c8",
|
|
99
|
+
"adapters/vscode/hooks/subagent-stop.ts": "a614b97d",
|
|
135
100
|
"adapters/vscode/launch.json": "f2b79855",
|
|
136
101
|
"adapters/vscode/settings.json": "7cabd00e",
|
|
137
102
|
"adapters/vscode/tasks.json": "654d7fbd",
|
|
138
103
|
"core/agents/add-flow-guardian.md": "c3e650d2",
|
|
139
|
-
"core/docs/ADD-governance-claude-code.md": "
|
|
140
|
-
"core/docs/ADD-governance-codex.md": "
|
|
141
|
-
"core/docs/ADD-governance-qoder-cn.md": "
|
|
142
|
-
"core/docs/ADD-governance-trae.md": "
|
|
143
|
-
"core/docs/ADD-governance-vscode-copilot.md": "
|
|
144
|
-
"core/
|
|
145
|
-
"core/
|
|
146
|
-
"core/
|
|
147
|
-
"core/
|
|
148
|
-
"core/
|
|
149
|
-
"core/
|
|
150
|
-
"core/
|
|
151
|
-
"core/
|
|
152
|
-
"core/
|
|
153
|
-
"core/
|
|
154
|
-
"core/
|
|
155
|
-
"core/
|
|
156
|
-
"core/
|
|
157
|
-
"core/
|
|
158
|
-
"core/
|
|
159
|
-
"core/
|
|
160
|
-
"core/
|
|
161
|
-
"core/
|
|
162
|
-
"core/
|
|
163
|
-
"core/
|
|
164
|
-
"core/
|
|
165
|
-
"core/
|
|
166
|
-
"core/
|
|
104
|
+
"core/docs/ADD-governance-claude-code.md": "b11fabb9",
|
|
105
|
+
"core/docs/ADD-governance-codex.md": "7ce9443d",
|
|
106
|
+
"core/docs/ADD-governance-qoder-cn.md": "54d79441",
|
|
107
|
+
"core/docs/ADD-governance-trae.md": "ec2976ae",
|
|
108
|
+
"core/docs/ADD-governance-vscode-copilot.md": "ab7885a4",
|
|
109
|
+
"core/governance/audit-bridge.ts": "1a0d5ccd",
|
|
110
|
+
"core/governance/common.ts": "37570397",
|
|
111
|
+
"core/governance/context-inject.ts": "8ded8188",
|
|
112
|
+
"core/governance/doc-format-guard.ts": "70978fc9",
|
|
113
|
+
"core/governance/notification-router.ts": "526ee71c",
|
|
114
|
+
"core/governance/notify.ts": "b7e8543f",
|
|
115
|
+
"core/governance/permission-gate-router.ts": "e4fa8376",
|
|
116
|
+
"core/governance/post-tool-failure-router.ts": "7542b2a0",
|
|
117
|
+
"core/governance/post-tool-router.ts": "556f9200",
|
|
118
|
+
"core/governance/pre-compact-guard.ts": "e1c2b2e7",
|
|
119
|
+
"core/governance/pre-tool-guard.ts": "c64b7382",
|
|
120
|
+
"core/governance/preload-templates.ts": "cfd6d3ca",
|
|
121
|
+
"core/governance/prompt-router.ts": "15ca2987",
|
|
122
|
+
"core/governance/review-checklist-guard.ts": "b24568b1",
|
|
123
|
+
"core/governance/rules.ts": "ffd7b843",
|
|
124
|
+
"core/governance/session-end.ts": "108fc3f6",
|
|
125
|
+
"core/governance/session-start-guard.ts": "96666e11",
|
|
126
|
+
"core/governance/state-detect.ts": "55afc935",
|
|
127
|
+
"core/governance/stop-router.ts": "b59fb651",
|
|
128
|
+
"core/governance/subagent-guard-router.ts": "398fb80e",
|
|
129
|
+
"core/governance/subagent-stop-router.ts": "f331f59f",
|
|
130
|
+
"core/governance/subagent-stop.ts": "56101604",
|
|
131
|
+
"core/governance/vocabulary.ts": "477d762b",
|
|
132
|
+
"core/hooks/doc-format-guard.ts": "8d9b16a9",
|
|
133
|
+
"core/hooks/notification.ts": "00732f1c",
|
|
134
|
+
"core/hooks/permission-gate.ts": "32400e27",
|
|
135
|
+
"core/hooks/post-tool-failure.ts": "23c76f04",
|
|
136
|
+
"core/hooks/post-tool-use.ts": "9f3abfa1",
|
|
137
|
+
"core/hooks/pre-compact.ts": "ec87ebf1",
|
|
138
|
+
"core/hooks/pre-tool-use.ts": "8e1ee6ea",
|
|
139
|
+
"core/hooks/prompt-submit.ts": "eb0aabdd",
|
|
140
|
+
"core/hooks/review-checklist.ts": "c7b3bb50",
|
|
141
|
+
"core/hooks/session-end.ts": "b390ddb0",
|
|
142
|
+
"core/hooks/session-start.ts": "2a3f796c",
|
|
143
|
+
"core/hooks/stop-check.ts": "0c3fc40a",
|
|
144
|
+
"core/hooks/subagent-guard.ts": "37019300",
|
|
145
|
+
"core/hooks/subagent-stop.ts": "9eebd61f",
|
|
146
|
+
"core/prisma/add.prisma": "a543cd84",
|
|
167
147
|
"core/reports/REPORT-WORKFLOW.md": "03d39b21",
|
|
168
148
|
"core/reports/boundary-runtime-report.md": "6fd8053f",
|
|
169
149
|
"core/reports/code-review-combined-report.md": "195d52aa",
|
|
@@ -175,58 +155,78 @@
|
|
|
175
155
|
"core/rules/profiles/index.toml": "b83332d4",
|
|
176
156
|
"core/rules/profiles/machineserver-profile.md": "8a36cf39",
|
|
177
157
|
"core/rules/profiles/webapp-profile.md": "e493ae7b",
|
|
178
|
-
"core/rules/project_rules.md": "
|
|
158
|
+
"core/rules/project_rules.md": "094821ad",
|
|
179
159
|
"core/rules/theory-practice-map.toml": "b1db99fd",
|
|
180
|
-
"core/scripts/db-ensure.sh": "
|
|
181
|
-
"core/scripts/gen-plan-index.sh": "
|
|
160
|
+
"core/scripts/db-ensure.sh": "94a5ff92",
|
|
161
|
+
"core/scripts/gen-plan-index.sh": "47836bec",
|
|
182
162
|
"core/scripts/mcp-server/elicitation/confirm.ts": "924857b8",
|
|
183
163
|
"core/scripts/mcp-server/elicitation/index.ts": "44c5dc3f",
|
|
184
164
|
"core/scripts/mcp-server/index.ts": "3483ec45",
|
|
185
|
-
"core/scripts/mcp-server/notifications/hitl.ts": "
|
|
186
|
-
"core/scripts/mcp-server/notifications/hook.ts": "
|
|
165
|
+
"core/scripts/mcp-server/notifications/hitl.ts": "7b71338a",
|
|
166
|
+
"core/scripts/mcp-server/notifications/hook.ts": "31bc0ffb",
|
|
187
167
|
"core/scripts/mcp-server/notifications/index.ts": "b6615afa",
|
|
188
168
|
"core/scripts/mcp-server/resources/add-coder-version.ts": "2384fa40",
|
|
189
169
|
"core/scripts/mcp-server/resources/add-state.ts": "1c1cc3a2",
|
|
190
|
-
"core/scripts/mcp-server/resources/
|
|
191
|
-
"core/scripts/mcp-server/resources/
|
|
170
|
+
"core/scripts/mcp-server/resources/hitl-approval-widget.ts": "f663610e",
|
|
171
|
+
"core/scripts/mcp-server/resources/hook-events-report.ts": "9b62bacd",
|
|
172
|
+
"core/scripts/mcp-server/resources/index.ts": "d2d723f3",
|
|
192
173
|
"core/scripts/mcp-server/resources/round-task.ts": "104a0d74",
|
|
193
174
|
"core/scripts/mcp-server/sampling/index.ts": "7ee26d92",
|
|
194
|
-
"core/scripts/mcp-server/sampling/review.ts": "
|
|
195
|
-
"core/scripts/mcp-server/shared/db-types.ts": "
|
|
196
|
-
"core/scripts/mcp-server/shared/dps-scoring.strategy.ts": "
|
|
197
|
-
"core/scripts/mcp-server/shared/env.ts": "
|
|
198
|
-
"core/scripts/mcp-server/shared/fs.ts": "
|
|
199
|
-
"core/scripts/mcp-server/shared/hitl-interaction.strategy.ts": "
|
|
175
|
+
"core/scripts/mcp-server/sampling/review.ts": "dd6e22ff",
|
|
176
|
+
"core/scripts/mcp-server/shared/db-types.ts": "bd97e8b6",
|
|
177
|
+
"core/scripts/mcp-server/shared/dps-scoring.strategy.ts": "92ecf32b",
|
|
178
|
+
"core/scripts/mcp-server/shared/env.ts": "f79ab09c",
|
|
179
|
+
"core/scripts/mcp-server/shared/fs.ts": "be216ce3",
|
|
180
|
+
"core/scripts/mcp-server/shared/hitl-interaction.strategy.ts": "dcfe946f",
|
|
181
|
+
"core/scripts/mcp-server/shared/hitl-lifecycle-mutation.ts": "06952c62",
|
|
182
|
+
"core/scripts/mcp-server/shared/hitl-proposal-mutation.ts": "87a7a372",
|
|
183
|
+
"core/scripts/mcp-server/shared/hitl-ui.ts": "51d574f2",
|
|
200
184
|
"core/scripts/mcp-server/shared/package.json": "e3d5a4a2",
|
|
201
|
-
"core/scripts/mcp-server/shared/
|
|
202
|
-
"core/scripts/mcp-server/shared/
|
|
203
|
-
"core/scripts/mcp-server/shared/
|
|
185
|
+
"core/scripts/mcp-server/shared/plan-lifecycle-events.ts": "ae99b9a0",
|
|
186
|
+
"core/scripts/mcp-server/shared/plan-lifecycle-mutation.ts": "303d9674",
|
|
187
|
+
"core/scripts/mcp-server/shared/plan-lifecycle-subscriber.ts": "1b1c2b84",
|
|
188
|
+
"core/scripts/mcp-server/shared/plan-lifecycle.ts": "6a49ff4d",
|
|
189
|
+
"core/scripts/mcp-server/shared/plan-round-events.ts": "86b6ba3f",
|
|
190
|
+
"core/scripts/mcp-server/shared/plan-round-mutation.ts": "c058e930",
|
|
191
|
+
"core/scripts/mcp-server/shared/plan-round-store.ts": "bc28bd09",
|
|
192
|
+
"core/scripts/mcp-server/shared/plan-round-subscriber.ts": "43fcf257",
|
|
193
|
+
"core/scripts/mcp-server/shared/plan-status-store.ts": "5b7bcfd2",
|
|
194
|
+
"core/scripts/mcp-server/shared/plan-tracking-mutation.ts": "2fd19676",
|
|
195
|
+
"core/scripts/mcp-server/shared/prisma.ts": "9be3b5bf",
|
|
196
|
+
"core/scripts/mcp-server/shared/project-root-strategy.ts": "8dde9bf3",
|
|
197
|
+
"core/scripts/mcp-server/shared/quant-recheck.strategy.ts": "12211d20",
|
|
198
|
+
"core/scripts/mcp-server/shared/redact.ts": "22e008aa",
|
|
199
|
+
"core/scripts/mcp-server/shared/response.ts": "0d1539a8",
|
|
204
200
|
"core/scripts/mcp-server/shared/run-command.ts": "42caf972",
|
|
201
|
+
"core/scripts/mcp-server/shared/runtime-context.ts": "51d0b45f",
|
|
202
|
+
"core/scripts/mcp-server/shared/schema-topology.ts": "a680b738",
|
|
205
203
|
"core/scripts/mcp-server/tasks/index.ts": "c040eb75",
|
|
206
204
|
"core/scripts/mcp-server/tasks/runner.ts": "d84bd35d",
|
|
207
205
|
"core/scripts/mcp-server/tasks/store.ts": "2fce1a92",
|
|
208
|
-
"core/scripts/mcp-server/tools/audit.ts": "
|
|
209
|
-
"core/scripts/mcp-server/tools/context.ts": "
|
|
210
|
-
"core/scripts/mcp-server/tools/contract.ts": "
|
|
206
|
+
"core/scripts/mcp-server/tools/audit.ts": "705292b3",
|
|
207
|
+
"core/scripts/mcp-server/tools/context.ts": "d7d4e546",
|
|
208
|
+
"core/scripts/mcp-server/tools/contract.ts": "14b6ab8f",
|
|
211
209
|
"core/scripts/mcp-server/tools/docs.ts": "034e473c",
|
|
212
210
|
"core/scripts/mcp-server/tools/gateway/check_add_route_completeness.ts": "b58e76ee",
|
|
213
|
-
"core/scripts/mcp-server/tools/gateway/check_add_route_status.ts": "
|
|
214
|
-
"core/scripts/mcp-server/tools/gateway/
|
|
215
|
-
"core/scripts/mcp-server/tools/gateway/
|
|
216
|
-
"core/scripts/mcp-server/tools/gateway/
|
|
211
|
+
"core/scripts/mcp-server/tools/gateway/check_add_route_status.ts": "4caf552c",
|
|
212
|
+
"core/scripts/mcp-server/tools/gateway/check_doc_similarity.ts": "2cba51c5",
|
|
213
|
+
"core/scripts/mcp-server/tools/gateway/check_dps.ts": "92020f8e",
|
|
214
|
+
"core/scripts/mcp-server/tools/gateway/check_rahs.ts": "7091a262",
|
|
215
|
+
"core/scripts/mcp-server/tools/gateway/check_spec_sync.ts": "560a88ad",
|
|
217
216
|
"core/scripts/mcp-server/tools/gateway/helpers.ts": "f8794a92",
|
|
218
|
-
"core/scripts/mcp-server/tools/gateway/index.ts": "
|
|
217
|
+
"core/scripts/mcp-server/tools/gateway/index.ts": "cffe9783",
|
|
219
218
|
"core/scripts/mcp-server/tools/gateway.backup": "65eae393",
|
|
220
|
-
"core/scripts/mcp-server/tools/hitl.ts": "
|
|
221
|
-
"core/scripts/mcp-server/tools/hook-event-report.ts": "
|
|
222
|
-
"core/scripts/mcp-server/tools/index.ts": "
|
|
223
|
-
"core/scripts/mcp-server/tools/plan.ts": "
|
|
219
|
+
"core/scripts/mcp-server/tools/hitl.ts": "04b6b807",
|
|
220
|
+
"core/scripts/mcp-server/tools/hook-event-report.ts": "1d825b3f",
|
|
221
|
+
"core/scripts/mcp-server/tools/index.ts": "443128c8",
|
|
222
|
+
"core/scripts/mcp-server/tools/plan.ts": "d20b300c",
|
|
224
223
|
"core/scripts/mcp-server/tools/quality.ts": "c4634453",
|
|
225
224
|
"core/scripts/mcp-server/tools/registrar.ts": "efd81b3a",
|
|
226
|
-
"core/scripts/mcp-server/tools/review.ts": "
|
|
225
|
+
"core/scripts/mcp-server/tools/review.ts": "65c35e31",
|
|
227
226
|
"core/scripts/mcp-server/types.ts": "6c5e60bc",
|
|
228
|
-
"core/scripts/mcp-server.ts": "
|
|
229
|
-
"core/
|
|
227
|
+
"core/scripts/mcp-server.ts": "0c9b0666",
|
|
228
|
+
"core/scripts/plan-status-bridge.ts": "70c5d8b7",
|
|
229
|
+
"core/skills/add-paradigm/SKILL.md": "55df369a",
|
|
230
230
|
"core/skills/session-init/SKILL.md": "bb1205b0",
|
|
231
231
|
"core/specs/add-coder-npm-package/checklist.md": "ed92032c",
|
|
232
232
|
"core/specs/add-coder-npm-package/spec.md": "c7d0f235",
|
|
@@ -235,18 +235,20 @@
|
|
|
235
235
|
"core/templates/TERMINOLOGY.md": "e9f4f781",
|
|
236
236
|
"core/templates/add-route-template-heavyweight.md": "0e107ac0",
|
|
237
237
|
"core/templates/add-route-template.md": "da7022df",
|
|
238
|
-
"core/templates/add-route-template.schema.json": "
|
|
238
|
+
"core/templates/add-route-template.schema.json": "cca77a6e",
|
|
239
239
|
"core/templates/checklist-template.md": "d6b73a5c",
|
|
240
240
|
"core/templates/checklist-template.schema.json": "fb3a73e8",
|
|
241
|
-
"core/templates/collab-contract-template.md": "
|
|
241
|
+
"core/templates/collab-contract-template.md": "b8a52503",
|
|
242
242
|
"core/templates/collab-contract-template.schema.json": "ae0f482c",
|
|
243
243
|
"core/templates/fix-verification-template.md": "9c9ed175",
|
|
244
244
|
"core/templates/fix-verification-template.schema.json": "a18bc6a5",
|
|
245
245
|
"core/templates/handoff-multi-round-template.md": "d3a2375d",
|
|
246
|
+
"core/templates/handoff-multi-round-template.schema.json": "c752a9dc",
|
|
246
247
|
"core/templates/handoff-multi-round.schema.json": "abed4220",
|
|
247
248
|
"core/templates/handoff-single-round-template.md": "dceb7c86",
|
|
248
|
-
"core/templates/handoff-single-round.schema.json": "
|
|
249
|
-
"core/templates/
|
|
249
|
+
"core/templates/handoff-single-round-template.schema.json": "201f8b5c",
|
|
250
|
+
"core/templates/handoff-single-round.schema.json": "19486507",
|
|
251
|
+
"core/templates/hitl-approval-widget.html": "7045227d",
|
|
250
252
|
"core/templates/hitl-template.md": "44989804",
|
|
251
253
|
"core/templates/hitl-template.schema.json": "e7ecc53e",
|
|
252
254
|
"core/templates/index.md": "0fb42ea5",
|
|
@@ -268,12 +270,11 @@
|
|
|
268
270
|
"core/templates/simple-plan-template.md": "5b2d8dd6",
|
|
269
271
|
"core/templates/simple-plan-template.schema.json": "02718806",
|
|
270
272
|
"core/templates/spec-template.md": "619b01cc",
|
|
271
|
-
"core/templates/spec-template.schema.json": "
|
|
273
|
+
"core/templates/spec-template.schema.json": "9e5d530b",
|
|
272
274
|
"core/templates/standard-plan-template.md": "7beafc59",
|
|
273
|
-
"core/templates/standard-plan-template.schema.json": "
|
|
275
|
+
"core/templates/standard-plan-template.schema.json": "95dc6e03",
|
|
274
276
|
"core/templates/tasks-template.md": "2b9d0d52",
|
|
275
|
-
"core/templates/tasks-template.schema.json": "
|
|
277
|
+
"core/templates/tasks-template.schema.json": "2e691c8a",
|
|
276
278
|
"core/tools/README.md": "26a63460",
|
|
277
|
-
"core/vocabulary/add-governance-vocabulary.md": "ee9e2bd2"
|
|
278
|
-
"shared/hooks-lib/common.sh": "441eee52"
|
|
279
|
+
"core/vocabulary/add-governance-vocabulary.md": "ee9e2bd2"
|
|
279
280
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// doc-format-guard.ts — schema.json 驱动的 ADD 文档格式守卫(Claude 版,Task 3.1 子类最小化)
|
|
2
|
+
// 继承 core DocFormatGuard;差异点仅两个(bash 原文 L87-104 逐字对照):
|
|
3
|
+
// ① 内容探测链: 加载 [doc.adapter_content_rules] claude 独立链(构造参数 adapterName)
|
|
4
|
+
// ——「## 四、Handoff」分支前置 + simple-standard-plan-template.md 映射
|
|
5
|
+
// ② 无算法规则段(反作弊/HITL 表/handoff 冲突不校验)——override runAlgoChecks
|
|
6
|
+
|
|
7
|
+
import { readFileSync } from "node:fs"
|
|
8
|
+
import { DocFormatGuard } from "../../../core/governance/doc-format-guard.js"
|
|
9
|
+
|
|
10
|
+
class ClaudeDocFormatGuard extends DocFormatGuard {
|
|
11
|
+
constructor(projectDir: string, magicDir: string) {
|
|
12
|
+
super(projectDir, magicDir, "claude")
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** 差异点 ②: claude 版无算法规则段 */
|
|
16
|
+
protected override runAlgoChecks(_templateName: string, _filePath: string, _content: string): void {
|
|
17
|
+
// claude 版不执行算法化规则校验(bash 原文无此段)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// ── 主入口 ──
|
|
22
|
+
const PROJECT_DIR = process.env.PROJECT_DIR || process.cwd()
|
|
23
|
+
const MAGIC_DIR = process.env.MAGIC_DIR || ".qoder"
|
|
24
|
+
|
|
25
|
+
const guard = new ClaudeDocFormatGuard(PROJECT_DIR, MAGIC_DIR)
|
|
26
|
+
let raw = ""
|
|
27
|
+
try {
|
|
28
|
+
raw = readFileSync(0, "utf-8")
|
|
29
|
+
} catch {
|
|
30
|
+
raw = ""
|
|
31
|
+
}
|
|
32
|
+
process.exitCode = guard.run(raw)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// lib/claude-env.ts — Claude 私有环境解析(CLAUDE_PROJECT_DIR 优先)
|
|
2
|
+
// 契约: claude 端所有 hook 的 PROJECT_DIR 来源 = ${CLAUDE_PROJECT_DIR:-$PWD}
|
|
3
|
+
|
|
4
|
+
/** Claude 项目目录解析(对齐 bash ${CLAUDE_PROJECT_DIR:-$PWD}) */
|
|
5
|
+
export function resolveClaudeProjectDir(): string {
|
|
6
|
+
return process.env.CLAUDE_PROJECT_DIR || process.cwd()
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// notification.ts — Notification 入口(Claude 版,Task 3.1 继承体系)
|
|
2
|
+
// 继承 core NotificationRouter,命名子类 ClaudeNotificationRouter:
|
|
3
|
+
// ① 探测循环(.claude/.qoder/.vscode/.add)与 reviews 提醒 = 基类(bash 原文逐字对齐)
|
|
4
|
+
// ② 兜底 magicDir = ".claude"(构造参数注入,claude 协议差异)
|
|
5
|
+
// ③ 提醒文本 = 基类默认(含 Plan 前缀,与 claude bash 原文一致)
|
|
6
|
+
// 协议差异仅剩: PROJECT_DIR 来源 CLAUDE_PROJECT_DIR(claude-env 注入链)
|
|
7
|
+
|
|
8
|
+
import { readHookInput } from "../../../core/governance/common.js"
|
|
9
|
+
import { NotificationRouter } from "../../../core/governance/notification-router.js"
|
|
10
|
+
import { resolveClaudeProjectDir } from "./lib/claude-env.js"
|
|
11
|
+
|
|
12
|
+
class ClaudeNotificationRouter extends NotificationRouter {
|
|
13
|
+
/** 协议差异封装: fallbackMagicDir = ".claude"(claude 端兜底,bash 原文逐字) */
|
|
14
|
+
constructor(projectDir: string) {
|
|
15
|
+
super(projectDir, ".claude")
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// 当前无 override(提醒文本与 core 基线一致);命名子类承载端身份 + 未来演进位
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
process.env.PROJECT_DIR = resolveClaudeProjectDir()
|
|
22
|
+
|
|
23
|
+
const input = readHookInput()
|
|
24
|
+
process.exit(new ClaudeNotificationRouter(process.env.PROJECT_DIR).run(input))
|