@gong-ym/ai-spec-auto 0.2.3
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/.agents/commands/README.md +33 -0
- package/.agents/commands/claude/spec-start-review.md +88 -0
- package/.agents/commands/codex/spec-continue.md +74 -0
- package/.agents/commands/codex/spec-orchestrate.md +35 -0
- package/.agents/commands/codex/spec-start-review.md +88 -0
- package/.agents/commands/codex/spec-start.md +67 -0
- package/.agents/commands/codex/spec-status.md +22 -0
- package/.agents/commands/codex/spec-stop.md +29 -0
- package/.agents/commands/codex/spec-update.md +40 -0
- package/.agents/commands/common/branch-review.md +117 -0
- package/.agents/commands/common/project-init.md +25 -0
- package/.agents/commands/common/spec-continue.md +74 -0
- package/.agents/commands/common/spec-orchestrate.md +35 -0
- package/.agents/commands/common/spec-start-review.md +82 -0
- package/.agents/commands/common/spec-start.md +67 -0
- package/.agents/commands/common/spec-status.md +22 -0
- package/.agents/commands/common/spec-stop.md +29 -0
- package/.agents/commands/common/spec-update.md +40 -0
- package/.agents/commands/cursor/opsx-apply.md +55 -0
- package/.agents/commands/cursor/opsx-archive.md +48 -0
- package/.agents/commands/cursor/opsx-explore.md +45 -0
- package/.agents/commands/cursor/opsx-propose.md +59 -0
- package/.agents/commands/cursor/spec-continue.md +63 -0
- package/.agents/commands/cursor/spec-orchestrate.md +53 -0
- package/.agents/commands/cursor/spec-start-review.md +78 -0
- package/.agents/commands/cursor/spec-start.md +59 -0
- package/.agents/commands/cursor/spec-status.md +30 -0
- package/.agents/commands/cursor/spec-stop.md +29 -0
- package/.agents/commands/cursor/spec-update.md +41 -0
- package/.agents/flows/FRONTMATTER.md +263 -0
- package/.agents/flows/RUN_OUTPUT.md +263 -0
- package/.agents/flows/common/README.md +29 -0
- package/.agents/flows/common/bugfix-to-verification.md +95 -0
- package/.agents/flows/common/change-to-architecture-review.md +89 -0
- package/.agents/flows/common/change-to-release.md +94 -0
- package/.agents/flows/common/prd-to-delivery.md +184 -0
- package/.agents/flows/common/requirement-to-observability.md +97 -0
- package/.agents/orchestration/README.md +22 -0
- package/.agents/orchestration/expert-dispatch-spec.md +155 -0
- package/.agents/orchestration/expert-executor-spec.md +84 -0
- package/.agents/orchestration/expert-runtime-action-spec.md +73 -0
- package/.agents/orchestration/runtime-state-handoff-spec.md +264 -0
- package/.agents/orchestration/task-anchor-spec.md +212 -0
- package/.agents/orchestration/task-orchestrator-adapter-payload.md +153 -0
- package/.agents/orchestration/task-orchestrator-bootstrap-payload.md +145 -0
- package/.agents/orchestration/task-orchestrator-output-extractor-spec.md +93 -0
- package/.agents/orchestration/task-orchestrator-run-plan-template.md +312 -0
- package/.agents/orchestration/task-orchestrator-runtime-hooks.md +214 -0
- package/.agents/registry/README.md +63 -0
- package/.agents/registry/flows.json +125 -0
- package/.agents/registry/profiles.json +101 -0
- package/.agents/registry/roles.json +1266 -0
- package/.agents/registry/rules.json +148 -0
- package/.agents/registry/scenario-packages.json +123 -0
- package/.agents/registry/skills.json +130 -0
- package/.agents/roles/INDEX.md +346 -0
- package/.agents/roles/common/README.md +76 -0
- package/.agents/roles/common/archive-change.md +80 -0
- package/.agents/roles/common/backend-implementer.md +92 -0
- package/.agents/roles/common/code-guardian.md +151 -0
- package/.agents/roles/common/frontend-implementer.md +146 -0
- package/.agents/roles/common/requirement-analyst.md +138 -0
- package/.agents/roles/common/task-orchestrator-routing.md +301 -0
- package/.agents/roles/common/task-orchestrator.md +224 -0
- package/.agents/roles/common/tooling-implementer.md +92 -0
- package/.agents/roles/domains/README.md +35 -0
- package/.agents/roles/domains/delivery/README.md +11 -0
- package/.agents/roles/domains/delivery/container-specialist.md +50 -0
- package/.agents/roles/domains/delivery/deployment-specialist.md +50 -0
- package/.agents/roles/domains/delivery/pipeline-specialist.md +50 -0
- package/.agents/roles/domains/demand-design/README.md +16 -0
- package/.agents/roles/domains/demand-design/api-contract-specialist.md +52 -0
- package/.agents/roles/domains/demand-design/design-collaborator.md +58 -0
- package/.agents/roles/domains/documentation/README.md +11 -0
- package/.agents/roles/domains/documentation/api-doc-specialist.md +50 -0
- package/.agents/roles/domains/documentation/component-doc-specialist.md +49 -0
- package/.agents/roles/domains/documentation/technical-writing-specialist.md +48 -0
- package/.agents/roles/domains/engineering/README.md +17 -0
- package/.agents/roles/domains/engineering/architecture-advisor.md +53 -0
- package/.agents/roles/domains/engineering/build-specialist.md +51 -0
- package/.agents/roles/domains/engineering/dependency-governor.md +52 -0
- package/.agents/roles/domains/governance/README.md +17 -0
- package/.agents/roles/domains/governance/api-governance-specialist.md +51 -0
- package/.agents/roles/domains/governance/lint-policy-specialist.md +49 -0
- package/.agents/roles/domains/governance/route-governance-specialist.md +52 -0
- package/.agents/roles/domains/observability/README.md +11 -0
- package/.agents/roles/domains/observability/error-tracker.md +50 -0
- package/.agents/roles/domains/observability/event-instrumentation-specialist.md +51 -0
- package/.agents/roles/domains/observability/rum-analyst.md +50 -0
- package/.agents/roles/domains/performance/README.md +11 -0
- package/.agents/roles/domains/performance/asset-optimizer.md +50 -0
- package/.agents/roles/domains/performance/performance-auditor.md +56 -0
- package/.agents/roles/domains/performance/vitals-analyst.md +50 -0
- package/.agents/roles/domains/security-a11y/README.md +11 -0
- package/.agents/roles/domains/security-a11y/a11y-auditor.md +50 -0
- package/.agents/roles/domains/security-a11y/aria-specialist.md +51 -0
- package/.agents/roles/domains/security-a11y/security-reviewer.md +49 -0
- package/.agents/roles/domains/testing/README.md +12 -0
- package/.agents/roles/domains/testing/coverage-analyst.md +50 -0
- package/.agents/roles/domains/testing/e2e-test-specialist.md +51 -0
- package/.agents/roles/domains/testing/unit-test-specialist.md +56 -0
- package/.agents/roles/domains/testing/verification-reviewer.md +67 -0
- package/.agents/rules/README.md +87 -0
- package/.agents/rules/common/02-/347/274/226/347/240/201/350/247/204/350/214/203.md +45 -0
- package/.agents/rules/common/08-/351/200/232/347/224/250/347/272/246/346/235/237.md +63 -0
- package/.agents/rules/common/10-/346/226/207/346/241/243/350/247/204/350/214/203.md +101 -0
- package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +46 -0
- package/.agents/rules/common/14-/345/256/241/350/256/241/346/261/207/346/212/245/350/247/204/350/214/203.md +107 -0
- package/.agents/rules/common/15-visual-gate-wait.md +90 -0
- package/.agents/rules/profiles/nestjs/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +27 -0
- package/.agents/rules/profiles/nestjs/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +20 -0
- package/.agents/rules/profiles/nestjs/04-/346/250/241/345/235/227/347/273/223/346/236/204/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +20 -0
- package/.agents/rules/profiles/nestjs/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +20 -0
- package/.agents/rules/profiles/nestjs/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +24 -0
- package/.agents/rules/profiles/nestjs/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +20 -0
- package/.agents/rules/profiles/node-tooling/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +30 -0
- package/.agents/rules/profiles/node-tooling/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -0
- package/.agents/rules/profiles/node-tooling/04-CLI/344/270/216/346/250/241/345/235/227/350/247/204/350/214/203.md +42 -0
- package/.agents/rules/profiles/node-tooling/05-Contract/344/270/216Schema/350/247/204/350/214/203.md +42 -0
- package/.agents/rules/profiles/node-tooling/06-/350/277/220/350/241/214/346/227/266/346/226/207/344/273/266/350/247/204/350/214/203.md +30 -0
- package/.agents/rules/profiles/node-tooling/07-/346/227/245/345/277/227/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +60 -0
- package/.agents/rules/profiles/node-tooling/09-/350/204/232/346/234/254/344/270/216/345/205/245/345/217/243/350/247/204/350/214/203.md +45 -0
- package/.agents/rules/profiles/node-tooling/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +41 -0
- package/.agents/rules/profiles/node-tooling/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +55 -0
- package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +29 -0
- package/.agents/rules/profiles/react/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +104 -0
- package/.agents/rules/profiles/react/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +46 -0
- package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/react/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +54 -0
- package/.agents/rules/profiles/react/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +226 -0
- package/.agents/rules/profiles/react/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +71 -0
- package/.agents/rules/profiles/react/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -0
- package/.agents/rules/profiles/react/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -0
- package/.agents/rules/profiles/springboot/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +31 -0
- package/.agents/rules/profiles/springboot/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -0
- package/.agents/rules/profiles/springboot/04-/345/210/206/345/261/202/350/247/204/350/214/203.md +33 -0
- package/.agents/rules/profiles/springboot/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +51 -0
- package/.agents/rules/profiles/springboot/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +34 -0
- package/.agents/rules/profiles/springboot/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +38 -0
- package/.agents/rules/profiles/springboot/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +48 -0
- package/.agents/rules/profiles/springboot/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +43 -0
- package/.agents/rules/profiles/springboot/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +48 -0
- package/.agents/rules/profiles/vue/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +47 -0
- package/.agents/rules/profiles/vue/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +106 -0
- package/.agents/rules/profiles/vue/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +61 -0
- package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/vue/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +69 -0
- package/.agents/rules/profiles/vue/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +93 -0
- package/.agents/rules/profiles/vue/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +67 -0
- package/.agents/rules/profiles/vue/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -0
- package/.agents/rules/profiles/vue/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -0
- package/.agents/skills/README.md +171 -0
- package/.agents/skills/common/archive-change/SKILL.md +180 -0
- package/.agents/skills/common/branch-code-reviewer/SKILL.md +459 -0
- package/.agents/skills/common/branch-code-reviewer/references/business-risk-guide.md +293 -0
- package/.agents/skills/common/branch-code-reviewer/references/html-template-guide.md +121 -0
- package/.agents/skills/common/config-and-secret-scan/SKILL.md +99 -0
- package/.agents/skills/common/create-proposal/SKILL.md +192 -0
- package/.agents/skills/common/create-proposal/evals/evals.json +16 -0
- package/.agents/skills/common/create-proposal/evals/train_queries.json +18 -0
- package/.agents/skills/common/create-proposal/evals/validation_queries.json +18 -0
- package/.agents/skills/common/create-proposal/references/interaction-spec-template.md +42 -0
- package/.agents/skills/common/create-test/SKILL.md +292 -0
- package/.agents/skills/common/dependency-impact-graph/SKILL.md +80 -0
- package/.agents/skills/common/execute-task/SKILL.md +206 -0
- package/.agents/skills/common/execute-task/evals/evals.json +16 -0
- package/.agents/skills/common/execute-task/evals/train_queries.json +18 -0
- package/.agents/skills/common/execute-task/evals/validation_queries.json +18 -0
- package/.agents/skills/common/find-skills/SKILL.md +144 -0
- package/.agents/skills/common/install-ai-spec-auto/SKILL.md +260 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/evals.json +17 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/train_queries.json +18 -0
- package/.agents/skills/common/install-ai-spec-auto/evals/validation_queries.json +18 -0
- package/.agents/skills/common/project-init/SKILL.md +178 -0
- package/.agents/skills/common/project-init/evals/evals.json +16 -0
- package/.agents/skills/common/project-init/evals/train_queries.json +18 -0
- package/.agents/skills/common/project-init/evals/validation_queries.json +18 -0
- package/.agents/skills/common/project-init/references/custom-rule-generation.md +89 -0
- package/.agents/skills/common/project-init/references/deep-scan-rules.md +67 -0
- package/.agents/skills/common/project-init/references/output-contracts.md +71 -0
- package/.agents/skills/common/project-init/references/repo-fact-gathering.md +83 -0
- package/.agents/skills/common/project-init/references/scope-resolution.md +76 -0
- package/.agents/skills/common/project-init/scripts/inspect-project.js +112 -0
- package/.agents/skills/common/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/common/skill-creator/SKILL.md +370 -0
- package/.agents/skills/common/skill-creator/evals/evals.json +16 -0
- package/.agents/skills/common/skill-creator/evals/train_queries.json +18 -0
- package/.agents/skills/common/skill-creator/evals/validation_queries.json +18 -0
- package/.agents/skills/common/skill-creator/references/output-patterns.md +82 -0
- package/.agents/skills/common/skill-creator/references/workflows.md +28 -0
- package/.agents/skills/common/skill-creator/scripts/init_skill.py +209 -0
- package/.agents/skills/common/skill-creator/scripts/package_skill.py +110 -0
- package/.agents/skills/common/skill-creator/scripts/quick_validate.py +51 -0
- package/.agents/skills/common/skill-optimizer/SKILL.md +102 -0
- package/.agents/skills/common/skill-optimizer/evals/evals.json +16 -0
- package/.agents/skills/common/skill-optimizer/evals/train_queries.json +18 -0
- package/.agents/skills/common/skill-optimizer/evals/validation_queries.json +18 -0
- package/.agents/skills/common/skill-optimizer/references/design-patterns.md +26 -0
- package/.agents/skills/common/skill-optimizer/references/review-checklist.md +22 -0
- package/.agents/skills/common/using-superpowers/SKILL.md +151 -0
- package/.agents/skills/common/wait-for-gate-signal/SKILL.md +85 -0
- package/.agents/skills/domains/README.md +19 -0
- package/.agents/skills/domains/ui-ux-pro-max/SKILL.md +58 -0
- package/.agents/skills/domains/web/design-analysis/SKILL.md +89 -0
- package/.agents/skills/domains/web/design-analysis/rules/analysis-order.md +61 -0
- package/.agents/skills/domains/web/design-analysis/rules/analysis-priorities.md +136 -0
- package/.agents/skills/domains/web/design-analysis/rules/checklist-common-misses.md +107 -0
- package/.agents/skills/domains/web/design-analysis/rules/implementation-common-errors.md +204 -0
- package/.agents/skills/domains/web/design-analysis/rules/implementation-guidelines.md +211 -0
- package/.agents/skills/domains/web/design-analysis/rules/output-analysis-checklist.md +247 -0
- package/.agents/skills/domains/web/design-analysis/rules/tools-design-guidelines.md +108 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-element-extraction.md +162 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-layout-map.md +131 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-output-checklist.md +70 -0
- package/.agents/skills/domains/web/design-analysis/rules/workflow-style-summary.md +91 -0
- package/.agents/skills/domains/web/route-permission-map/SKILL.md +103 -0
- package/.agents/skills/domains/web/ui-verification/SKILL.md +114 -0
- package/.agents/skills/domains/web/ui-verification/evals/evals.json +16 -0
- package/.agents/skills/domains/web/ui-verification/evals/train_queries.json +18 -0
- package/.agents/skills/domains/web/ui-verification/evals/validation_queries.json +18 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-image.md +34 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-text.md +30 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-hierarchy.md +33 -0
- package/.agents/skills/domains/web/ui-verification/rules/comparison-layout.md +35 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-alignment.md +42 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-dimensions.md +28 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-position.md +25 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-css-priority.md +50 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-column-width.md +46 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-layout.md +46 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-grid-container-width.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/errors-page-container-width.md +39 -0
- package/.agents/skills/domains/web/ui-verification/rules/tools-browser-navigation.md +53 -0
- package/.agents/skills/domains/web/ui-verification/rules/tools-design-guidelines.md +53 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-checklist.md +27 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-problem-list.md +56 -0
- package/.agents/skills/domains/web/ui-verification/rules/workflow-reflection.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-alignment.md +44 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-element-completeness.md +63 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-list-layout.md +75 -0
- package/.agents/skills/domains/web/ui-verification/rules/writing-page-container-width.md +37 -0
- package/.agents/skills/domains/web/web-design-guidelines/SKILL.md +40 -0
- package/.agents/skills/profiles/nestjs/README.md +4 -0
- package/.agents/skills/profiles/node-tooling/README.md +9 -0
- package/.agents/skills/profiles/react/create-api/SKILL.md +145 -0
- package/.agents/skills/profiles/react/create-component/SKILL.md +160 -0
- package/.agents/skills/profiles/react/create-route/SKILL.md +168 -0
- package/.agents/skills/profiles/react/create-store/SKILL.md +262 -0
- package/.agents/skills/profiles/react/theme-variables/SKILL.md +82 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/AGENTS.md +899 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/SKILL.md +81 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/AGENTS.md +2934 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/SKILL.md +136 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/.agents/skills/profiles/springboot/README.md +10 -0
- package/.agents/skills/profiles/vue/create-api/SKILL.md +105 -0
- package/.agents/skills/profiles/vue/create-component/SKILL.md +76 -0
- package/.agents/skills/profiles/vue/create-route/SKILL.md +141 -0
- package/.agents/skills/profiles/vue/create-store/SKILL.md +97 -0
- package/.agents/skills/profiles/vue/create-view/SKILL.md +81 -0
- package/.agents/skills/profiles/vue/theme-variables/SKILL.md +73 -0
- package/.agents/skills/profiles/vue/vue-best-practices/SKILL.md +166 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-class-based-technique.md +254 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-state-driven-technique.md +291 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-async.md +97 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-data-flow.md +307 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-keep-alive.md +137 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-slots.md +216 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-suspense.md +228 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-teleport.md +108 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition-group.md +128 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition.md +125 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/composables.md +290 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/directives.md +162 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/plugins.md +166 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/reactivity.md +344 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/render-functions.md +201 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/sfc.md +310 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/state-management.md +135 -0
- package/.agents/skills/profiles/vue/vue-best-practices/references/updated-hook-performance.md +187 -0
- package/.agents/templates/common/README.md +23 -0
- package/.agents/templates/common/bugfix.md +22 -0
- package/.agents/templates/common/create-expert-package.md +458 -0
- package/.agents/templates/common/mock-page.md +28 -0
- package/.agents/templates/common/new-component.md +25 -0
- package/.agents/templates/common/new-page.md +31 -0
- package/.cursor/mcp.json +36 -0
- package/.qoder/README.md +114 -0
- package/.qoder/commands +1 -0
- package/.qoder/mcp.json +26 -0
- package/.qoder/rules +1 -0
- package/.qoder/skills +1 -0
- package/LICENSE +21 -0
- package/README.md +433 -0
- package/bin/archive-change.js +474 -0
- package/bin/check-command.js +62 -0
- package/bin/cli.js +295 -0
- package/bin/command-template-renderer.js +40 -0
- package/bin/context-command.js +102 -0
- package/bin/demo-runtime-smoke.js +760 -0
- package/bin/execution-semantics.js +821 -0
- package/bin/executor-command.js +93 -0
- package/bin/expert-dispatch.js +334 -0
- package/bin/expert-executor.js +1148 -0
- package/bin/guard-command.js +52 -0
- package/bin/hub-command.js +876 -0
- package/bin/ide-command.js +242 -0
- package/bin/init-command.js +193 -0
- package/bin/install-workflow.js +2983 -0
- package/bin/manifest-export.js +34 -0
- package/bin/profile-registry.js +90 -0
- package/bin/protocol-workflow.js +446 -0
- package/bin/repair-command.js +161 -0
- package/bin/repo-map.js +177 -0
- package/bin/report-command.js +236 -0
- package/bin/runtime-bootstrap.js +428 -0
- package/bin/runtime-embedded.js +101 -0
- package/bin/runtime-fallback.js +106 -0
- package/bin/runtime-launcher.js +116 -0
- package/bin/runtime-paths.js +177 -0
- package/bin/runtime-registry.js +289 -0
- package/bin/runtime-state.js +2541 -0
- package/bin/scan.js +96 -0
- package/bin/self-upgrade.js +206 -0
- package/bin/skill-spec-validator.js +457 -0
- package/bin/spec-command.js +366 -0
- package/bin/superpowers.js +384 -0
- package/bin/sync-command.js +59 -0
- package/bin/sync.js +1904 -0
- package/bin/task-orchestrator-adapter.js +341 -0
- package/bin/task-orchestrator-extractor.js +274 -0
- package/bin/task-orchestrator-runner.js +1208 -0
- package/bin/telemetry/README.md +66 -0
- package/bin/telemetry/aspect.js +153 -0
- package/bin/telemetry/collect.js +67 -0
- package/bin/telemetry/config.js +114 -0
- package/bin/telemetry/defaults.json +5 -0
- package/bin/telemetry/healthcheck.js +195 -0
- package/bin/telemetry/identity.js +53 -0
- package/bin/telemetry/index.js +25 -0
- package/bin/telemetry/reporter.js +83 -0
- package/bin/telemetry/safe.js +39 -0
- package/bin/validate-registry.js +740 -0
- package/bin/visual-bridge-config.js +117 -0
- package/bin/visual-bridge.js +287 -0
- package/bin/visual-command.js +432 -0
- package/bin/worktree-command.js +194 -0
- package/configs/common/.editorconfig +15 -0
- package/configs/common/.husky/commit-msg +4 -0
- package/configs/common/.husky/pre-commit +4 -0
- package/configs/common/.lintstagedrc +11 -0
- package/configs/common/.prettierignore +11 -0
- package/configs/common/.prettierrc.json +11 -0
- package/configs/common/.stylelintignore +14 -0
- package/configs/common/.stylelintrc.json +21 -0
- package/configs/common/commitlint.config.js +3 -0
- package/configs/profiles/nestjs/.gitkeep +1 -0
- package/configs/profiles/node-tooling/.gitkeep +1 -0
- package/configs/profiles/react/.eslintignore +6 -0
- package/configs/profiles/react/.eslintrc.js +16 -0
- package/configs/profiles/react/.stylelintrc.json +18 -0
- package/configs/profiles/springboot/.gitkeep +1 -0
- package/configs/profiles/vue/.eslintignore +7 -0
- package/configs/profiles/vue/.eslintrc.cjs +17 -0
- package/contracts/README.md +28 -0
- package/contracts/fixtures/asset-package.fixture.json +26 -0
- package/contracts/fixtures/asset-usage-feedback.fixture.json +14 -0
- package/contracts/fixtures/evidence-report.fixture.json +28 -0
- package/contracts/fixtures/manifest.fixture.json +20 -0
- package/contracts/fixtures/run-event.fixture.json +15 -0
- package/contracts/schemas/asset-package.schema.json +76 -0
- package/contracts/schemas/asset-usage-feedback.schema.json +57 -0
- package/contracts/schemas/evidence-report.schema.json +60 -0
- package/contracts/schemas/manifest.schema.json +63 -0
- package/contracts/schemas/run-event.schema.json +72 -0
- package/install.ps1 +35 -0
- package/install.sh +17 -0
- package/internal/ai-protocol-workflow.js +5600 -0
- package/internal/hub-client.js +98 -0
- package/internal/hub-sync-selection.js +69 -0
- package/internal/visual-hooks/README.md +481 -0
- package/internal/visual-hooks/config-loader.js +218 -0
- package/internal/visual-hooks/control-puller.js +206 -0
- package/internal/visual-hooks/gate-signal.js +150 -0
- package/internal/visual-hooks/inbox-consumer.js +469 -0
- package/internal/visual-hooks/index.js +197 -0
- package/internal/visual-hooks/push-client.js +189 -0
- package/internal/visual-hooks/receipt-pusher.js +176 -0
- package/internal/visual-hooks/runtime-state-pusher.js +128 -0
- package/openspec/changes/.gitkeep +0 -0
- package/openspec/changes/archive/.gitkeep +0 -0
- package/openspec/config.yaml.template +52 -0
- package/openspec/schemas/expert-delivery/schema.yaml +68 -0
- package/openspec/schemas/expert-delivery/templates/checklist.md +39 -0
- package/openspec/schemas/expert-delivery/templates/design.md +61 -0
- package/openspec/schemas/expert-delivery/templates/iterations.md +25 -0
- package/openspec/schemas/expert-delivery/templates/proposal.md +45 -0
- package/openspec/schemas/expert-delivery/templates/spec.md +29 -0
- package/openspec/schemas/expert-delivery/templates/tasks.md +24 -0
- package/openspec/specs/.gitkeep +0 -0
- package/package.json +73 -0
- package/scripts/acceptance-zero-intrusion.sh +168 -0
- package/scripts/hub-sync-assets.config.example.json +296 -0
- package/scripts/hub-sync-assets.js +2038 -0
- package/scripts/local-verify.sh +280 -0
- package/scripts/post-publish-auto-fix-check.js +404 -0
- package/scripts/post-publish-verify.sh +175 -0
- package/scripts/setup-cursor-manual-test.sh +107 -0
- package/scripts/setup-cursor-spec-archive-test.sh +111 -0
- package/scripts/setup-visual-integration.sh +225 -0
- package/scripts/test-integration.sh +176 -0
- package/scripts/update-test-project.sh +93 -0
- package/scripts/upload-four-web.sh +57 -0
- package/scripts/verify-install-ps1-bom.js +26 -0
- package/src/agent/agent-context.js +259 -0
- package/src/agent/agent-profile.js +185 -0
- package/src/agent/agent-templates.js +161 -0
- package/src/agent/agent-types.js +108 -0
- package/src/agent/collaboration-protocol.js +333 -0
- package/src/agent/conflict-handler.js +364 -0
- package/src/agent/file-permission.js +121 -0
- package/src/agent/index.js +38 -0
- package/src/agent/permission-audit.js +151 -0
- package/src/agent/review-repair-loop.js +270 -0
- package/src/agent/tool-permission.js +101 -0
- package/src/asset/asset-dependency.js +322 -0
- package/src/asset/asset-feedback.js +350 -0
- package/src/asset/asset-fork.js +300 -0
- package/src/asset/asset-install.js +278 -0
- package/src/asset/asset-installer.js +497 -0
- package/src/asset/asset-lifecycle.js +324 -0
- package/src/asset/asset-manager.js +245 -0
- package/src/asset/asset-package-manager.js +349 -0
- package/src/asset/asset-package.js +186 -0
- package/src/asset/asset-quality.js +262 -0
- package/src/asset/asset-registry.js +387 -0
- package/src/asset/asset-version.js +293 -0
- package/src/asset/index.js +86 -0
- package/src/cache/agent-profile-cache.js +59 -0
- package/src/cache/asset-cache.js +63 -0
- package/src/cache/global-cache.js +61 -0
- package/src/cache/manifest-cache.js +30 -0
- package/src/check/check-service.js +32 -0
- package/src/config/config-layer.js +343 -0
- package/src/config/config-loader.js +60 -0
- package/src/config/defaults.js +49 -0
- package/src/connectors/hub/asset-package.js +72 -0
- package/src/connectors/hub/asset-usage-feedback.js +46 -0
- package/src/connectors/hub/hub-connector.js +44 -0
- package/src/connectors/hub/index.js +21 -0
- package/src/connectors/visual/evidence-report.js +49 -0
- package/src/connectors/visual/index.js +15 -0
- package/src/connectors/visual/queue.js +41 -0
- package/src/connectors/visual/run-event.js +81 -0
- package/src/connectors/visual/visual-connector.js +77 -0
- package/src/context/context-budget.js +59 -0
- package/src/context/context-builder.js +285 -0
- package/src/context/context-loader.js +116 -0
- package/src/context/context-planner.js +158 -0
- package/src/context/types.js +96 -0
- package/src/contracts/index.js +63 -0
- package/src/executor/executor-registry.js +78 -0
- package/src/executor/executor-result-parser.js +44 -0
- package/src/executor/executor-runner.js +141 -0
- package/src/executor/executor-selector.js +139 -0
- package/src/executor/executor-timeout.js +36 -0
- package/src/executor/providers/base-provider-utils.js +189 -0
- package/src/executor/providers/claude-code-executor-provider.js +128 -0
- package/src/executor/providers/codex-executor-provider.js +126 -0
- package/src/executor/providers/cursor-executor-provider.js +99 -0
- package/src/executor/types.js +137 -0
- package/src/git/branch-manager.js +71 -0
- package/src/git/dirty-checker.js +43 -0
- package/src/git/dirty-strategy-handler.js +29 -0
- package/src/git/git-command.js +37 -0
- package/src/git/git-repository-detector.js +45 -0
- package/src/git/multi-repo-worktree-planner.js +88 -0
- package/src/git/policy.js +19 -0
- package/src/git/strategies/block-dirty-strategy.js +34 -0
- package/src/git/strategies/ignore-dirty-strategy.js +33 -0
- package/src/git/strategies/patch-snapshot-strategy.js +53 -0
- package/src/git/strategies/wip-commit-strategy.js +38 -0
- package/src/git/types.js +71 -0
- package/src/git/worktree-manager.js +85 -0
- package/src/governance/asset-review.js +351 -0
- package/src/governance/audit-log.js +368 -0
- package/src/governance/gray-release.js +312 -0
- package/src/governance/index.js +31 -0
- package/src/governance/policy-types.js +56 -0
- package/src/governance/rbac-types.js +171 -0
- package/src/governance/rbac.js +382 -0
- package/src/governance/rollback.js +360 -0
- package/src/governance/security-policy.js +354 -0
- package/src/hook/hook-config-writer.js +125 -0
- package/src/hub/hub-client.js +186 -0
- package/src/hub/hub-config.js +39 -0
- package/src/hub/project-facts.js +31 -0
- package/src/hub/runtime-feedback-reporter.js +55 -0
- package/src/ide/adapters/adapter-protocol.js +385 -0
- package/src/ide/adapters/claude-adapter.js +419 -0
- package/src/ide/adapters/codex-adapter.js +60 -0
- package/src/ide/adapters/cursor-adapter.js +484 -0
- package/src/ide/adapters/index.js +24 -0
- package/src/ide/anchors/markdown-anchor-writer.js +152 -0
- package/src/ide/ide-service.js +270 -0
- package/src/ide/ide-types.js +94 -0
- package/src/ide/links/link-mode-resolver.js +160 -0
- package/src/ide/registry/ide-registry-builder.js +165 -0
- package/src/incident/incident-writer.js +47 -0
- package/src/incident/types.js +22 -0
- package/src/init/ide-linker.js +126 -0
- package/src/init/ide-pointer-injector.js +75 -0
- package/src/init/init-applier.js +197 -0
- package/src/init/init-plan.js +294 -0
- package/src/init/init-service.js +65 -0
- package/src/init/manifest-installer.js +302 -0
- package/src/init/types.js +26 -0
- package/src/project/config-writer.js +83 -0
- package/src/project/context-index-writer.js +82 -0
- package/src/project/json-utils.js +72 -0
- package/src/project/local-state-writer.js +50 -0
- package/src/project/lock-file-writer.js +98 -0
- package/src/project/manifest-writer.js +126 -0
- package/src/project/policy-config-writer.js +91 -0
- package/src/project/project-config-writer.js +74 -0
- package/src/project/project-files.js +39 -0
- package/src/project/registry-index-writer.js +43 -0
- package/src/project/workspace-config-writer.js +63 -0
- package/src/run/index.js +11 -0
- package/src/run/run-id.js +32 -0
- package/src/run/run-service.js +269 -0
- package/src/run/run-store.js +80 -0
- package/src/scanner/aggregator/detection-aggregator.js +23 -0
- package/src/scanner/boundary/boundary-resolver.js +229 -0
- package/src/scanner/detectors/detector-registry.js +44 -0
- package/src/scanner/detectors/fastapi-detector.js +46 -0
- package/src/scanner/detectors/go-detector.js +46 -0
- package/src/scanner/detectors/nestjs-detector.js +57 -0
- package/src/scanner/detectors/nextjs-detector.js +52 -0
- package/src/scanner/detectors/react-vite-detector.js +52 -0
- package/src/scanner/detectors/react-webpack-detector.js +57 -0
- package/src/scanner/detectors/springboot-detector.js +46 -0
- package/src/scanner/detectors/springcloud-detector.js +46 -0
- package/src/scanner/detectors/springmvc-detector.js +46 -0
- package/src/scanner/detectors/vue-vite-detector.js +52 -0
- package/src/scanner/engine.js +72 -0
- package/src/scanner/facts/fact-extractor.js +211 -0
- package/src/scanner/types.js +30 -0
- package/src/security/asset-tamper-checker.js +188 -0
- package/src/security/checksum.js +40 -0
- package/src/spec/spec-writer.js +302 -0
- package/src/state-machine/circuit-breaker.js +112 -0
- package/src/state-machine/escape-hatch.js +49 -0
- package/src/state-machine/stage-runner.js +281 -0
- package/src/state-machine/state-machine.js +24 -0
- package/src/state-machine/transition-guard.js +36 -0
- package/src/state-machine/types.js +37 -0
- package/src/sync/sync-service.js +192 -0
- package/src/visual/agent-visual.js +142 -0
- package/src/visual/event-gateway.js +357 -0
- package/src/visual/event-mapper.js +128 -0
- package/src/visual/hook-dashboard.js +216 -0
- package/src/visual/index.js +27 -0
- package/src/visual/metrics.js +287 -0
- package/src/visual/privacy-filter.js +100 -0
- package/src/visual/risk-board.js +252 -0
- package/src/visual/timeline.js +245 -0
- package/src/visual/visual-client.js +94 -0
- package/src/visual/visual-config.js +40 -0
- package/src/visual/visual-reporter.js +88 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# IDE Command Templates
|
|
2
|
+
|
|
3
|
+
这里存放项目级 `IDE(开发工具)` 命令模板的源定义。
|
|
4
|
+
|
|
5
|
+
目录约定:
|
|
6
|
+
|
|
7
|
+
- `common/`
|
|
8
|
+
- 所有 `IDE(开发工具)` 共用的命令模板主源
|
|
9
|
+
- `cursor/`
|
|
10
|
+
- 仅在 `Cursor(开发工具)` 需要差异化覆盖时才放文件
|
|
11
|
+
- 例如 `/opsx-propose`、`/opsx-apply` 这类连字符兼容入口
|
|
12
|
+
- `claude/`
|
|
13
|
+
- 仅在 `Claude(开发工具)` 需要差异化覆盖时才放文件
|
|
14
|
+
- `codex/`
|
|
15
|
+
- 仅在 `Codex(代码代理)` 需要显式项目级命令契约时放文件
|
|
16
|
+
- 当前首期与 `common/` 保持同名模板,后续若 `Codex` 需要差异化引导,再在这里覆盖
|
|
17
|
+
- `qoder/`
|
|
18
|
+
- 仅在 `Qoder(开发工具)` 需要差异化覆盖时才放文件
|
|
19
|
+
- 当前与 `common/` 保持同名模板,后续若需要差异化引导,再在这里覆盖
|
|
20
|
+
- `opencode/`、`trae/`
|
|
21
|
+
- 同上,仅在需要差异化时创建目录
|
|
22
|
+
|
|
23
|
+
这些文件在源仓库中统一维护于 `.agents/commands/`。
|
|
24
|
+
|
|
25
|
+
安装到目标项目时:
|
|
26
|
+
|
|
27
|
+
- 先把 `common/*.md` 复制到对应 `IDE(开发工具)` 的 `commands/` 目录
|
|
28
|
+
- 如果存在 `cursor/*.md`、`claude/*.md` 或 `codex/*.md`,再用同名文件覆盖
|
|
29
|
+
|
|
30
|
+
这样可以保持:
|
|
31
|
+
|
|
32
|
+
- 命令模板主源只有一份
|
|
33
|
+
- 目标项目仍然保留 `IDE(开发工具)` 原生消费结构
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
这是协议驱动入口,不是直接开发命令。
|
|
2
|
+
|
|
3
|
+
本次 `/spec-start-review` 命令尾部原文如下:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
$ARGUMENTS
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
这个入口的目标很单一:
|
|
10
|
+
|
|
11
|
+
- 默认启用 `review-policy(审核策略) = main-flow-blocking(主流程阻塞审核)`
|
|
12
|
+
- 允许开发者在命令尾部追加 `CLI flags(命令行标志位)`
|
|
13
|
+
- 继续复用 `protocol-step(协议启动命令)`,不改运行状态机
|
|
14
|
+
|
|
15
|
+
绝对红线:
|
|
16
|
+
|
|
17
|
+
- 在执行 `protocol-step --json` 之前,禁止搜索项目、读取项目代码、调用实现技能、修改任何业务文件
|
|
18
|
+
- 当前 `actor(执行角色)` 不是 `frontend-implementer(前端实现专家)` 时,禁止修改 Vue/TS/CSS 业务代码
|
|
19
|
+
- 不允许跳过 `task-orchestrator(任务编排专家) -> requirement-analyst(需求解析专家) -> task-orchestrator(任务编排专家) -> frontend-implementer(前端实现专家) -> task-orchestrator(任务编排专家) -> code-guardian(规范守护专家) -> task-orchestrator(任务编排专家)`
|
|
20
|
+
|
|
21
|
+
先按 `CLI flags(命令行标志位)` 解析 `$ARGUMENTS(全部参数占位符)`:
|
|
22
|
+
|
|
23
|
+
- 支持 `--mode <auto|suggest|manual>`
|
|
24
|
+
- 支持 `--flow <flow-id>`
|
|
25
|
+
- 支持 `--review-policy <none|main-flow-blocking>`
|
|
26
|
+
- 未显式传入时,默认使用 `--mode auto --review-policy main-flow-blocking`
|
|
27
|
+
- 除这些 `flags(标志位)` 之外的剩余文本,全部视为本次需求原文,并透传给 `--user-input`
|
|
28
|
+
- 若 `flags(标志位)` 之外没有任何需求原文,先提示用户补完整需求,再执行
|
|
29
|
+
- 若用户传了 `--mode manual` 但没有传 `--flow`,不要自行兜底,不要改写成别的模式;保持原样执行,让运行时自己返回 `manual-flow-required(手动流程必填门禁)`
|
|
30
|
+
- 不要把 `manual(手动)` 理解成“每一步都人工审核”
|
|
31
|
+
|
|
32
|
+
推荐示例:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
/spec-start-review 创建订单列表 mock 页面
|
|
36
|
+
/spec-start-review --mode suggest 创建订单列表 mock 页面
|
|
37
|
+
/spec-start-review --mode manual --flow prd-to-delivery 创建订单列表 mock 页面
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
完成解析后,执行等价协议命令:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<解析后的需求原文>" --mode <解析后的 mode(运行模式)> --review-policy <解析后的 review-policy(审核策略)> [--flow <解析后的 flow(流程模板)>] --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
然后只按返回的 `turn(当前轮次)` 执行:
|
|
47
|
+
|
|
48
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
49
|
+
若 `execute_current_command_first = true`,才需要先执行 `turn.enforcement.current_command`
|
|
50
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
51
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
52
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令,不要自行补流程
|
|
53
|
+
5. `task-orchestrator(任务编排专家)` 只写 `.ai-spec/internal/tmp/task-orchestrator-turn.json`,不写业务代码
|
|
54
|
+
6. `requirement-analyst(需求解析专家)` 只产出 `proposal.md`、`spec.md`、`tasks.md`
|
|
55
|
+
7. `frontend-implementer(前端实现专家)` 才允许改业务代码
|
|
56
|
+
8. `code-guardian(规范守护专家)` 只产出 `checklist.md`、`iterations.md`
|
|
57
|
+
9. 完成当前轮次后:
|
|
58
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
59
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
60
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command(当前命令)` 已完成归档与运行收尾;不要再写 `expert-execution(专家执行结果)` JSON,不要再执行 `protocol-advance(协议推进命令)`,直接读取当前运行态并输出最终摘要
|
|
61
|
+
10. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
62
|
+
11. 若用户中途补充新要求,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
63
|
+
12. `advance(推进命令)` 返回后,直接读取返回结果里的下一个 `turn(当前轮次)` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
64
|
+
13. 重复直到 `turn.status = terminal | blocked`
|
|
65
|
+
|
|
66
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
67
|
+
|
|
68
|
+
- 明确告诉用户:当前停在该审批门禁,尚未批准,不能继续实现
|
|
69
|
+
- 若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要:
|
|
70
|
+
只保留“当前状态 / 关键原因 / 下一步”,不要写长篇阶段说明,不要罗列 `proposal/specs/design/tasks` 或仓库文件路径,不要输出任何“对内说明”
|
|
71
|
+
- 不要继续执行 `advance`
|
|
72
|
+
- 若用户随后给出明确批准意见,或在归档确认门禁下给出“归档 / 不归档”决定,先执行 `turn.commands.update` 记录说明;若 `protocol-update(协议更新命令)` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
73
|
+
|
|
74
|
+
若 `turn.status = blocked` 且存在 `turn.guidance.confirm_gate`:
|
|
75
|
+
|
|
76
|
+
- 先判断是否是 `start-review(启动确认门禁)` 或 `manual-flow-required(手动流程必填门禁)`
|
|
77
|
+
- `start-review(启动确认门禁)`:提示用户当前是 `suggest(建议)` 模式,先确认建议计划,再恢复到第一位专家
|
|
78
|
+
- `manual-flow-required(手动流程必填门禁)`:提示用户必须补充 `--flow <flow-id>`
|
|
79
|
+
- 不要把 `manual(手动)` 理解成“每一步都审核”
|
|
80
|
+
|
|
81
|
+
对用户只输出阶段语义和最终摘要,不回显 `scratch JSON(中间草稿 JSON)`。
|
|
82
|
+
若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
83
|
+
|
|
84
|
+
- `micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
85
|
+
- `standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
86
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
87
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
88
|
+
- 不要默认附加 `pnpm dev`、浏览器打开路径等本地操作提示,除非用户明确要
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
这是协议继续入口,不是直接开发命令。
|
|
2
|
+
|
|
3
|
+
绝对红线:
|
|
4
|
+
|
|
5
|
+
- 在执行 `protocol-advance --json` 之前,禁止直接开始读项目代码、调用实现技能或修改业务文件
|
|
6
|
+
- 不允许把当前轮次退化成“直接开始写页面/组件代码”
|
|
7
|
+
- `task-orchestrator` 必须在每次专家完成后重新出现
|
|
8
|
+
|
|
9
|
+
先判断当前这一轮用户输入:
|
|
10
|
+
|
|
11
|
+
- 若用户这轮是在表达审批/放行意图,例如:
|
|
12
|
+
- `我同意继续实现`
|
|
13
|
+
- `同意`
|
|
14
|
+
- `继续`
|
|
15
|
+
- `开始`
|
|
16
|
+
- `愿意`
|
|
17
|
+
- 或当前在归档确认门禁中,用户这轮是在表达归档决定,例如:
|
|
18
|
+
- `归档`
|
|
19
|
+
- `同意归档`
|
|
20
|
+
- `先不归档`
|
|
21
|
+
- `暂不归档`
|
|
22
|
+
- 且当前运行态很可能已停在 `pending_gate`
|
|
23
|
+
|
|
24
|
+
则优先执行:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
./node_modules/.bin/ai-spec-auto protocol-update --target . --user-input "<当前这条用户原话>" --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
不要先空跑 `protocol-advance`。
|
|
31
|
+
|
|
32
|
+
若 `protocol-update` 返回 `fast_path.executed = true`:
|
|
33
|
+
|
|
34
|
+
- 说明当前是本地 fast-path,已经直接完成“归档”或“结束运行”
|
|
35
|
+
- 不要再执行 `/spec-continue`
|
|
36
|
+
- 不要再执行 `protocol-advance`
|
|
37
|
+
- 直接读取返回结果里的 `turn` 或当前运行态,输出最终摘要
|
|
38
|
+
|
|
39
|
+
其它情况再先执行:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
./node_modules/.bin/ai-spec-auto protocol-advance --target . --json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
然后只按返回的 `turn` 执行:
|
|
46
|
+
|
|
47
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
48
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
49
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
50
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令
|
|
51
|
+
5. 完成当前轮次后:
|
|
52
|
+
- 若当前专家执行结果为 `partial(部分完成)` 或任何非 `done / success / completed` 状态,不得写“交付完成”,不得交给下一位专家;必须继续停留在当前专家补齐后再推进
|
|
53
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
54
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
55
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command` 已完成归档与运行收尾;不要再写 `expert-execution` JSON,不要再执行 `protocol-advance`,直接读取当前运行态并输出最终摘要
|
|
56
|
+
6. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
57
|
+
7. 若用户中途补充新要求,或当前这条输入本身就是审批/放行意见,或是归档确认门禁下的“归档 / 不归档”决定,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
58
|
+
8. `advance` 返回后,直接读取返回结果里的下一个 `turn` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
59
|
+
9. 重复直到 `turn.status = terminal | blocked`
|
|
60
|
+
|
|
61
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
62
|
+
- 明确告诉用户:当前停在该审批门禁,尚未批准,不能继续实现
|
|
63
|
+
- 若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要:
|
|
64
|
+
只保留“当前状态 / 关键原因 / 下一步”,不要写长篇阶段说明,不要罗列 proposal/specs/design/tasks 或仓库文件路径,不要输出任何“对内说明”
|
|
65
|
+
- 不要继续执行 `advance`
|
|
66
|
+
- 若用户随后给出明确批准意见,或在归档确认门禁下给出“归档 / 不归档”决定,先执行 `turn.commands.update` 记录说明;若 `protocol-update` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
67
|
+
|
|
68
|
+
`proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md` 门禁必须真实落盘。
|
|
69
|
+
若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
70
|
+
- `micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
71
|
+
- `standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
72
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
73
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
74
|
+
- 不要默认附加 `pnpm dev`、浏览器打开路径等本地操作提示,除非用户明确要
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
这是统一协议编排入口。
|
|
2
|
+
|
|
3
|
+
规则:
|
|
4
|
+
|
|
5
|
+
- 在任何项目搜索、文件读取、技能调用、代码修改之前,必须先执行当前轮次命令
|
|
6
|
+
- 新任务:先执行 `./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<用户需求>" --json`
|
|
7
|
+
- 已有运行态:
|
|
8
|
+
- 若当前这条用户输入本身是在表达审批/放行(如“我同意继续实现 / 同意 / 继续 / 开始 / 愿意”),优先执行 `./node_modules/.bin/ai-spec-auto protocol-update --target . --user-input "<当前用户原话>" --json`
|
|
9
|
+
- 若当前在归档确认门禁,且用户输入是在表达“归档 / 不归档”决定(如“归档 / 同意归档 / 先不归档 / 暂不归档”),同样优先执行 `./node_modules/.bin/ai-spec-auto protocol-update --target . --user-input "<当前用户原话>" --json`
|
|
10
|
+
- 否则执行 `./node_modules/.bin/ai-spec-auto protocol-advance --target . --json`
|
|
11
|
+
- 之后一律按返回的 `turn.enforcement`、`turn.actor`、`turn.announcements`、`turn.reads`、`turn.writes`、`turn.guidance`、`turn.execution_contract` 执行
|
|
12
|
+
- 若存在 `turn.commands`、`turn.requires_advance`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令
|
|
13
|
+
- 每进入新 `turn` 前,必须原样播报 `turn.announcements.enter`
|
|
14
|
+
- 每完成当前轮次后:
|
|
15
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
16
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
17
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command` 已完成归档与运行收尾;不要再写 `expert-execution` JSON,不要再执行 `protocol-advance`,直接读取当前运行态并输出最终摘要
|
|
18
|
+
- 若 `protocol-update` 返回 `fast_path.executed = true`,说明归档确认已走本地 fast-path;不要再执行 `protocol-advance`,直接读取当前运行态并输出最终摘要
|
|
19
|
+
- 每完成一轮,若 `turn.requires_advance = true`,按 `turn.finalize_contract.advance_command` 执行推进;若用户补充了新需求,或当前输入本身是审批/放行意见,或归档确认门禁下的“归档 / 不归档”决定,使用 `turn.finalize_contract.update_command`
|
|
20
|
+
- `advance` 返回后,必须直接消费返回结果里的下一个 `turn`;禁止 `sleep`、`tail`、`timeout`、`cat` 日志或额外重跑 `protocol-step`
|
|
21
|
+
- 直到 `turn.status` 变成 `terminal` 或 `blocked`
|
|
22
|
+
- 若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`,明确告诉用户当前在审批门禁中;若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要:只保留“当前状态 / 关键原因 / 下一步”,不要长篇说明、文件路径或任何“对内说明”;不要继续执行 `advance`;收到明确批准意见,或在归档确认门禁下收到“归档 / 不归档”决定后,先执行 `turn.commands.update` 记录说明;若 `protocol-update` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
23
|
+
|
|
24
|
+
硬性要求:
|
|
25
|
+
|
|
26
|
+
- 这是协议驱动,不是自由发挥
|
|
27
|
+
- 未轮到 `frontend-implementer` 前禁止写业务代码
|
|
28
|
+
- 未执行当前轮次命令前禁止调用 `create-view`、`create-component`、`theme-variables`、`execute-task`
|
|
29
|
+
- 对用户只展示阶段进度与最终结果,不回显 scratch JSON
|
|
30
|
+
- 若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
31
|
+
`micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
32
|
+
`standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
33
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
34
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
35
|
+
- 不要默认附加 `pnpm dev`、浏览器打开路径等本地操作提示,除非用户明确要
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
这是协议驱动入口,不是直接开发命令。
|
|
2
|
+
|
|
3
|
+
本次 `/spec-start-review` 命令尾部原文如下:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
$ARGUMENTS
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
这个入口的目标很单一:
|
|
10
|
+
|
|
11
|
+
- 默认启用 `review-policy(审核策略) = main-flow-blocking(主流程阻塞审核)`
|
|
12
|
+
- 允许开发者在命令尾部追加 `CLI flags(命令行标志位)`
|
|
13
|
+
- 继续复用 `protocol-step(协议启动命令)`,不改运行状态机
|
|
14
|
+
|
|
15
|
+
绝对红线:
|
|
16
|
+
|
|
17
|
+
- 在执行 `protocol-step --json` 之前,禁止搜索项目、读取项目代码、调用实现技能、修改任何业务文件
|
|
18
|
+
- 当前 `actor(执行角色)` 不是 `frontend-implementer(前端实现专家)` 时,禁止修改 Vue/TS/CSS 业务代码
|
|
19
|
+
- 不允许跳过 `task-orchestrator(任务编排专家) -> requirement-analyst(需求解析专家) -> task-orchestrator(任务编排专家) -> frontend-implementer(前端实现专家) -> task-orchestrator(任务编排专家) -> code-guardian(规范守护专家) -> task-orchestrator(任务编排专家)`
|
|
20
|
+
|
|
21
|
+
先按 `CLI flags(命令行标志位)` 解析 `$ARGUMENTS(全部参数占位符)`:
|
|
22
|
+
|
|
23
|
+
- 支持 `--mode <auto|suggest|manual>`
|
|
24
|
+
- 支持 `--flow <flow-id>`
|
|
25
|
+
- 支持 `--review-policy <none|main-flow-blocking>`
|
|
26
|
+
- 未显式传入时,默认使用 `--mode auto --review-policy main-flow-blocking`
|
|
27
|
+
- 除这些 `flags(标志位)` 之外的剩余文本,全部视为本次需求原文,并透传给 `--user-input`
|
|
28
|
+
- 若 `flags(标志位)` 之外没有任何需求原文,先提示用户补完整需求,再执行
|
|
29
|
+
- 若用户传了 `--mode manual` 但没有传 `--flow`,不要自行兜底,不要改写成别的模式;保持原样执行,让运行时自己返回 `manual-flow-required(手动流程必填门禁)`
|
|
30
|
+
- 不要把 `manual(手动)` 理解成“每一步都人工审核”
|
|
31
|
+
|
|
32
|
+
推荐示例:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
/spec-start-review 创建订单列表 mock 页面
|
|
36
|
+
/spec-start-review --mode suggest 创建订单列表 mock 页面
|
|
37
|
+
/spec-start-review --mode manual --flow prd-to-delivery 创建订单列表 mock 页面
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
完成解析后,执行等价协议命令:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<解析后的需求原文>" --mode <解析后的 mode(运行模式)> --review-policy <解析后的 review-policy(审核策略)> [--flow <解析后的 flow(流程模板)>] --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
然后只按返回的 `turn(当前轮次)` 执行:
|
|
47
|
+
|
|
48
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
49
|
+
若 `execute_current_command_first = true`,才需要先执行 `turn.enforcement.current_command`
|
|
50
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
51
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
52
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令,不要自行补流程
|
|
53
|
+
5. `task-orchestrator(任务编排专家)` 只写 `.ai-spec/internal/tmp/task-orchestrator-turn.json`,不写业务代码
|
|
54
|
+
6. `requirement-analyst(需求解析专家)` 只产出 `proposal.md`、`spec.md`、`tasks.md`
|
|
55
|
+
7. `frontend-implementer(前端实现专家)` 才允许改业务代码
|
|
56
|
+
8. `code-guardian(规范守护专家)` 只产出 `checklist.md`、`iterations.md`
|
|
57
|
+
9. 完成当前轮次后:
|
|
58
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
59
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
60
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command(当前命令)` 已完成归档与运行收尾;不要再写 `expert-execution(专家执行结果)` JSON,不要再执行 `protocol-advance(协议推进命令)`,直接读取当前运行态并输出最终摘要
|
|
61
|
+
10. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
62
|
+
11. 若用户中途补充新要求,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
63
|
+
12. `advance(推进命令)` 返回后,直接读取返回结果里的下一个 `turn(当前轮次)` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
64
|
+
13. 重复直到 `turn.status = terminal | blocked`
|
|
65
|
+
|
|
66
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
67
|
+
|
|
68
|
+
- 明确告诉用户:当前停在该审批门禁,尚未批准,不能继续实现
|
|
69
|
+
- 若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要:
|
|
70
|
+
只保留“当前状态 / 关键原因 / 下一步”,不要写长篇阶段说明,不要罗列 `proposal/specs/design/tasks` 或仓库文件路径,不要输出任何“对内说明”
|
|
71
|
+
- 不要继续执行 `advance`
|
|
72
|
+
- 若用户随后给出明确批准意见,或在归档确认门禁下给出“归档 / 不归档”决定,先执行 `turn.commands.update` 记录说明;若 `protocol-update(协议更新命令)` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
73
|
+
|
|
74
|
+
若 `turn.status = blocked` 且存在 `turn.guidance.confirm_gate`:
|
|
75
|
+
|
|
76
|
+
- 先判断是否是 `start-review(启动确认门禁)` 或 `manual-flow-required(手动流程必填门禁)`
|
|
77
|
+
- `start-review(启动确认门禁)`:提示用户当前是 `suggest(建议)` 模式,先确认建议计划,再恢复到第一位专家
|
|
78
|
+
- `manual-flow-required(手动流程必填门禁)`:提示用户必须补充 `--flow <flow-id>`
|
|
79
|
+
- 不要把 `manual(手动)` 理解成“每一步都审核”
|
|
80
|
+
|
|
81
|
+
对用户只输出阶段语义和最终摘要,不回显 `scratch JSON(中间草稿 JSON)`。
|
|
82
|
+
若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
83
|
+
|
|
84
|
+
- `micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
85
|
+
- `standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
86
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
87
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
88
|
+
- 不要默认附加 `pnpm dev`、浏览器打开路径等本地操作提示,除非用户明确要
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
这是协议驱动入口,不是直接开发命令。
|
|
2
|
+
|
|
3
|
+
绝对红线:
|
|
4
|
+
|
|
5
|
+
- 在执行 `protocol-step --json` 之前,禁止搜索项目、读取项目代码、调用实现技能、修改任何业务文件
|
|
6
|
+
- 当前 `actor` 不是 `frontend-implementer` 时,禁止修改 Vue/TS/CSS 业务代码
|
|
7
|
+
- 不允许跳过 `task-orchestrator -> requirement-analyst -> task-orchestrator -> frontend-implementer -> task-orchestrator -> code-guardian -> task-orchestrator`
|
|
8
|
+
|
|
9
|
+
先执行:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<本次 /spec-start 的用户原始需求>" --mode auto --review-policy none --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
若用户明确要求先看建议计划,再改用:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<本次 /spec-start 的用户原始需求>" --mode suggest --review-policy none --json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
若用户明确要求手动锁定流程模板,再改用:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<本次 /spec-start 的用户原始需求>" --mode manual --flow <flow-id> --review-policy main-flow-blocking --json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
然后只按返回的 `turn` 执行:
|
|
28
|
+
|
|
29
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
30
|
+
若 `execute_current_command_first = true`,才需要先执行 `turn.enforcement.current_command`
|
|
31
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
32
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
33
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令,不要自行补流程
|
|
34
|
+
5. `task-orchestrator` 只写 `.ai-spec/internal/tmp/task-orchestrator-turn.json`,不写业务代码
|
|
35
|
+
6. `requirement-analyst` 只产出 `proposal.md`、`spec.md`、`tasks.md`
|
|
36
|
+
7. `frontend-implementer` 才允许改业务代码
|
|
37
|
+
8. `code-guardian` 只产出 `checklist.md`、`iterations.md`
|
|
38
|
+
9. 完成当前轮次后:
|
|
39
|
+
- 若当前专家执行结果为 `partial(部分完成)` 或任何非 `done / success / completed` 状态,不得写“交付完成”,不得交给下一位专家;必须继续停留在当前专家补齐后再推进
|
|
40
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
41
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
42
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command` 已完成归档与运行收尾;不要再写 `expert-execution` JSON,不要再执行 `protocol-advance`,直接读取当前运行态并输出最终摘要
|
|
43
|
+
10. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
44
|
+
11. 若用户中途补充新要求,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
45
|
+
12. `advance` 返回后,直接读取返回结果里的下一个 `turn` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
46
|
+
13. 重复直到 `turn.status = terminal | blocked`
|
|
47
|
+
|
|
48
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
49
|
+
- 明确告诉用户:当前停在该审批门禁,尚未批准,不能继续实现
|
|
50
|
+
- 若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要:
|
|
51
|
+
只保留“当前状态 / 关键原因 / 下一步”,不要写长篇阶段说明,不要罗列 proposal/specs/design/tasks 或仓库文件路径,不要输出任何“对内说明”
|
|
52
|
+
- 不要继续执行 `advance`
|
|
53
|
+
- 若用户随后给出明确批准意见,或在归档确认门禁下给出“归档 / 不归档”决定,先执行 `turn.commands.update` 记录说明;若 `protocol-update` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
54
|
+
|
|
55
|
+
若 `turn.status = blocked` 且存在 `turn.guidance.confirm_gate`:
|
|
56
|
+
- 先判断是否是 `start-review(启动确认门禁)` 或 `manual-flow-required(手动流程必填门禁)`
|
|
57
|
+
- `start-review(启动确认门禁)`:提示用户当前是 `suggest(建议)` 模式,先确认建议计划,再恢复到第一位专家
|
|
58
|
+
- `manual-flow-required(手动流程必填门禁)`:提示用户必须补充 `--flow <flow-id>`
|
|
59
|
+
- 不要把 `manual(手动)` 理解成“每一步都审核”
|
|
60
|
+
|
|
61
|
+
对用户只输出阶段语义和最终摘要,不回显 scratch JSON。
|
|
62
|
+
若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
63
|
+
- `micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
64
|
+
- `standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
65
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
66
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
67
|
+
- 不要默认附加 `pnpm dev`、浏览器打开路径等本地操作提示,除非用户明确要
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
这是协议状态查看入口,只读,不推进、不修改运行态。
|
|
2
|
+
|
|
3
|
+
先执行:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
./node_modules/.bin/ai-spec-auto protocol-status --target . --json
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
然后只输出高信号摘要:
|
|
10
|
+
|
|
11
|
+
- 当前阶段
|
|
12
|
+
- 当前状态
|
|
13
|
+
- 是否存在审批门禁
|
|
14
|
+
- 是否有待吸收的补充输入
|
|
15
|
+
- 下一步建议
|
|
16
|
+
|
|
17
|
+
不要输出:
|
|
18
|
+
|
|
19
|
+
- 协议过程日志
|
|
20
|
+
- scratch/current-run/current-dispatch/current-execution 等内部文件名
|
|
21
|
+
- 大段文件清单
|
|
22
|
+
- 无关实现细节
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
这是协议暂停入口,不是取消命令。
|
|
2
|
+
|
|
3
|
+
语义固定为:
|
|
4
|
+
|
|
5
|
+
- 暂停当前 run
|
|
6
|
+
- 保留当前产物、当前专家停点和门禁上下文
|
|
7
|
+
- 后续可通过 `/spec-continue` 或自然语言“继续 / 恢复执行”恢复
|
|
8
|
+
|
|
9
|
+
先执行:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
./node_modules/.bin/ai-spec-auto protocol-stop --target . --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
然后:
|
|
16
|
+
|
|
17
|
+
1. 若当前没有活动 run 或当前已是终态,只输出当前状态说明
|
|
18
|
+
2. 若成功暂停,只告诉用户:
|
|
19
|
+
- 当前已暂停
|
|
20
|
+
- 当前停在哪个阶段
|
|
21
|
+
- 如何恢复
|
|
22
|
+
3. 不要把 `/spec-stop` 解释成取消
|
|
23
|
+
4. 不要清理当前 OpenSpec 产物、运行态或上下文
|
|
24
|
+
|
|
25
|
+
对用户摘要保持简洁:
|
|
26
|
+
|
|
27
|
+
- 当前状态
|
|
28
|
+
- 当前停点
|
|
29
|
+
- 恢复方式
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
这是协议增量更新入口,不是重新开新任务,也不是直接开始写代码。
|
|
2
|
+
|
|
3
|
+
绝对红线:
|
|
4
|
+
|
|
5
|
+
- 优先把当前输入当作“补充需求 / 修正方向 / 归档前修正说明”处理
|
|
6
|
+
- 先执行 `protocol-update --json`,不要跳过主代理直接改业务文件
|
|
7
|
+
- 不要把当前 change 的产物整份重写;默认只做增量修订
|
|
8
|
+
|
|
9
|
+
先执行:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
./node_modules/.bin/ai-spec-auto protocol-update --target . --user-input "<当前这条用户原话>" --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
然后只按返回的 `turn` 执行:
|
|
16
|
+
|
|
17
|
+
1. 若 `fast_path.executed = true`,优先消费 fast-path 结果:
|
|
18
|
+
- `archive-approved` / `complete-without-archive`:直接输出最终摘要,不再执行 `protocol-advance`
|
|
19
|
+
- `followup-patch-opened`:说明已打开补丁变更,再按返回的下一个 `turn` 继续
|
|
20
|
+
- `resume-paused-run`:说明已恢复停点,再按返回的下一个 `turn` 继续
|
|
21
|
+
2. 若返回 `turn.mode = update-review`,必须先遵守 `turn.guidance.update_contract`
|
|
22
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
23
|
+
4. 若 `change_impact = patch | scope-delta | archive-fix`,默认在同一 `change_id` 内增量更新,不要推倒已有 proposal/specs/design/tasks/checklist/iterations
|
|
24
|
+
5. 若 `change_impact = re-scope`,不要强行吞进当前 run;按 `reconcile_strategy` 给出“建议新建 change”的最小结论
|
|
25
|
+
6. 若 `change_impact = followup-patch`,这是对已归档变更的补丁修正;继续沿返回的 patch run 推进,不要改旧 archive 目录
|
|
26
|
+
7. 若存在 `turn.finalize_contract`,完成当前轮次后按契约推进,不要自行拼命令
|
|
27
|
+
|
|
28
|
+
对用户只输出:
|
|
29
|
+
|
|
30
|
+
- 当前识别到的变更类型
|
|
31
|
+
- 会不会回退
|
|
32
|
+
- 预计增量更新哪些产物
|
|
33
|
+
- 下一步是什么
|
|
34
|
+
|
|
35
|
+
不要输出:
|
|
36
|
+
|
|
37
|
+
- 大段协议日志
|
|
38
|
+
- scratch JSON
|
|
39
|
+
- 内部运行态文件名
|
|
40
|
+
- “整份重写 proposal/tasks/design/specs” 这类误导性说法
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 启动分支代码评审,分析当前分支与主分支的差异和风险项
|
|
3
|
+
---
|
|
4
|
+
# /branch-review - 分支代码评审
|
|
5
|
+
|
|
6
|
+
启动分支代码评审流程,对比功能分支与主分支(master/main)的代码差异,自动识别技术风险和业务风险,生成可视化 HTML 评审报告。
|
|
7
|
+
|
|
8
|
+
## 用法
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
/branch-review [需求文档路径]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 参数
|
|
15
|
+
|
|
16
|
+
- **需求文档路径**(可选): 本次开发需求的文档路径,用于业务风险分析
|
|
17
|
+
- 支持格式: PRD / 用户故事 / 需求规格说明 / Markdown
|
|
18
|
+
- 示例: `docs/prd-order-module.md`
|
|
19
|
+
|
|
20
|
+
## 示例
|
|
21
|
+
|
|
22
|
+
### 示例 1: 仅技术风险分析
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/branch-review
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**效果**:
|
|
29
|
+
- 对比当前分支与主分支的代码差异
|
|
30
|
+
- 分析技术类风险(性能、安全、错误处理等)
|
|
31
|
+
- 生成可视化 HTML 报告
|
|
32
|
+
|
|
33
|
+
### 示例 2: 技术 + 业务风险分析
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/branch-review docs/prd-order-module.md
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**效果**:
|
|
40
|
+
- 读取需求文档,提取业务目标和验收标准
|
|
41
|
+
- 对比代码差异,分析技术风险
|
|
42
|
+
- 对照需求文档,分析业务风险(功能缺失、流程错误等)
|
|
43
|
+
- 生成包含技术风险和业务风险的完整报告
|
|
44
|
+
|
|
45
|
+
### 示例 3: 指定分支对比
|
|
46
|
+
|
|
47
|
+
在对话中说明:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
请对比 feature/new-payment 和 master 分支的差异,需求文档在 docs/payment-requirements.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**效果**:
|
|
54
|
+
- 使用指定的功能分支和主分支
|
|
55
|
+
- 读取需求文档进行业务风险分析
|
|
56
|
+
- 生成完整评审报告
|
|
57
|
+
|
|
58
|
+
## 报告输出
|
|
59
|
+
|
|
60
|
+
报告将保存到:
|
|
61
|
+
```
|
|
62
|
+
.code-review/review-[分支名]-[日期].html
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
报告包含:
|
|
66
|
+
1. **概览面板**: 变更统计、风险统计、通过率
|
|
67
|
+
2. **文件导航**: 文件树、变更行数、风险标记
|
|
68
|
+
3. **代码差异**: 并排/统一模式、语法高亮
|
|
69
|
+
4. **技术风险**: 按严重程度分级、关联代码行
|
|
70
|
+
5. **业务风险**: 需求覆盖度、缺失功能、流程问题
|
|
71
|
+
6. **交互功能**: 搜索、过滤、评论、导出
|
|
72
|
+
|
|
73
|
+
## 风险等级说明
|
|
74
|
+
|
|
75
|
+
| 等级 | 技术风险 | 业务风险 |
|
|
76
|
+
|------|---------|---------|
|
|
77
|
+
| 🔴 严重 | 崩溃、安全漏洞、数据丢失 | 缺失核心功能、业务流程错误 |
|
|
78
|
+
| 🟡 警告 | 性能问题、可维护性差 | 缺少异常处理、边界条件遗漏 |
|
|
79
|
+
| 🔵 建议 | 代码优化、重构建议 | 体验优化、流程改进 |
|
|
80
|
+
| ⚪ 提示 | 信息说明、最佳实践 | - |
|
|
81
|
+
|
|
82
|
+
## 工作流程
|
|
83
|
+
|
|
84
|
+
```mermaid
|
|
85
|
+
graph LR
|
|
86
|
+
A[确认分支] --> B[收集代码差异]
|
|
87
|
+
B --> C{有需求文档?}
|
|
88
|
+
C -->|是| D[分析技术+业务风险]
|
|
89
|
+
C -->|否| E[仅分析技术风险]
|
|
90
|
+
D --> F[生成HTML报告]
|
|
91
|
+
E --> F
|
|
92
|
+
F --> G[输出评审结果]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 相关命令
|
|
96
|
+
|
|
97
|
+
- `/spec-start` - 启动需求交付
|
|
98
|
+
- `/spec-continue` - 继续需求交付
|
|
99
|
+
- `/spec-status` - 查看需求状态
|
|
100
|
+
- `execute-task` 技能 - 基于评审结果创建修复任务
|
|
101
|
+
|
|
102
|
+
## 注意事项
|
|
103
|
+
|
|
104
|
+
- 必须在 Git 仓库中执行
|
|
105
|
+
- 确保功能分支已提交变更
|
|
106
|
+
- 业务风险分析需要提供需求文档
|
|
107
|
+
- 报告为独立 HTML 文件,无需外部依赖
|
|
108
|
+
- 不会修改任何源代码文件
|
|
109
|
+
|
|
110
|
+
## 后续操作
|
|
111
|
+
|
|
112
|
+
评审完成后可执行:
|
|
113
|
+
|
|
114
|
+
1. **修复风险**: 使用 `execute-task` 技能创建修复任务
|
|
115
|
+
2. **更新需求**: 使用 `/spec-update` 补充需求文档
|
|
116
|
+
3. **重新评审**: 修复后再次运行 `/branch-review` 验证
|
|
117
|
+
4. **合并代码**: 解决所有严重风险后可安全合并
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
这是项目规范初始化入口。目标不是只生成 `01/03`,而是按当前项目的 profiles 补齐本次应写的全部规范文件。
|
|
2
|
+
|
|
3
|
+
先读取并严格遵守:
|
|
4
|
+
|
|
5
|
+
- `.agents/skills/common/project-init/SKILL.md`
|
|
6
|
+
|
|
7
|
+
执行要求:
|
|
8
|
+
|
|
9
|
+
1. 读取 `.ai-spec/manifest.json` 中的 `profile`(字符串)或 `profiles`(数组),统一为 profile 列表。
|
|
10
|
+
2. 从 `.agents/registry/profiles.json` 查询各 profile 的 `project_init_rule_ids`,合并为本次应生成的规则集合。
|
|
11
|
+
3. 固定写入(统一写入 `.agents/rules/`):
|
|
12
|
+
- `01-项目概述.md`
|
|
13
|
+
- `03-项目结构.md`
|
|
14
|
+
- `context/PROJECT.md`
|
|
15
|
+
4. 若项目存在 `openspec/`,同步 `openspec/project.md`。
|
|
16
|
+
5. 若 `.agents/rules/` 下缺失规则集合中任意文件,必须在本次一并补生成。
|
|
17
|
+
|
|
18
|
+
绝对红线:
|
|
19
|
+
|
|
20
|
+
- 不能只写 `01/03 + PROJECT` 就结束
|
|
21
|
+
- 不能把缺失的能力规则只写进摘要或建议,不落盘
|
|
22
|
+
- 对已存在的能力规则不覆盖
|
|
23
|
+
- 内容必须基于当前仓库实际代码、目录和依赖,不能照搬通用模板
|
|
24
|
+
|
|
25
|
+
把用户触发本命令视为明确授权:信息足够时直接完成写入;只有在项目事实明显不足、无法判断时,才先给出简短确认摘要。
|