@dommaker/harness 0.9.0 → 0.11.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/README.md +26 -14
- package/bin/harness.js +112 -0
- package/dist/architecture/constraint-engine.d.ts +18 -0
- package/dist/architecture/constraint-engine.d.ts.map +1 -1
- package/dist/architecture/constraint-engine.js +101 -9
- package/dist/architecture/constraint-engine.js.map +1 -1
- package/dist/architecture/cross-project-checker.d.ts +1 -1
- package/dist/architecture/cross-project-checker.d.ts.map +1 -1
- package/dist/architecture/cross-project-checker.js +247 -33
- package/dist/architecture/cross-project-checker.js.map +1 -1
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +182 -71
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/diagnose.d.ts +16 -0
- package/dist/cli/commands/diagnose.d.ts.map +1 -0
- package/dist/cli/commands/diagnose.js +195 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/failure.d.ts +28 -0
- package/dist/cli/commands/failure.d.ts.map +1 -0
- package/dist/cli/commands/failure.js +132 -0
- package/dist/cli/commands/failure.js.map +1 -0
- package/dist/cli/commands/flow.d.ts +2 -0
- package/dist/cli/commands/flow.d.ts.map +1 -1
- package/dist/cli/commands/flow.js +38 -3
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +13 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +251 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +41 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -0
- package/dist/cli/commands/knowledge.js +195 -0
- package/dist/cli/commands/knowledge.js.map +1 -0
- package/dist/cli/commands/propose.d.ts +18 -0
- package/dist/cli/commands/propose.d.ts.map +1 -0
- package/dist/cli/commands/propose.js +331 -0
- package/dist/cli/commands/propose.js.map +1 -0
- package/dist/cli/commands/report.d.ts +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +57 -70
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +57 -43
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/sync-docs.d.ts +21 -0
- package/dist/cli/commands/sync-docs.d.ts.map +1 -0
- package/dist/cli/commands/sync-docs.js +564 -0
- package/dist/cli/commands/sync-docs.js.map +1 -0
- package/dist/cli/commands/traces.d.ts +15 -0
- package/dist/cli/commands/traces.d.ts.map +1 -0
- package/dist/cli/commands/traces.js +167 -0
- package/dist/cli/commands/traces.js.map +1 -0
- package/dist/constraints/index.d.ts +1 -2
- package/dist/constraints/index.d.ts.map +1 -1
- package/dist/constraints/index.js +1 -2
- package/dist/constraints/index.js.map +1 -1
- package/dist/constraints/lifecycle-runner.d.ts +52 -0
- package/dist/constraints/lifecycle-runner.d.ts.map +1 -0
- package/dist/constraints/lifecycle-runner.js +151 -0
- package/dist/constraints/lifecycle-runner.js.map +1 -0
- package/dist/constraints/registry.d.ts +2 -40
- package/dist/constraints/registry.d.ts.map +1 -1
- package/dist/constraints/registry.js +20 -59
- package/dist/constraints/registry.js.map +1 -1
- package/dist/core/constraints/checker.d.ts +32 -0
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +281 -8
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/default-executors.d.ts +10 -0
- package/dist/core/constraints/default-executors.d.ts.map +1 -0
- package/dist/core/constraints/default-executors.js +120 -0
- package/dist/core/constraints/default-executors.js.map +1 -0
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +84 -0
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/interceptor.d.ts.map +1 -1
- package/dist/core/constraints/interceptor.js +3 -0
- package/dist/core/constraints/interceptor.js.map +1 -1
- package/dist/core/session/clean-state.d.ts.map +1 -1
- package/dist/core/session/clean-state.js +5 -1
- package/dist/core/session/clean-state.js.map +1 -1
- package/dist/evolution/auto-evolve.d.ts +36 -0
- package/dist/evolution/auto-evolve.d.ts.map +1 -0
- package/dist/evolution/auto-evolve.js +63 -0
- package/dist/evolution/auto-evolve.js.map +1 -0
- package/dist/evolution/index.d.ts +2 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +18 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/extensions/long-running/constraints.d.ts +38 -0
- package/dist/extensions/long-running/constraints.d.ts.map +1 -0
- package/dist/extensions/long-running/constraints.js +153 -0
- package/dist/extensions/long-running/constraints.js.map +1 -0
- package/dist/extensions/long-running/index.d.ts +30 -0
- package/dist/extensions/long-running/index.d.ts.map +1 -0
- package/dist/extensions/long-running/index.js +50 -0
- package/dist/extensions/long-running/index.js.map +1 -0
- package/dist/extensions/long-running/types.d.ts +154 -0
- package/dist/extensions/long-running/types.d.ts.map +1 -0
- package/dist/extensions/long-running/types.js +9 -0
- package/dist/extensions/long-running/types.js.map +1 -0
- package/dist/governance/executor.d.ts +45 -0
- package/dist/governance/executor.d.ts.map +1 -0
- package/dist/governance/executor.js +237 -0
- package/dist/governance/executor.js.map +1 -0
- package/dist/governance/index.d.ts +9 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +13 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/types.d.ts +46 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +9 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/index.d.ts +26 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -13
- package/dist/index.js.map +1 -1
- package/dist/knowledge/store.d.ts.map +1 -1
- package/dist/knowledge/store.js +3 -1
- package/dist/knowledge/store.js.map +1 -1
- package/dist/monitoring/constraint-doctor.d.ts +16 -3
- package/dist/monitoring/constraint-doctor.d.ts.map +1 -1
- package/dist/monitoring/constraint-doctor.js +84 -9
- package/dist/monitoring/constraint-doctor.js.map +1 -1
- package/dist/presets/long-running.d.ts +33 -0
- package/dist/presets/long-running.d.ts.map +1 -0
- package/dist/presets/long-running.js +52 -0
- package/dist/presets/long-running.js.map +1 -0
- package/dist/tools/definitions/core/code/fingerprint.sh +273 -0
- package/dist/tools/definitions/core/code/fingerprint.yml +72 -0
- package/dist/tools/definitions/core/code/parse.yml +68 -0
- package/dist/tools/definitions/core/code/register-language.sh +475 -0
- package/dist/tools/definitions/core/code/register-language.yml +74 -0
- package/dist/tools/definitions/core/docker/build.yml +73 -0
- package/dist/tools/definitions/core/docker/run.yml +81 -0
- package/dist/tools/definitions/core/file/copy.yml +88 -0
- package/dist/tools/definitions/core/file/read.yml +69 -0
- package/dist/tools/definitions/core/file/write.yml +75 -0
- package/dist/tools/definitions/core/git/branch.yml +61 -0
- package/dist/tools/definitions/core/git/cleanup-worktree.yml +50 -0
- package/dist/tools/definitions/core/git/clone.yml +69 -0
- package/dist/tools/definitions/core/git/commit.yml +65 -0
- package/dist/tools/definitions/core/git/push.yml +79 -0
- package/dist/tools/definitions/core/git/worktree.yml +96 -0
- package/dist/tools/definitions/core/notification/notify.sh +152 -0
- package/dist/tools/definitions/core/notification/notify.yml +60 -0
- package/dist/tools/definitions/core/npm/build.yml +75 -0
- package/dist/tools/definitions/core/npm/install.yml +58 -0
- package/dist/tools/definitions/core/npm/test.yml +75 -0
- package/dist/tools/definitions/core/validation/check-reuse.yml +170 -0
- package/dist/tools/definitions/core/validation/validate-handlers.yml +118 -0
- package/dist/tools/definitions/core/validation/validate-readme-stats.yml +155 -0
- package/dist/tools/definitions/core/validation/validate-yaml-syntax.yml +134 -0
- package/dist/tools/definitions/definitions/core/code/fingerprint.sh +273 -0
- package/dist/tools/definitions/definitions/core/code/fingerprint.yml +72 -0
- package/dist/tools/definitions/definitions/core/code/parse.yml +68 -0
- package/dist/tools/definitions/definitions/core/code/register-language.sh +475 -0
- package/dist/tools/definitions/definitions/core/code/register-language.yml +74 -0
- package/dist/tools/definitions/definitions/core/docker/build.yml +73 -0
- package/dist/tools/definitions/definitions/core/docker/run.yml +81 -0
- package/dist/tools/definitions/definitions/core/file/copy.yml +88 -0
- package/dist/tools/definitions/definitions/core/file/read.yml +69 -0
- package/dist/tools/definitions/definitions/core/file/write.yml +75 -0
- package/dist/tools/definitions/definitions/core/git/branch.yml +61 -0
- package/dist/tools/definitions/definitions/core/git/cleanup-worktree.yml +50 -0
- package/dist/tools/definitions/definitions/core/git/clone.yml +69 -0
- package/dist/tools/definitions/definitions/core/git/commit.yml +65 -0
- package/dist/tools/definitions/definitions/core/git/push.yml +79 -0
- package/dist/tools/definitions/definitions/core/git/worktree.yml +96 -0
- package/dist/tools/definitions/definitions/core/notification/notify.sh +152 -0
- package/dist/tools/definitions/definitions/core/notification/notify.yml +60 -0
- package/dist/tools/definitions/definitions/core/npm/build.yml +75 -0
- package/dist/tools/definitions/definitions/core/npm/install.yml +58 -0
- package/dist/tools/definitions/definitions/core/npm/test.yml +75 -0
- package/dist/tools/definitions/definitions/core/validation/check-reuse.yml +170 -0
- package/dist/tools/definitions/definitions/core/validation/validate-handlers.yml +118 -0
- package/dist/tools/definitions/definitions/core/validation/validate-readme-stats.yml +155 -0
- package/dist/tools/definitions/definitions/core/validation/validate-yaml-syntax.yml +134 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-automate.sh +255 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-automate.yml +166 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-close.sh +104 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-close.yml +55 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-mcp-debug.sh +682 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-mcp-debug.yml +167 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-start.sh +101 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-start.yml +62 -0
- package/dist/tools/definitions/definitions/registry.json +795 -0
- package/dist/tools/definitions/definitions/std/README.md +350 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-codebase.yml +72 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-diff.yml +182 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-git-diff.yml +70 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-impact.yml +78 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-requirements.yml +105 -0
- package/dist/tools/definitions/definitions/std/analysis/brainstorm-options.yml +106 -0
- package/dist/tools/definitions/definitions/std/analysis/build-graph.yml +154 -0
- package/dist/tools/definitions/definitions/std/analysis/clarify-requirements.yml +90 -0
- package/dist/tools/definitions/definitions/std/analysis/detect-context.yml +109 -0
- package/dist/tools/definitions/definitions/std/analysis/detect-layers.yml +125 -0
- package/dist/tools/definitions/definitions/std/analysis/generate-tour.yml +102 -0
- package/dist/tools/definitions/definitions/std/analysis/search-enhance.yml +105 -0
- package/dist/tools/definitions/definitions/std/backlog/add.yml +51 -0
- package/dist/tools/definitions/definitions/std/backlog/decide.yml +39 -0
- package/dist/tools/definitions/definitions/std/backlog/github-sync.yml +161 -0
- package/dist/tools/definitions/definitions/std/backlog/list.yml +53 -0
- package/dist/tools/definitions/definitions/std/backlog/load.yml +46 -0
- package/dist/tools/definitions/definitions/std/backlog/resolve.yml +37 -0
- package/dist/tools/definitions/definitions/std/backlog/update.yml +42 -0
- package/dist/tools/definitions/definitions/std/bugfix/diagnose.yml +68 -0
- package/dist/tools/definitions/definitions/std/bugfix/fix.yml +66 -0
- package/dist/tools/definitions/definitions/std/bugfix/verify.yml +69 -0
- package/dist/tools/definitions/definitions/std/constraint/check-decomposition.yml +103 -0
- package/dist/tools/definitions/definitions/std/constraint/check-feature-list.yml +77 -0
- package/dist/tools/definitions/definitions/std/constraint/check-progress.yml +97 -0
- package/dist/tools/definitions/definitions/std/constraint/generate-report.yml +147 -0
- package/dist/tools/definitions/definitions/std/deploy/commit-push.yml +33 -0
- package/dist/tools/definitions/definitions/std/deploy/deploy-backend.yml +37 -0
- package/dist/tools/definitions/definitions/std/deploy/deploy-frontend.yml +37 -0
- package/dist/tools/definitions/definitions/std/deploy/rollback.yml +148 -0
- package/dist/tools/definitions/definitions/std/design/analyze-architecture-impact.yml +113 -0
- package/dist/tools/definitions/definitions/std/design/design-api.yml +55 -0
- package/dist/tools/definitions/definitions/std/design/design-architecture.yml +97 -0
- package/dist/tools/definitions/definitions/std/design/design-db.yml +81 -0
- package/dist/tools/definitions/definitions/std/design/generate-spec.yml +182 -0
- package/dist/tools/definitions/definitions/std/development/develop-api.yml +85 -0
- package/dist/tools/definitions/definitions/std/development/develop-backend.yml +88 -0
- package/dist/tools/definitions/definitions/std/development/develop-frontend.yml +87 -0
- package/dist/tools/definitions/definitions/std/development/develop-shared-types.yml +74 -0
- package/dist/tools/definitions/definitions/std/development/develop-task.yml +122 -0
- package/dist/tools/definitions/definitions/std/development/develop-tests.yml +76 -0
- package/dist/tools/definitions/definitions/std/development/execute-batch.yml +152 -0
- package/dist/tools/definitions/definitions/std/development/fix-issues.yml +100 -0
- package/dist/tools/definitions/definitions/std/development/implement-task.yml +124 -0
- package/dist/tools/definitions/definitions/std/development/review-fix-cycle.yml +232 -0
- package/dist/tools/definitions/definitions/std/evolution/implement.yml +125 -0
- package/dist/tools/definitions/definitions/std/evolution/prioritize.yml +112 -0
- package/dist/tools/definitions/definitions/std/evolution/report-gap.yml +166 -0
- package/dist/tools/definitions/definitions/std/file/read.yml +21 -0
- package/dist/tools/definitions/definitions/std/governance/aggregate-opinions.sh +201 -0
- package/dist/tools/definitions/definitions/std/governance/aggregate-opinions.yml +79 -0
- package/dist/tools/definitions/definitions/std/governance/audit-task.yml +178 -0
- package/dist/tools/definitions/definitions/std/governance/cast-vote.yml +129 -0
- package/dist/tools/definitions/definitions/std/governance/collect-issues.yml +16 -0
- package/dist/tools/definitions/definitions/std/governance/create-signed-document.yml +23 -0
- package/dist/tools/definitions/definitions/std/governance/create-voting-session.yml +101 -0
- package/dist/tools/definitions/definitions/std/governance/define-stance.sh +243 -0
- package/dist/tools/definitions/definitions/std/governance/define-stance.yml +82 -0
- package/dist/tools/definitions/definitions/std/governance/generate-review-report.yml +23 -0
- package/dist/tools/definitions/definitions/std/governance/impeach.yml +179 -0
- package/dist/tools/definitions/definitions/std/governance/multi-stance-review.yml +154 -0
- package/dist/tools/definitions/definitions/std/governance/prepare-artifact.yml +20 -0
- package/dist/tools/definitions/definitions/std/governance/review-spec-approval.yml +262 -0
- package/dist/tools/definitions/definitions/std/governance/rollback.yml +186 -0
- package/dist/tools/definitions/definitions/std/governance/stance-review.yml +149 -0
- package/dist/tools/definitions/definitions/std/governance/track-effect.yml +199 -0
- package/dist/tools/definitions/definitions/std/governance/vote-tally.yml +144 -0
- package/dist/tools/definitions/definitions/std/patch/execute.yml +51 -0
- package/dist/tools/definitions/definitions/std/planning/generate-tasks.yml +36 -0
- package/dist/tools/definitions/definitions/std/planning/load-tasks.yml +44 -0
- package/dist/tools/definitions/definitions/std/planning/split-batch.yml +481 -0
- package/dist/tools/definitions/definitions/std/planning/split-tasks.yml +359 -0
- package/dist/tools/definitions/definitions/std/planning/update-tasks.yml +51 -0
- package/dist/tools/definitions/definitions/std/planning/validate-tasks.yml +46 -0
- package/dist/tools/definitions/definitions/std/project/decide-next-workflow.yml +38 -0
- package/dist/tools/definitions/definitions/std/project/load-state.yml +31 -0
- package/dist/tools/definitions/definitions/std/project/save-state.yml +32 -0
- package/dist/tools/definitions/definitions/std/quality/check-quality.yml +241 -0
- package/dist/tools/definitions/definitions/std/quality/debug-systematic.yml +163 -0
- package/dist/tools/definitions/definitions/std/quality/handle-feedback.yml +108 -0
- package/dist/tools/definitions/definitions/std/quality/review-code.yml +128 -0
- package/dist/tools/definitions/definitions/std/quality/review-spec.yml +140 -0
- package/dist/tools/definitions/definitions/std/quality/review-task.yml +190 -0
- package/dist/tools/definitions/definitions/std/quality/run-tests.yml +80 -0
- package/dist/tools/definitions/definitions/std/quick/analyze.yml +56 -0
- package/dist/tools/definitions/definitions/std/quick/implement.yml +67 -0
- package/dist/tools/definitions/definitions/std/quick/verify.yml +71 -0
- package/dist/tools/definitions/definitions/std/verification/verify_completion.yml +113 -0
- package/dist/tools/definitions/definitions/std/verification/wait-condition.yml +107 -0
- package/dist/tools/definitions/ext/browser/browser-automate.sh +255 -0
- package/dist/tools/definitions/ext/browser/browser-automate.yml +166 -0
- package/dist/tools/definitions/ext/browser/browser-close.sh +104 -0
- package/dist/tools/definitions/ext/browser/browser-close.yml +55 -0
- package/dist/tools/definitions/ext/browser/browser-mcp-debug.sh +682 -0
- package/dist/tools/definitions/ext/browser/browser-mcp-debug.yml +167 -0
- package/dist/tools/definitions/ext/browser/browser-start.sh +101 -0
- package/dist/tools/definitions/ext/browser/browser-start.yml +62 -0
- package/dist/tools/definitions/registry.json +795 -0
- package/dist/tools/definitions/std/README.md +350 -0
- package/dist/tools/definitions/std/analysis/analyze-codebase.yml +72 -0
- package/dist/tools/definitions/std/analysis/analyze-diff.yml +182 -0
- package/dist/tools/definitions/std/analysis/analyze-git-diff.yml +70 -0
- package/dist/tools/definitions/std/analysis/analyze-impact.yml +78 -0
- package/dist/tools/definitions/std/analysis/analyze-requirements.yml +105 -0
- package/dist/tools/definitions/std/analysis/brainstorm-options.yml +106 -0
- package/dist/tools/definitions/std/analysis/build-graph.yml +154 -0
- package/dist/tools/definitions/std/analysis/clarify-requirements.yml +90 -0
- package/dist/tools/definitions/std/analysis/detect-context.yml +109 -0
- package/dist/tools/definitions/std/analysis/detect-layers.yml +125 -0
- package/dist/tools/definitions/std/analysis/generate-tour.yml +102 -0
- package/dist/tools/definitions/std/analysis/search-enhance.yml +105 -0
- package/dist/tools/definitions/std/backlog/add.yml +51 -0
- package/dist/tools/definitions/std/backlog/decide.yml +39 -0
- package/dist/tools/definitions/std/backlog/github-sync.yml +161 -0
- package/dist/tools/definitions/std/backlog/list.yml +53 -0
- package/dist/tools/definitions/std/backlog/load.yml +46 -0
- package/dist/tools/definitions/std/backlog/resolve.yml +37 -0
- package/dist/tools/definitions/std/backlog/update.yml +42 -0
- package/dist/tools/definitions/std/bugfix/diagnose.yml +68 -0
- package/dist/tools/definitions/std/bugfix/fix.yml +66 -0
- package/dist/tools/definitions/std/bugfix/verify.yml +69 -0
- package/dist/tools/definitions/std/constraint/check-decomposition.yml +103 -0
- package/dist/tools/definitions/std/constraint/check-feature-list.yml +77 -0
- package/dist/tools/definitions/std/constraint/check-progress.yml +97 -0
- package/dist/tools/definitions/std/constraint/generate-report.yml +147 -0
- package/dist/tools/definitions/std/deploy/commit-push.yml +33 -0
- package/dist/tools/definitions/std/deploy/deploy-backend.yml +37 -0
- package/dist/tools/definitions/std/deploy/deploy-frontend.yml +37 -0
- package/dist/tools/definitions/std/deploy/rollback.yml +148 -0
- package/dist/tools/definitions/std/design/analyze-architecture-impact.yml +113 -0
- package/dist/tools/definitions/std/design/design-api.yml +55 -0
- package/dist/tools/definitions/std/design/design-architecture.yml +97 -0
- package/dist/tools/definitions/std/design/design-db.yml +81 -0
- package/dist/tools/definitions/std/design/generate-spec.yml +182 -0
- package/dist/tools/definitions/std/development/develop-api.yml +85 -0
- package/dist/tools/definitions/std/development/develop-backend.yml +88 -0
- package/dist/tools/definitions/std/development/develop-frontend.yml +87 -0
- package/dist/tools/definitions/std/development/develop-shared-types.yml +74 -0
- package/dist/tools/definitions/std/development/develop-task.yml +122 -0
- package/dist/tools/definitions/std/development/develop-tests.yml +76 -0
- package/dist/tools/definitions/std/development/execute-batch.yml +152 -0
- package/dist/tools/definitions/std/development/fix-issues.yml +100 -0
- package/dist/tools/definitions/std/development/implement-task.yml +124 -0
- package/dist/tools/definitions/std/development/review-fix-cycle.yml +232 -0
- package/dist/tools/definitions/std/evolution/implement.yml +125 -0
- package/dist/tools/definitions/std/evolution/prioritize.yml +112 -0
- package/dist/tools/definitions/std/evolution/report-gap.yml +166 -0
- package/dist/tools/definitions/std/file/read.yml +21 -0
- package/dist/tools/definitions/std/governance/aggregate-opinions.sh +201 -0
- package/dist/tools/definitions/std/governance/aggregate-opinions.yml +79 -0
- package/dist/tools/definitions/std/governance/audit-task.yml +178 -0
- package/dist/tools/definitions/std/governance/cast-vote.yml +129 -0
- package/dist/tools/definitions/std/governance/collect-issues.yml +16 -0
- package/dist/tools/definitions/std/governance/create-signed-document.yml +23 -0
- package/dist/tools/definitions/std/governance/create-voting-session.yml +101 -0
- package/dist/tools/definitions/std/governance/define-stance.sh +243 -0
- package/dist/tools/definitions/std/governance/define-stance.yml +82 -0
- package/dist/tools/definitions/std/governance/generate-review-report.yml +23 -0
- package/dist/tools/definitions/std/governance/impeach.yml +179 -0
- package/dist/tools/definitions/std/governance/multi-stance-review.yml +154 -0
- package/dist/tools/definitions/std/governance/prepare-artifact.yml +20 -0
- package/dist/tools/definitions/std/governance/review-spec-approval.yml +262 -0
- package/dist/tools/definitions/std/governance/rollback.yml +186 -0
- package/dist/tools/definitions/std/governance/stance-review.yml +149 -0
- package/dist/tools/definitions/std/governance/track-effect.yml +199 -0
- package/dist/tools/definitions/std/governance/vote-tally.yml +144 -0
- package/dist/tools/definitions/std/patch/execute.yml +51 -0
- package/dist/tools/definitions/std/planning/generate-tasks.yml +36 -0
- package/dist/tools/definitions/std/planning/load-tasks.yml +44 -0
- package/dist/tools/definitions/std/planning/split-batch.yml +481 -0
- package/dist/tools/definitions/std/planning/split-tasks.yml +359 -0
- package/dist/tools/definitions/std/planning/update-tasks.yml +51 -0
- package/dist/tools/definitions/std/planning/validate-tasks.yml +46 -0
- package/dist/tools/definitions/std/project/decide-next-workflow.yml +38 -0
- package/dist/tools/definitions/std/project/load-state.yml +31 -0
- package/dist/tools/definitions/std/project/save-state.yml +32 -0
- package/dist/tools/definitions/std/quality/check-quality.yml +241 -0
- package/dist/tools/definitions/std/quality/debug-systematic.yml +163 -0
- package/dist/tools/definitions/std/quality/handle-feedback.yml +108 -0
- package/dist/tools/definitions/std/quality/review-code.yml +128 -0
- package/dist/tools/definitions/std/quality/review-spec.yml +140 -0
- package/dist/tools/definitions/std/quality/review-task.yml +190 -0
- package/dist/tools/definitions/std/quality/run-tests.yml +80 -0
- package/dist/tools/definitions/std/quick/analyze.yml +56 -0
- package/dist/tools/definitions/std/quick/implement.yml +67 -0
- package/dist/tools/definitions/std/quick/verify.yml +71 -0
- package/dist/tools/definitions/std/verification/verify_completion.yml +113 -0
- package/dist/tools/definitions/std/verification/wait-condition.yml +107 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/loader.d.ts +21 -0
- package/dist/tools/loader.d.ts.map +1 -0
- package/dist/tools/loader.js +199 -0
- package/dist/tools/loader.js.map +1 -0
- package/dist/tools/paths.d.ts +9 -0
- package/dist/tools/paths.d.ts.map +1 -0
- package/dist/tools/paths.js +51 -0
- package/dist/tools/paths.js.map +1 -0
- package/dist/types/constraint.d.ts +4 -0
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/project-config.d.ts +57 -0
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/session.d.ts +6 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +37 -1
- package/dist/utils/exec.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Skills - 能力单元层
|
|
2
|
+
|
|
3
|
+
Skills 是工作流引擎的**能力单元层**,定义可复用的可调用能力(原名为 Steps,v0.8 重命名为 Skills)。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 核心定义
|
|
8
|
+
|
|
9
|
+
**Skill = 能力单元,可调用 Agent / Tools / 脚本,用户可直接触发**
|
|
10
|
+
|
|
11
|
+
| 特征 | 说明 |
|
|
12
|
+
|------|------|
|
|
13
|
+
| 执行方式 | Agent / Tool / Script / Builtin |
|
|
14
|
+
| Agent 调用 | ✅ 可选 |
|
|
15
|
+
| 复用范围 | 跨项目复用 |
|
|
16
|
+
| 用户可直接调用 | ✅ 支持(通过命令)|
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 命名说明
|
|
21
|
+
|
|
22
|
+
- **v0.7 及之前**: 叫 `Step` - 执行单元
|
|
23
|
+
- **v0.8 及之后**: 叫 `Skill` - 能力单元(用户可直接调用)
|
|
24
|
+
- 工作流内部的执行步骤仍叫 `Step`,概念不变
|
|
25
|
+
|
|
26
|
+
| 特征 | 说明 |
|
|
27
|
+
|------|------|
|
|
28
|
+
| 执行方式 | Agent / Tool / Script / Builtin |
|
|
29
|
+
| Agent 调用 | ✅ 可选 |
|
|
30
|
+
| 复用范围 | 项目内复用 |
|
|
31
|
+
| 创建文件 | ✅ 可选(可内联定义) |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Step 类型
|
|
36
|
+
|
|
37
|
+
### 1. Agent Step(智能决策)
|
|
38
|
+
|
|
39
|
+
调用 Agent 进行智能决策和代码生成。
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
# steps/quality/run-tests.yml
|
|
43
|
+
name: run-tests
|
|
44
|
+
agent: codex # 调用 Agent
|
|
45
|
+
temperature: 0.2
|
|
46
|
+
|
|
47
|
+
prompt: |
|
|
48
|
+
运行项目测试并报告结果...
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**适用场景**:
|
|
52
|
+
- 需要 AI 理解上下文
|
|
53
|
+
- 需要智能决策
|
|
54
|
+
- 代码生成/修改
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### 2. Tool Step(复用能力)
|
|
59
|
+
|
|
60
|
+
引用 Tools 层定义的能力。
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
# Workflow 中引用
|
|
64
|
+
steps:
|
|
65
|
+
- id: start-container
|
|
66
|
+
tool: docker/run # 引用 tools/docker/run.yml
|
|
67
|
+
input:
|
|
68
|
+
image_name: "myapp"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**适用场景**:
|
|
72
|
+
- 复用已定义的 Tool
|
|
73
|
+
- 跨项目共享能力
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### 3. Script Step(一次性脚本)
|
|
78
|
+
|
|
79
|
+
在 Workflow 中内联脚本。
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
steps:
|
|
83
|
+
- id: check-files
|
|
84
|
+
script: |
|
|
85
|
+
#!/bin/bash
|
|
86
|
+
ls -la
|
|
87
|
+
echo "Done"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**适用场景**:
|
|
91
|
+
- 一次性脚本
|
|
92
|
+
- 无需复用
|
|
93
|
+
- 简单操作
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### 4. Builtin Step(内置处理器)
|
|
98
|
+
|
|
99
|
+
调用运行时内置处理器。
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
steps:
|
|
103
|
+
- id: generate-report
|
|
104
|
+
step: evolution/report-gap # 内置处理器
|
|
105
|
+
input:
|
|
106
|
+
execution_id: "xxx"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**适用场景**:
|
|
110
|
+
- 高频调用
|
|
111
|
+
- 需要高性能
|
|
112
|
+
- 核心功能
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 目录结构
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
skills/
|
|
120
|
+
├── quality/ # 质量相关
|
|
121
|
+
│ ├── run-tests.yml # 运行测试(agent)
|
|
122
|
+
│ └── lint.yml # 代码检查
|
|
123
|
+
│
|
|
124
|
+
├── evolution/ # 进化相关
|
|
125
|
+
│ ├── report-gap.yml # 生成 Gap Report(builtin)
|
|
126
|
+
│ ├── prioritize.yml # 优先级排序(builtin)
|
|
127
|
+
│ └── implement.yml # 实现建议(agent)
|
|
128
|
+
│
|
|
129
|
+
├── governance/ # 治理相关
|
|
130
|
+
│ ├── multi-stance-review.yml
|
|
131
|
+
│ └── audit.yml
|
|
132
|
+
│
|
|
133
|
+
├── analysis/ # 分析相关
|
|
134
|
+
│ ├── detect-context.yml
|
|
135
|
+
│ └── parse-code.yml
|
|
136
|
+
│
|
|
137
|
+
├── design/ # 设计相关
|
|
138
|
+
│ ├── generate-spec.yml # 生成 Spec 约束文档
|
|
139
|
+
│
|
|
140
|
+
└── ...
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Skill 文件格式
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
# skills/<category>/<name>.yml
|
|
149
|
+
id: unique-id # 唯一标识 (可选,默认从路径生成)
|
|
150
|
+
name: Skill 名称 # 人类可读名称
|
|
151
|
+
description: 详细描述 # Skill 做什么
|
|
152
|
+
category: category-name # 分类
|
|
153
|
+
version: 1.0.0
|
|
154
|
+
|
|
155
|
+
# 开放调用配置(用户可直接调用)
|
|
156
|
+
openclaw:
|
|
157
|
+
userInvocable: true # 是否允许用户直接调用
|
|
158
|
+
command: "!command" # 触发命令
|
|
159
|
+
emoji: "🔍" # 显示 emoji
|
|
160
|
+
|
|
161
|
+
# 关键词(用于意图匹配)
|
|
162
|
+
keywords: ["分析", "架构", "关键词"]
|
|
163
|
+
|
|
164
|
+
# 默认工作流(用户调用时自动执行)
|
|
165
|
+
defaultWorkflow: wf-analyze
|
|
166
|
+
|
|
167
|
+
# Agent 配置(可选)
|
|
168
|
+
agent: codex
|
|
169
|
+
temperature: 0.3
|
|
170
|
+
|
|
171
|
+
# 可用工具(agent 类型时)
|
|
172
|
+
tools:
|
|
173
|
+
- file-read
|
|
174
|
+
- file-write
|
|
175
|
+
- bash
|
|
176
|
+
|
|
177
|
+
# 输入定义
|
|
178
|
+
inputs:
|
|
179
|
+
- name: param1
|
|
180
|
+
type: string
|
|
181
|
+
required: true
|
|
182
|
+
description: 参数说明
|
|
183
|
+
|
|
184
|
+
# 输出定义
|
|
185
|
+
outputs:
|
|
186
|
+
- name: result1
|
|
187
|
+
type: string
|
|
188
|
+
description: 输出说明
|
|
189
|
+
|
|
190
|
+
# Prompt(agent 类型时)
|
|
191
|
+
prompt: |
|
|
192
|
+
执行任务...
|
|
193
|
+
|
|
194
|
+
## 输入
|
|
195
|
+
{{param1}}
|
|
196
|
+
|
|
197
|
+
# 或执行配置(builtin 类型时)
|
|
198
|
+
execute:
|
|
199
|
+
type: builtin
|
|
200
|
+
handler: category/handler-name
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 与 Tools 的边界
|
|
206
|
+
|
|
207
|
+
### 判断标准
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
需要跨项目复用?
|
|
211
|
+
│
|
|
212
|
+
├── 是 → 创建 Tool 文件(tools/xxx.yml)
|
|
213
|
+
│
|
|
214
|
+
└── 否 → 在 Workflow 中用 script step
|
|
215
|
+
|
|
216
|
+
需要 Agent 智能决策?
|
|
217
|
+
│
|
|
218
|
+
├── 是 → 创建 Step 文件(agent 类型)
|
|
219
|
+
│
|
|
220
|
+
└── 否 → 用 Tool 或 script step
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 示例对比
|
|
224
|
+
|
|
225
|
+
| 场景 | 用 Tool | 用 Step |
|
|
226
|
+
|------|:-------:|:-------:|
|
|
227
|
+
| 运行 Docker 容器 | ✅ docker/run | - |
|
|
228
|
+
| 浏览器操作 | ✅ browser/automate | - |
|
|
229
|
+
| 运行测试(需 AI 判断) | - | ✅ quality/run-tests |
|
|
230
|
+
| 分析代码(需 AI 理解) | - | ✅ analysis/parse-code |
|
|
231
|
+
| 简单脚本(一次性) | - | script step |
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 在 Workflow 中使用
|
|
236
|
+
|
|
237
|
+
### 引用 Step 文件
|
|
238
|
+
|
|
239
|
+
```yaml
|
|
240
|
+
# workflows/wf-evolution.yml
|
|
241
|
+
steps:
|
|
242
|
+
- id: prioritize
|
|
243
|
+
step: evolution/prioritize # 引用 steps/evolution/prioritize.yml
|
|
244
|
+
input:
|
|
245
|
+
project_path: "/path/to/project"
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### 内联定义
|
|
249
|
+
|
|
250
|
+
```yaml
|
|
251
|
+
# workflows/xxx.yml
|
|
252
|
+
steps:
|
|
253
|
+
# 引用 Tool
|
|
254
|
+
- id: start
|
|
255
|
+
tool: docker/run
|
|
256
|
+
input:
|
|
257
|
+
image_name: "myapp"
|
|
258
|
+
|
|
259
|
+
# 内联脚本
|
|
260
|
+
- id: check
|
|
261
|
+
script: |
|
|
262
|
+
curl http://localhost:3000/health
|
|
263
|
+
|
|
264
|
+
# 引用 Step 文件
|
|
265
|
+
- id: test
|
|
266
|
+
step: quality/run-tests
|
|
267
|
+
input:
|
|
268
|
+
project_path: "${inputs.project_path}"
|
|
269
|
+
|
|
270
|
+
# 调用 Agent
|
|
271
|
+
- id: fix
|
|
272
|
+
agent: codex
|
|
273
|
+
prompt: |
|
|
274
|
+
修复发现的错误...
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 设计原则
|
|
280
|
+
|
|
281
|
+
### 1. 可复用性
|
|
282
|
+
|
|
283
|
+
Step 文件应该是可复用的执行单元,不绑定特定项目。
|
|
284
|
+
|
|
285
|
+
```yaml
|
|
286
|
+
# ✅ 好的设计:参数化
|
|
287
|
+
inputs:
|
|
288
|
+
- name: project_path
|
|
289
|
+
type: path
|
|
290
|
+
required: true
|
|
291
|
+
|
|
292
|
+
# ❌ 坏的设计:硬编码
|
|
293
|
+
script: |
|
|
294
|
+
cd /fixed/path/to/project
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### 2. 单一职责
|
|
298
|
+
|
|
299
|
+
每个 Step 文件只做一件事。
|
|
300
|
+
|
|
301
|
+
### 3. 明确输入输出
|
|
302
|
+
|
|
303
|
+
```yaml
|
|
304
|
+
inputs:
|
|
305
|
+
- name: project_path
|
|
306
|
+
type: path
|
|
307
|
+
required: true
|
|
308
|
+
|
|
309
|
+
outputs:
|
|
310
|
+
- name: test_results
|
|
311
|
+
type: object
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Skill vs Tool vs Workflow vs Step
|
|
317
|
+
|
|
318
|
+
| 概念 | 职责 | Agent | 用户可调用 | 文件 |
|
|
319
|
+
|------|------|:-----:|:---------:|------|
|
|
320
|
+
| **Tool** | 纯脚本能力 | ❌ | - | tools/xxx.yml |
|
|
321
|
+
| **Skill** | 可调用能力单元 | ✅ 可选 | ✅ | skills/xxx.yml |
|
|
322
|
+
| **Workflow** | 流程编排 | - | ✅ | workflows/xxx.yml |
|
|
323
|
+
| **Step** | 工作流内部执行步骤 | - | - | 内联在 Workflow 中 |
|
|
324
|
+
|
|
325
|
+
**层级关系:**
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
Skill(能力单元层)
|
|
329
|
+
│
|
|
330
|
+
├── 可被用户直接调用
|
|
331
|
+
│ ↓
|
|
332
|
+
└── 触发 Workflow(编排层)
|
|
333
|
+
│
|
|
334
|
+
├── Step 执行(执行单元)
|
|
335
|
+
│ ├── agent 类型 → 调用 Agent
|
|
336
|
+
│ ├── tool 引用 → 调用 Tool
|
|
337
|
+
│ └── builtin → 内置处理器
|
|
338
|
+
│
|
|
339
|
+
├── Tool 引用(复用能力)
|
|
340
|
+
│
|
|
341
|
+
└── script step(一次性脚本)
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## 相关文档
|
|
347
|
+
|
|
348
|
+
- [Tools 能力层](../tools/README.md)
|
|
349
|
+
- [Workflow 编排](../workflows/README.md)
|
|
350
|
+
- [Skill 开发指南](../docs/skill-development-guide.md)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# analyze-codebase.yml
|
|
2
|
+
name: analyze-codebase
|
|
3
|
+
stage: plan
|
|
4
|
+
description: 分析代码库,生成知识图谱
|
|
5
|
+
agent: codex
|
|
6
|
+
temperature: 0.3
|
|
7
|
+
|
|
8
|
+
tools:
|
|
9
|
+
- file-read
|
|
10
|
+
- file-write
|
|
11
|
+
|
|
12
|
+
prompt: |
|
|
13
|
+
你是代码分析专家。分析代码库并生成知识图谱。
|
|
14
|
+
|
|
15
|
+
{{input}}
|
|
16
|
+
|
|
17
|
+
## 任务
|
|
18
|
+
|
|
19
|
+
### 1. 扫描代码文件
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
find . -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" | grep -v node_modules | grep -v dist | head -100
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. 分析代码结构
|
|
26
|
+
|
|
27
|
+
识别:
|
|
28
|
+
- 入口文件
|
|
29
|
+
- 核心模块
|
|
30
|
+
- 依赖关系
|
|
31
|
+
- 配置文件
|
|
32
|
+
|
|
33
|
+
### 3. 生成知识图谱
|
|
34
|
+
|
|
35
|
+
创建 `knowledge-graph.json`:
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"nodes": [
|
|
39
|
+
{"id": "src/index.ts", "type": "entry", "label": "主入口"},
|
|
40
|
+
{"id": "src/api", "type": "module", "label": "API 模块"}
|
|
41
|
+
],
|
|
42
|
+
"edges": [
|
|
43
|
+
{"from": "src/index.ts", "to": "src/api", "type": "imports"}
|
|
44
|
+
],
|
|
45
|
+
"summary": {
|
|
46
|
+
"language": "TypeScript",
|
|
47
|
+
"framework": "Express",
|
|
48
|
+
"totalFiles": 42,
|
|
49
|
+
"totalDeps": 15
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 原则
|
|
55
|
+
|
|
56
|
+
- 关注核心文件,忽略琐碎
|
|
57
|
+
- 识别关键依赖
|
|
58
|
+
- 总结项目架构
|
|
59
|
+
|
|
60
|
+
inputs:
|
|
61
|
+
- name: scope
|
|
62
|
+
type: string
|
|
63
|
+
default: "."
|
|
64
|
+
description: 分析范围
|
|
65
|
+
|
|
66
|
+
- name: exclude
|
|
67
|
+
type: array
|
|
68
|
+
default: ["node_modules", "dist", "coverage", ".git", "build"]
|
|
69
|
+
description: 排除目录
|
|
70
|
+
|
|
71
|
+
outputs:
|
|
72
|
+
- knowledge-graph.json
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
name: analyze-diff
|
|
2
|
+
stage: plan
|
|
3
|
+
description: |
|
|
4
|
+
分析 Git diff 影响范围(智能版本)。
|
|
5
|
+
|
|
6
|
+
通过 fingerprint 工具区分变更级别:
|
|
7
|
+
- STRUCTURAL: 结构性变更(函数签名、类结构、导入变化)
|
|
8
|
+
- COSMETIC: 表面变更(注释、格式化)
|
|
9
|
+
- NONE: 无变更
|
|
10
|
+
|
|
11
|
+
核心功能:
|
|
12
|
+
- 智能跳过表面变更分析
|
|
13
|
+
- 变更的组件识别
|
|
14
|
+
- 受影响的下游组件
|
|
15
|
+
- 架构层级影响
|
|
16
|
+
- 风险评估
|
|
17
|
+
|
|
18
|
+
用途:
|
|
19
|
+
- 代码审查前置分析(节省 30-50% 时间)
|
|
20
|
+
- 测试范围确定
|
|
21
|
+
- 发布影响评估
|
|
22
|
+
|
|
23
|
+
agent: codex
|
|
24
|
+
timeout: 300 # 5 分钟
|
|
25
|
+
|
|
26
|
+
# 集成的工具
|
|
27
|
+
tools:
|
|
28
|
+
- code/fingerprint
|
|
29
|
+
|
|
30
|
+
inputs:
|
|
31
|
+
- name: project_path
|
|
32
|
+
type: string
|
|
33
|
+
required: true
|
|
34
|
+
description: 项目根路径
|
|
35
|
+
|
|
36
|
+
- name: base_ref
|
|
37
|
+
type: string
|
|
38
|
+
required: false
|
|
39
|
+
default: "main"
|
|
40
|
+
description: 基准分支或 commit
|
|
41
|
+
|
|
42
|
+
- name: head_ref
|
|
43
|
+
type: string
|
|
44
|
+
required: false
|
|
45
|
+
default: "HEAD"
|
|
46
|
+
description: 目标分支或 commit
|
|
47
|
+
|
|
48
|
+
- name: knowledge_graph_path
|
|
49
|
+
type: string
|
|
50
|
+
required: false
|
|
51
|
+
description: 知识图谱文件路径(默认 .agent/knowledge-graph.json)
|
|
52
|
+
|
|
53
|
+
outputs:
|
|
54
|
+
- name: changed_files
|
|
55
|
+
type: array
|
|
56
|
+
description: 变更文件列表
|
|
57
|
+
|
|
58
|
+
- name: changed_nodes
|
|
59
|
+
type: array
|
|
60
|
+
description: 变更的知识图谱节点
|
|
61
|
+
|
|
62
|
+
- name: affected_nodes
|
|
63
|
+
type: array
|
|
64
|
+
description: 受影响的下游节点
|
|
65
|
+
|
|
66
|
+
- name: affected_layers
|
|
67
|
+
type: array
|
|
68
|
+
description: 涉及的架构层级
|
|
69
|
+
|
|
70
|
+
- name: risk_assessment
|
|
71
|
+
type: object
|
|
72
|
+
description: 风险评估结果
|
|
73
|
+
|
|
74
|
+
- name: report
|
|
75
|
+
type: string
|
|
76
|
+
description: Markdown 格式的分析报告
|
|
77
|
+
|
|
78
|
+
prompt: |
|
|
79
|
+
分析项目 {{project_path}} 的 Git diff 影响范围。
|
|
80
|
+
|
|
81
|
+
## Step 0: 智能变更检测(fingerprint)
|
|
82
|
+
|
|
83
|
+
对每个变更文件执行结构指纹分析:
|
|
84
|
+
```bash
|
|
85
|
+
# 获取变更文件
|
|
86
|
+
CHANGED_FILES=$(git diff --name-only {{base_ref}}...{{head_ref}})
|
|
87
|
+
|
|
88
|
+
# 对每个文件检测变更级别
|
|
89
|
+
for FILE in $CHANGED_FILES; do
|
|
90
|
+
fingerprint.sh "$FILE" "{{project_path}}" "{{base_ref}}"
|
|
91
|
+
done
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
根据变更级别决定分析策略:
|
|
95
|
+
- **STRUCTURAL**: 执行完整影响分析
|
|
96
|
+
- **COSMETIC**: 跳过深度分析,仅记录格式变更
|
|
97
|
+
- **NONE**: 跳过该文件
|
|
98
|
+
|
|
99
|
+
## Step 1: 获取变更文件列表
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# 只分析 STRUCTURAL 变更
|
|
103
|
+
git diff --name-only {{base_ref}}...{{head_ref}}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Step 2: 加载知识图谱
|
|
107
|
+
|
|
108
|
+
- 路径:{{knowledge_graph_path}} 或 .agent/knowledge-graph.json
|
|
109
|
+
- 如果不存在,需要先运行 wf-analyze 生成
|
|
110
|
+
|
|
111
|
+
## Step 3: 映射变更文件到知识图谱节点
|
|
112
|
+
|
|
113
|
+
- 识别变更的组件(函数、类、模块)
|
|
114
|
+
- 追踪下游依赖关系
|
|
115
|
+
- 确定受影响范围
|
|
116
|
+
|
|
117
|
+
## Step 4: 架构层级分析
|
|
118
|
+
|
|
119
|
+
- 识别涉及的层级(如:presentation、business、data)
|
|
120
|
+
- 判断是否跨层变更
|
|
121
|
+
|
|
122
|
+
## Step 5: 风险评估
|
|
123
|
+
|
|
124
|
+
- 高复杂度组件变更
|
|
125
|
+
- 跨层级影响
|
|
126
|
+
- 大范围下游影响
|
|
127
|
+
- 新增/未映射文件
|
|
128
|
+
|
|
129
|
+
## 输出格式
|
|
130
|
+
|
|
131
|
+
生成结构化的影响分析报告,包含:
|
|
132
|
+
- 变更级别统计(STRUCTURAL/COSMETIC/NONE)
|
|
133
|
+
- 变更组件清单
|
|
134
|
+
- 受影响组件清单
|
|
135
|
+
- 架构层级影响
|
|
136
|
+
- 风险等级和建议
|
|
137
|
+
|
|
138
|
+
## 示例输出
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
# Diff Analysis: my-project
|
|
142
|
+
|
|
143
|
+
## Change Level Summary
|
|
144
|
+
|
|
145
|
+
| Level | Count | Files |
|
|
146
|
+
|-------|-------|-------|
|
|
147
|
+
| STRUCTURAL | 3 | auth.ts, user.ts, api.ts |
|
|
148
|
+
| COSMETIC | 2 | utils.ts (格式), config.ts (注释) |
|
|
149
|
+
| NONE | 0 | - |
|
|
150
|
+
|
|
151
|
+
## Changed Components (STRUCTURAL only)
|
|
152
|
+
|
|
153
|
+
- **UserService** (class) — 用户认证服务
|
|
154
|
+
- File: `src/services/auth.ts`
|
|
155
|
+
- Complexity: complex
|
|
156
|
+
- Change: 新增 logout 方法
|
|
157
|
+
|
|
158
|
+
## Affected Components
|
|
159
|
+
|
|
160
|
+
这些组件连接到变更代码,可能需要注意:
|
|
161
|
+
|
|
162
|
+
- **LoginComponent** (function) — 登录表单
|
|
163
|
+
- **AuthMiddleware** (function) — 认证中间件
|
|
164
|
+
|
|
165
|
+
## Affected Layers
|
|
166
|
+
|
|
167
|
+
- **presentation**: 前端展示层
|
|
168
|
+
- **business**: 业务逻辑层
|
|
169
|
+
|
|
170
|
+
## Risk Assessment
|
|
171
|
+
|
|
172
|
+
- **High complexity**: 1 个复杂组件变更: UserService
|
|
173
|
+
- **Cross-layer impact**: 变更跨越 2 个架构层级
|
|
174
|
+
- **Wide blast radius**: 5 个组件受下游影响
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
retry:
|
|
178
|
+
max_attempts: 2
|
|
179
|
+
backoff: exponential
|
|
180
|
+
initial_delay: 5000
|
|
181
|
+
|
|
182
|
+
version: "1.0.0"
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# analyze-git-diff.yml
|
|
2
|
+
name: analyze-git-diff
|
|
3
|
+
stage: plan
|
|
4
|
+
description: 分析 Git 变更
|
|
5
|
+
agent: codex
|
|
6
|
+
temperature: 0.2
|
|
7
|
+
|
|
8
|
+
tools:
|
|
9
|
+
- file-read
|
|
10
|
+
- git-diff
|
|
11
|
+
|
|
12
|
+
prompt: |
|
|
13
|
+
你是 Git 分析专家。分析代码变更内容。
|
|
14
|
+
|
|
15
|
+
{{input}}
|
|
16
|
+
|
|
17
|
+
## 任务
|
|
18
|
+
|
|
19
|
+
### 1. 获取变更
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git diff --name-only HEAD~1 2>/dev/null || echo "no git"
|
|
23
|
+
git diff HEAD~1 2>/dev/null | head -200
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. 分析变更类型
|
|
27
|
+
|
|
28
|
+
分类变更:
|
|
29
|
+
- **功能新增**:新文件、新函数
|
|
30
|
+
- **Bug 修复**:小范围修改
|
|
31
|
+
- **重构**:文件移动、重命名
|
|
32
|
+
- **文档**:*.md 文件
|
|
33
|
+
- **配置**:*.json, *.yml
|
|
34
|
+
|
|
35
|
+
### 3. 输出变更报告
|
|
36
|
+
|
|
37
|
+
创建 `git-diff-report.json`:
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"files": ["src/api.ts", "src/utils.ts"],
|
|
41
|
+
"changes": [
|
|
42
|
+
{"file": "src/api.ts", "type": "modified", "lines": 15}
|
|
43
|
+
],
|
|
44
|
+
"summary": {
|
|
45
|
+
"added": 20,
|
|
46
|
+
"removed": 5,
|
|
47
|
+
"files": 2
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 原则
|
|
53
|
+
|
|
54
|
+
- 关注有意义的变化
|
|
55
|
+
- 识别潜在的破坏性变更
|
|
56
|
+
- 生成简洁摘要
|
|
57
|
+
|
|
58
|
+
inputs:
|
|
59
|
+
- name: baseRef
|
|
60
|
+
type: string
|
|
61
|
+
default: "HEAD~1"
|
|
62
|
+
description: Git 基准引用
|
|
63
|
+
|
|
64
|
+
- name: headRef
|
|
65
|
+
type: string
|
|
66
|
+
default: "HEAD"
|
|
67
|
+
description: Git 目标引用
|
|
68
|
+
|
|
69
|
+
outputs:
|
|
70
|
+
- git-diff-report.json
|