@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,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,82 @@
|
|
|
1
|
+
这是协议驱动入口,不是直接开发命令。
|
|
2
|
+
|
|
3
|
+
这个入口的目标很单一:
|
|
4
|
+
|
|
5
|
+
- 默认启用 `review-policy(审核策略) = main-flow-blocking(主流程阻塞审核)`
|
|
6
|
+
- 允许开发者在命令尾部追加 `CLI flags(命令行标志位)`
|
|
7
|
+
- 继续复用 `protocol-step(协议启动命令)`,不改运行状态机
|
|
8
|
+
|
|
9
|
+
绝对红线:
|
|
10
|
+
|
|
11
|
+
- 在执行 `protocol-step --json` 之前,禁止搜索项目、读取项目代码、调用实现技能、修改任何业务文件
|
|
12
|
+
- 当前 `actor(执行角色)` 不是 `frontend-implementer(前端实现专家)` 时,禁止修改 Vue/TS/CSS 业务代码
|
|
13
|
+
- 不允许跳过 `task-orchestrator(任务编排专家) -> requirement-analyst(需求解析专家) -> task-orchestrator(任务编排专家) -> frontend-implementer(前端实现专家) -> task-orchestrator(任务编排专家) -> code-guardian(规范守护专家) -> task-orchestrator(任务编排专家)`
|
|
14
|
+
|
|
15
|
+
先解析本次 `/spec-start-review` 命令尾部输入:
|
|
16
|
+
|
|
17
|
+
- 支持 `--mode <auto|suggest|manual>`
|
|
18
|
+
- 支持 `--flow <flow-id>`
|
|
19
|
+
- 支持 `--review-policy <none|main-flow-blocking>`
|
|
20
|
+
- 未显式传入时,默认使用 `--mode auto --review-policy main-flow-blocking`
|
|
21
|
+
- 除这些 `flags(标志位)` 之外的剩余文本,全部视为本次需求原文,并透传给 `--user-input`
|
|
22
|
+
- 若 `flags(标志位)` 之外没有任何需求原文,先提示用户补完整需求,再执行
|
|
23
|
+
- 若用户传了 `--mode manual` 但没有传 `--flow`,不要自行兜底,不要改写成别的模式;保持原样执行,让运行时自己返回 `manual-flow-required(手动流程必填门禁)`
|
|
24
|
+
- 不要把 `manual(手动)` 理解成“每一步都人工审核”
|
|
25
|
+
|
|
26
|
+
推荐示例:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
/spec-start-review 创建订单列表 mock 页面
|
|
30
|
+
/spec-start-review --mode suggest 创建订单列表 mock 页面
|
|
31
|
+
/spec-start-review --mode manual --flow prd-to-delivery 创建订单列表 mock 页面
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
完成解析后,执行等价协议命令:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
./node_modules/.bin/ai-spec-auto protocol-step --target . --user-input "<解析后的需求原文>" --mode <解析后的 mode(运行模式)> --review-policy <解析后的 review-policy(审核策略)> [--flow <解析后的 flow(流程模板)>] --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
然后只按返回的 `turn(当前轮次)` 执行:
|
|
41
|
+
|
|
42
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
43
|
+
若 `execute_current_command_first = true`,才需要先执行 `turn.enforcement.current_command`
|
|
44
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
45
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
46
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令,不要自行补流程
|
|
47
|
+
5. `task-orchestrator(任务编排专家)` 只写 `.ai-spec/internal/tmp/task-orchestrator-turn.json`,不写业务代码
|
|
48
|
+
6. `requirement-analyst(需求解析专家)` 只产出 `proposal.md`、`spec.md`、`tasks.md`
|
|
49
|
+
7. `frontend-implementer(前端实现专家)` 才允许改业务代码
|
|
50
|
+
8. `code-guardian(规范守护专家)` 只产出 `checklist.md`、`iterations.md`
|
|
51
|
+
9. 完成当前轮次后:
|
|
52
|
+
- 若不存在 `turn.finalize_contract.user_report_contract`,可简短播报 `turn.announcements.exit`
|
|
53
|
+
- 若存在最终摘要契约,直接输出符合契约的最终摘要,不再额外播报内部阶段完成语
|
|
54
|
+
- 若 `turn.enforcement.current_command_finalizes_run = true`,则 `current_command(当前命令)` 已完成归档与运行收尾;不要再写 `expert-execution(专家执行结果)` JSON,不要再执行 `protocol-advance(协议推进命令)`,直接读取当前运行态并输出最终摘要
|
|
55
|
+
10. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
56
|
+
11. 若用户中途补充新要求,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
57
|
+
12. `advance(推进命令)` 返回后,直接读取返回结果里的下一个 `turn(当前轮次)` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
58
|
+
13. 重复直到 `turn.status = terminal | blocked`
|
|
59
|
+
|
|
60
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
61
|
+
|
|
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
|
+
若 `turn.status = blocked` 且存在 `turn.guidance.confirm_gate`:
|
|
69
|
+
|
|
70
|
+
- 先判断是否是 `start-review(启动确认门禁)` 或 `manual-flow-required(手动流程必填门禁)`
|
|
71
|
+
- `start-review(启动确认门禁)`:提示用户当前是 `suggest(建议)` 模式,先确认建议计划,再恢复到第一位专家
|
|
72
|
+
- `manual-flow-required(手动流程必填门禁)`:提示用户必须补充 `--flow <flow-id>`
|
|
73
|
+
- 不要把 `manual(手动)` 理解成“每一步都审核”
|
|
74
|
+
|
|
75
|
+
对用户只输出阶段语义和最终摘要,不回显 `scratch JSON(中间草稿 JSON)`。
|
|
76
|
+
若存在 `turn.finalize_contract.user_report_contract`,最终摘要严格服从它:
|
|
77
|
+
|
|
78
|
+
- `micro`:压成三句式,只保留交付结论、验证结果、残留风险;不要文件路径、实现结构细节、命令名
|
|
79
|
+
- `standard`:只保留关键结果、验证结果、残留风险,必要时补一句下一步;不要协议细节、路径、OpenSpec 文件名或长篇实现说明
|
|
80
|
+
- 不要出现 `proposal.md`、`spec.md`、`tasks.md`、`checklist.md`、`iterations.md`、`terminal`、`success`、`waiting-approval` 等内部词
|
|
81
|
+
- 不要额外输出“阶段说明(语义)”式逐角色播报
|
|
82
|
+
- 不要默认附加 `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,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /opsx-apply
|
|
3
|
+
id: opsx-apply
|
|
4
|
+
category: Workflow
|
|
5
|
+
description: Cursor 兼容入口:按 tasks.md 执行 OpenSpec 任务实现
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
这是 Cursor 的兼容入口,语义对齐 `/opsx:apply`。
|
|
9
|
+
|
|
10
|
+
目标:
|
|
11
|
+
- 选定一个 OpenSpec 变更
|
|
12
|
+
- 读取 proposal / design / tasks 作为上下文
|
|
13
|
+
- 按 `execute-task` 技能默认要求实施任务
|
|
14
|
+
- 任务完成后更新 `tasks.md`
|
|
15
|
+
- 全部完成时提示 `/opsx-archive`
|
|
16
|
+
|
|
17
|
+
执行要求:
|
|
18
|
+
|
|
19
|
+
1. 先确定当前要实施的变更
|
|
20
|
+
- 若用户明确给了 change name,直接用它
|
|
21
|
+
- 若上下文里只有一个活跃变更,可直接采用
|
|
22
|
+
- 若存在多个候选,先用简短自然语言让用户确认,不使用旧版问答工具口吻
|
|
23
|
+
|
|
24
|
+
2. 先读取变更状态与关键产物
|
|
25
|
+
推荐先执行:
|
|
26
|
+
```bash
|
|
27
|
+
npx openspec status --change "<change-name>" --json
|
|
28
|
+
```
|
|
29
|
+
再读取:
|
|
30
|
+
- `openspec/changes/<change-name>/proposal.md`
|
|
31
|
+
- `openspec/changes/<change-name>/design.md`(若存在)
|
|
32
|
+
- `openspec/changes/<change-name>/tasks.md`
|
|
33
|
+
|
|
34
|
+
3. 默认按 `execute-task` 技能执行
|
|
35
|
+
优先读取:
|
|
36
|
+
- `.agents/skills/execute-task/SKILL.md`
|
|
37
|
+
若仓库仍保留源结构,再看:
|
|
38
|
+
- `.agents/skills/common/execute-task/SKILL.md`
|
|
39
|
+
|
|
40
|
+
4. 实施时保持当前架构要求:
|
|
41
|
+
- 默认走 Superpowers 四步循环
|
|
42
|
+
- 逐项完成 `tasks.md` 中未勾选任务
|
|
43
|
+
- 每完成一项立即把 `- [ ]` 改成 `- [x]`
|
|
44
|
+
- 若遇到阻断、需求不清或高风险偏差,暂停并说明,不要硬猜
|
|
45
|
+
|
|
46
|
+
5. 输出保持简洁:
|
|
47
|
+
- 当前使用的 change name
|
|
48
|
+
- 本轮完成了哪些任务
|
|
49
|
+
- 剩余任务或阻断
|
|
50
|
+
- 若全部完成,提示下一步 `/opsx-archive`
|
|
51
|
+
|
|
52
|
+
守卫:
|
|
53
|
+
- 不跳过 `proposal / design / tasks` 直接写代码
|
|
54
|
+
- 不回退到旧版长篇流程播报
|
|
55
|
+
- 不把 Cursor 连字符命令复制到其他 IDE
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /opsx-archive
|
|
3
|
+
id: opsx-archive
|
|
4
|
+
category: Workflow
|
|
5
|
+
description: Cursor 兼容入口:归档 OpenSpec 变更并合并规范
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
这是 Cursor 的兼容入口,语义对齐 `/opsx:archive`。
|
|
9
|
+
|
|
10
|
+
目标:
|
|
11
|
+
- 选定要归档的变更
|
|
12
|
+
- 优先走当前 `archive-change` 增强层
|
|
13
|
+
- 把增量规范合并到 `openspec/specs/`
|
|
14
|
+
- 把变更归档到 `openspec/changes/archive/`
|
|
15
|
+
- 输出简洁归档摘要
|
|
16
|
+
|
|
17
|
+
执行要求:
|
|
18
|
+
|
|
19
|
+
1. 先确定 change name
|
|
20
|
+
- 用户明确给出则直接使用
|
|
21
|
+
- 若上下文中只有一个已完成或当前变更,可直接采用
|
|
22
|
+
- 若存在多个候选,用自然语言让用户确认
|
|
23
|
+
|
|
24
|
+
2. 优先使用当前规范库提供的归档增强层
|
|
25
|
+
首选命令:
|
|
26
|
+
```bash
|
|
27
|
+
./node_modules/.bin/ai-spec-auto archive-change --target . --change-id "<change-name>" --complete-run --json
|
|
28
|
+
```
|
|
29
|
+
除非该命令不可用,否则不要手工拼 `mkdir`、`cp`、`mv` 去归档。
|
|
30
|
+
|
|
31
|
+
3. 若确实无法使用 `ai-spec-auto archive-change`,再回到当前 OpenSpec 归档路径
|
|
32
|
+
但不要回退到旧版的重型归档说明。
|
|
33
|
+
|
|
34
|
+
4. 完成后只输出:
|
|
35
|
+
- 变更名称
|
|
36
|
+
- 归档路径
|
|
37
|
+
- 规范合并结果
|
|
38
|
+
- 是否存在未完成任务或风险提示
|
|
39
|
+
|
|
40
|
+
5. 如需审查归档策略,优先参考:
|
|
41
|
+
- `.agents/skills/archive-change/SKILL.md`
|
|
42
|
+
若仓库仍保留源结构,再看:
|
|
43
|
+
- `.agents/skills/common/archive-change/SKILL.md`
|
|
44
|
+
|
|
45
|
+
守卫:
|
|
46
|
+
- 不绕开 `archive-change` 增强层直接做文件搬运
|
|
47
|
+
- 不输出过长的内部执行日志
|
|
48
|
+
- Cursor 用 `/opsx-archive`;其他 IDE 仍走 `/opsx:archive`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /opsx-explore
|
|
3
|
+
id: opsx-explore
|
|
4
|
+
category: Workflow
|
|
5
|
+
description: Cursor 兼容入口:进入 OpenSpec 探索模式,先思考再落提案
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
这是 Cursor 的兼容入口,语义对齐 `/opsx:explore`。
|
|
9
|
+
|
|
10
|
+
目标:
|
|
11
|
+
- 围绕一个主题做探索、调研、架构讨论或范围澄清
|
|
12
|
+
- 可以读代码、查现状、画结构、比方案
|
|
13
|
+
- 不直接实现业务代码
|
|
14
|
+
- 当思路收敛时,自然过渡到 `/opsx-propose`
|
|
15
|
+
|
|
16
|
+
工作方式:
|
|
17
|
+
|
|
18
|
+
1. 先确认探索主题
|
|
19
|
+
- 若用户已给出主题,直接围绕它展开
|
|
20
|
+
- 若主题很模糊,可先问一两句自然语言澄清
|
|
21
|
+
|
|
22
|
+
2. 允许做的事:
|
|
23
|
+
- 读代码和文档
|
|
24
|
+
- 搜索仓库
|
|
25
|
+
- 对比方案与权衡
|
|
26
|
+
- 用表格或 ASCII 图梳理结构
|
|
27
|
+
- 引用已有 OpenSpec 变更作为上下文
|
|
28
|
+
|
|
29
|
+
3. 禁止做的事:
|
|
30
|
+
- 不直接写业务实现代码
|
|
31
|
+
- 不把探索直接变成实施
|
|
32
|
+
- 不在未达成一致时强行创建产物
|
|
33
|
+
|
|
34
|
+
4. 当探索逐渐收敛时,可以主动提示:
|
|
35
|
+
- 若准备正式立项:`/opsx-propose`
|
|
36
|
+
- 若只是补充思路:继续探索即可
|
|
37
|
+
|
|
38
|
+
5. 输出风格:
|
|
39
|
+
- 以讨论、比较、澄清为主
|
|
40
|
+
- 保持结构清楚
|
|
41
|
+
- 不使用旧版重型问答流程
|
|
42
|
+
|
|
43
|
+
守卫:
|
|
44
|
+
- 这是探索模式,不是实现模式
|
|
45
|
+
- Cursor 用 `/opsx-explore`;其他 IDE 仍走 `/opsx:explore`
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /opsx-propose
|
|
3
|
+
id: opsx-propose
|
|
4
|
+
category: Workflow
|
|
5
|
+
description: Cursor 兼容入口:创建 OpenSpec 提案并生成 proposal/specs/design/tasks
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
这是 Cursor 的兼容入口,语义对齐 `/opsx:propose`。
|
|
9
|
+
|
|
10
|
+
目标:
|
|
11
|
+
- 创建或续用一个 OpenSpec 变更目录
|
|
12
|
+
- 结合 `create-proposal` 技能完成前置分析
|
|
13
|
+
- 生成 proposal / specs / design / tasks 等规划产物
|
|
14
|
+
- 最后给出简洁摘要,并提示下一步使用 `/opsx-apply`
|
|
15
|
+
|
|
16
|
+
执行要求:
|
|
17
|
+
|
|
18
|
+
1. 优先读取并遵守 `create-proposal` 技能
|
|
19
|
+
优先看:
|
|
20
|
+
- `.agents/skills/create-proposal/SKILL.md`
|
|
21
|
+
若仓库仍保留源结构,再看:
|
|
22
|
+
- `.agents/skills/common/create-proposal/SKILL.md`
|
|
23
|
+
|
|
24
|
+
2. 若用户没有提供变更名称或需求描述不够明确,先用一两句自然语言补齐关键信息
|
|
25
|
+
不使用旧版 `AskUserQuestion` 风格,也不要机械连问。
|
|
26
|
+
|
|
27
|
+
3. 先做当前架构要求的前置分析
|
|
28
|
+
至少收敛:
|
|
29
|
+
- 交付形态(页面 / 组件 / 模块 / 其它)
|
|
30
|
+
- 是否有设计稿或明确 UI 描述
|
|
31
|
+
- 是否接真实接口、走 mock,还是接口未就绪
|
|
32
|
+
- 是否存在高风险边界或范围不清
|
|
33
|
+
|
|
34
|
+
4. 使用当前 OpenSpec 快速路径生成产物
|
|
35
|
+
推荐顺序:
|
|
36
|
+
```bash
|
|
37
|
+
npx openspec list --json
|
|
38
|
+
npx openspec new change "<change-name>"
|
|
39
|
+
npx openspec ff "<change-name>"
|
|
40
|
+
```
|
|
41
|
+
若变更已存在,则不要重复新建,直接在现有变更上继续快进生成。
|
|
42
|
+
|
|
43
|
+
5. 产物位置必须稳定落在:
|
|
44
|
+
- `openspec/changes/<change-name>/proposal.md`
|
|
45
|
+
- `openspec/changes/<change-name>/specs/`
|
|
46
|
+
- `openspec/changes/<change-name>/design.md`
|
|
47
|
+
- `openspec/changes/<change-name>/tasks.md`
|
|
48
|
+
|
|
49
|
+
6. 完成后只做简洁收口:
|
|
50
|
+
- 变更名称
|
|
51
|
+
- 产物路径
|
|
52
|
+
- 提案范围摘要
|
|
53
|
+
- 下一步:`/opsx-apply`
|
|
54
|
+
|
|
55
|
+
守卫:
|
|
56
|
+
- 不直接开始写业务代码
|
|
57
|
+
- 不回退到旧版重型 artifact loop
|
|
58
|
+
- 不输出长篇协议细节
|
|
59
|
+
- Cursor 用 `/opsx-propose`;其他 IDE 仍走 `/opsx:propose`
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /spec-continue
|
|
3
|
+
id: spec-continue
|
|
4
|
+
category: Workflow
|
|
5
|
+
description: Cursor 兼容入口:按运行态优先执行 protocol-update 或 protocol-advance
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
这是 Cursor 的协议继续入口,不是直接开发命令。
|
|
9
|
+
|
|
10
|
+
绝对红线:
|
|
11
|
+
|
|
12
|
+
- 在执行 `protocol-advance --json` 之前,禁止直接开始读项目代码、调用实现技能或修改业务文件
|
|
13
|
+
- 不允许把当前轮次退化成“直接开始写页面/组件代码”
|
|
14
|
+
- `task-orchestrator` 必须在每次专家完成后重新出现
|
|
15
|
+
|
|
16
|
+
先判断当前这一轮用户输入:
|
|
17
|
+
|
|
18
|
+
- 若用户这轮是在表达审批/放行意图,例如 `我同意继续实现`、`同意`、`继续`、`开始`、`愿意`
|
|
19
|
+
- 或当前在归档确认门禁中,用户这轮是在表达归档决定,例如 `归档`、`同意归档`、`先不归档`、`暂不归档`
|
|
20
|
+
- 且当前运行态很可能已停在 `pending_gate`
|
|
21
|
+
|
|
22
|
+
则优先执行:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
./node_modules/.bin/ai-spec-auto protocol-update --target . --user-input "<当前这条用户原话>" --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
不要先空跑 `protocol-advance`。
|
|
29
|
+
|
|
30
|
+
若 `protocol-update` 返回 `fast_path.executed = true`:
|
|
31
|
+
|
|
32
|
+
- 说明当前是本地 fast-path,已经直接完成“归档”或“结束运行”
|
|
33
|
+
- 不要再执行 `/spec-continue`
|
|
34
|
+
- 不要再执行 `protocol-advance`
|
|
35
|
+
- 直接读取返回结果里的 `turn` 或当前运行态,输出最终摘要
|
|
36
|
+
|
|
37
|
+
其它情况再执行:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
./node_modules/.bin/ai-spec-auto protocol-advance --target . --json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
然后只按返回的 `turn` 执行:
|
|
44
|
+
|
|
45
|
+
1. 若存在 `turn.enforcement`,先完全遵守它;尤其是 `allowed_actor`、`allow_code_write`、`forbidden_skills`
|
|
46
|
+
2. 原样向用户播报 `turn.announcements.enter`
|
|
47
|
+
3. 只读取 `turn.reads`,只写 `turn.writes`
|
|
48
|
+
4. 若存在 `turn.guidance`、`turn.execution_contract`、`turn.commands`、`turn.finalize_contract`,以它们为最终执行契约,不要自行拼命令
|
|
49
|
+
5. 若当前专家执行结果为 `partial(部分完成)` 或任何非 `done / success / completed` 状态,不得写“交付完成”,不得交给下一位专家;必须继续停留在当前专家补齐后再推进
|
|
50
|
+
6. 若 `turn.enforcement.current_command_finalizes_run = true`,不要再执行 `protocol-advance`
|
|
51
|
+
7. 若 `turn.requires_advance = true`,立即执行 `turn.finalize_contract.advance_command`
|
|
52
|
+
8. 若用户中途补充新要求,或当前这条输入本身就是审批/放行意见,或是归档确认门禁下的“归档 / 不归档”决定,优先执行 `turn.finalize_contract.update_command` 或 `turn.commands.update`
|
|
53
|
+
9. `advance` 返回后,直接读取返回结果里的下一个 `turn` 并继续;不要 `sleep`、`tail`、`timeout`、`cat` 日志,也不要额外重跑 `protocol-step`
|
|
54
|
+
10. 重复直到 `turn.status = terminal | blocked`
|
|
55
|
+
|
|
56
|
+
若 `turn.status = blocked` 且存在 `turn.summary.pending_gate`:
|
|
57
|
+
|
|
58
|
+
- 明确告诉用户:当前停在该审批门禁,尚未批准,不能继续实现
|
|
59
|
+
- 若存在 `turn.guidance.approval_gate.user_report_contract`,严格按它输出极简摘要,只保留“当前状态 / 关键原因 / 下一步”
|
|
60
|
+
- 不要继续执行 `advance`
|
|
61
|
+
- 若用户随后给出明确批准意见,或在归档确认门禁下给出“归档 / 不归档”决定,先执行 `turn.commands.update` 记录说明;若 `protocol-update` 返回 `fast_path.executed = true`,直接结束当前轮次,否则再让用户重新执行 `/spec-continue`
|
|
62
|
+
|
|
63
|
+
最终摘要只保留高信号结果、验证结果、残留风险,不要回显协议日志、scratch JSON 或内部文件名。
|