@gong-ym/ai-spec-auto 0.2.13 → 0.2.15
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 -33
- package/.agents/commands/claude/spec-start-review.md +88 -88
- package/.agents/commands/codex/spec-continue.md +74 -74
- package/.agents/commands/codex/spec-orchestrate.md +35 -35
- package/.agents/commands/codex/spec-start-review.md +88 -88
- package/.agents/commands/codex/spec-start.md +67 -67
- package/.agents/commands/codex/spec-status.md +22 -22
- package/.agents/commands/codex/spec-stop.md +29 -29
- package/.agents/commands/codex/spec-update.md +40 -40
- package/.agents/commands/common/branch-review.md +117 -117
- package/.agents/commands/common/project-init.md +25 -25
- package/.agents/commands/common/spec-continue.md +74 -74
- package/.agents/commands/common/spec-orchestrate.md +35 -35
- package/.agents/commands/common/spec-start-review.md +82 -82
- package/.agents/commands/common/spec-start.md +67 -67
- package/.agents/commands/common/spec-status.md +22 -22
- package/.agents/commands/common/spec-stop.md +29 -29
- package/.agents/commands/common/spec-update.md +60 -40
- package/.agents/commands/cursor/opsx-apply.md +55 -55
- package/.agents/commands/cursor/opsx-archive.md +48 -48
- package/.agents/commands/cursor/opsx-explore.md +45 -45
- package/.agents/commands/cursor/opsx-propose.md +59 -59
- package/.agents/commands/cursor/spec-continue.md +63 -63
- package/.agents/commands/cursor/spec-orchestrate.md +53 -53
- package/.agents/commands/cursor/spec-start-review.md +78 -78
- package/.agents/commands/cursor/spec-start.md +59 -59
- package/.agents/commands/cursor/spec-status.md +30 -30
- package/.agents/commands/cursor/spec-stop.md +29 -29
- package/.agents/commands/cursor/spec-update.md +41 -41
- package/.agents/flows/FRONTMATTER.md +263 -263
- package/.agents/flows/RUN_OUTPUT.md +263 -263
- package/.agents/flows/common/README.md +29 -29
- package/.agents/flows/common/bugfix-to-verification.md +95 -95
- package/.agents/flows/common/change-to-architecture-review.md +89 -89
- package/.agents/flows/common/change-to-release.md +94 -94
- package/.agents/flows/common/prd-to-delivery.md +184 -184
- package/.agents/flows/common/requirement-to-observability.md +97 -97
- package/.agents/orchestration/README.md +22 -22
- package/.agents/orchestration/expert-dispatch-spec.md +155 -155
- package/.agents/orchestration/expert-executor-spec.md +84 -84
- package/.agents/orchestration/expert-runtime-action-spec.md +73 -73
- package/.agents/orchestration/runtime-state-handoff-spec.md +264 -264
- package/.agents/orchestration/task-anchor-spec.md +212 -212
- package/.agents/orchestration/task-orchestrator-adapter-payload.md +153 -153
- package/.agents/orchestration/task-orchestrator-bootstrap-payload.md +145 -145
- package/.agents/orchestration/task-orchestrator-output-extractor-spec.md +93 -93
- package/.agents/orchestration/task-orchestrator-run-plan-template.md +312 -312
- package/.agents/orchestration/task-orchestrator-runtime-hooks.md +214 -214
- package/.agents/registry/README.md +63 -63
- package/.agents/registry/flows.json +125 -125
- package/.agents/registry/profiles.json +101 -101
- package/.agents/registry/roles.json +1265 -1265
- package/.agents/registry/rules.json +148 -148
- package/.agents/registry/scenario-packages.json +123 -123
- package/.agents/registry/skills.json +130 -130
- package/.agents/roles/INDEX.md +346 -346
- package/.agents/roles/common/README.md +76 -76
- package/.agents/roles/common/archive-change.md +80 -80
- package/.agents/roles/common/backend-implementer.md +92 -92
- package/.agents/roles/common/code-guardian.md +151 -151
- package/.agents/roles/common/frontend-implementer.md +146 -146
- package/.agents/roles/common/requirement-analyst.md +138 -138
- package/.agents/roles/common/task-orchestrator-routing.md +301 -301
- package/.agents/roles/common/task-orchestrator.md +224 -224
- package/.agents/roles/common/tooling-implementer.md +92 -92
- package/.agents/roles/domains/README.md +35 -35
- package/.agents/roles/domains/delivery/README.md +11 -11
- package/.agents/roles/domains/delivery/container-specialist.md +50 -50
- package/.agents/roles/domains/delivery/deployment-specialist.md +50 -50
- package/.agents/roles/domains/delivery/pipeline-specialist.md +50 -50
- package/.agents/roles/domains/demand-design/README.md +16 -16
- package/.agents/roles/domains/demand-design/api-contract-specialist.md +52 -52
- package/.agents/roles/domains/demand-design/design-collaborator.md +58 -58
- package/.agents/roles/domains/documentation/README.md +11 -11
- package/.agents/roles/domains/documentation/api-doc-specialist.md +50 -50
- package/.agents/roles/domains/documentation/component-doc-specialist.md +49 -49
- package/.agents/roles/domains/documentation/technical-writing-specialist.md +48 -48
- package/.agents/roles/domains/engineering/README.md +17 -17
- package/.agents/roles/domains/engineering/architecture-advisor.md +53 -53
- package/.agents/roles/domains/engineering/build-specialist.md +51 -51
- package/.agents/roles/domains/engineering/dependency-governor.md +52 -52
- package/.agents/roles/domains/governance/README.md +17 -17
- package/.agents/roles/domains/governance/api-governance-specialist.md +51 -51
- package/.agents/roles/domains/governance/lint-policy-specialist.md +49 -49
- package/.agents/roles/domains/governance/route-governance-specialist.md +52 -52
- package/.agents/roles/domains/observability/README.md +11 -11
- package/.agents/roles/domains/observability/error-tracker.md +50 -50
- package/.agents/roles/domains/observability/event-instrumentation-specialist.md +51 -51
- package/.agents/roles/domains/observability/rum-analyst.md +50 -50
- package/.agents/roles/domains/performance/README.md +11 -11
- package/.agents/roles/domains/performance/asset-optimizer.md +50 -50
- package/.agents/roles/domains/performance/performance-auditor.md +56 -56
- package/.agents/roles/domains/performance/vitals-analyst.md +50 -50
- package/.agents/roles/domains/security-a11y/README.md +11 -11
- package/.agents/roles/domains/security-a11y/a11y-auditor.md +50 -50
- package/.agents/roles/domains/security-a11y/aria-specialist.md +51 -51
- package/.agents/roles/domains/security-a11y/security-reviewer.md +49 -49
- package/.agents/roles/domains/testing/README.md +12 -12
- package/.agents/roles/domains/testing/coverage-analyst.md +50 -50
- package/.agents/roles/domains/testing/e2e-test-specialist.md +51 -51
- package/.agents/roles/domains/testing/unit-test-specialist.md +56 -56
- package/.agents/roles/domains/testing/verification-reviewer.md +67 -67
- package/.agents/rules/README.md +87 -87
- package/.agents/rules/common/02-/347/274/226/347/240/201/350/247/204/350/214/203.md +45 -45
- package/.agents/rules/common/08-/351/200/232/347/224/250/347/272/246/346/235/237.md +63 -63
- package/.agents/rules/common/10-/346/226/207/346/241/243/350/247/204/350/214/203.md +101 -101
- package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +46 -46
- 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 -107
- package/.agents/rules/common/15-visual-gate-wait.md +90 -90
- package/.agents/rules/profiles/nestjs/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +27 -27
- package/.agents/rules/profiles/nestjs/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +20 -20
- 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 -24
- 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 -24
- 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 -24
- 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 -20
- 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 -20
- package/.agents/rules/profiles/nestjs/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +24 -24
- 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 -20
- package/.agents/rules/profiles/node-tooling/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +30 -30
- package/.agents/rules/profiles/node-tooling/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
- 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 -42
- package/.agents/rules/profiles/node-tooling/05-Contract/344/270/216Schema/350/247/204/350/214/203.md +42 -42
- 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 -30
- 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 -60
- 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 -45
- package/.agents/rules/profiles/node-tooling/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +41 -41
- 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 -55
- package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +29 -29
- package/.agents/rules/profiles/react/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +104 -104
- package/.agents/rules/profiles/react/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +46 -46
- package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +67 -67
- package/.agents/rules/profiles/react/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +54 -54
- package/.agents/rules/profiles/react/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +226 -226
- package/.agents/rules/profiles/react/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +71 -71
- package/.agents/rules/profiles/react/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
- 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 -159
- package/.agents/rules/profiles/springboot/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +31 -31
- package/.agents/rules/profiles/springboot/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
- package/.agents/rules/profiles/springboot/04-/345/210/206/345/261/202/350/247/204/350/214/203.md +33 -33
- 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 -51
- 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 -34
- 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 -38
- 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 -48
- package/.agents/rules/profiles/springboot/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +43 -43
- 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 -48
- package/.agents/rules/profiles/vue/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +47 -47
- package/.agents/rules/profiles/vue/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +106 -106
- package/.agents/rules/profiles/vue/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +61 -61
- package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +67 -67
- package/.agents/rules/profiles/vue/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +69 -69
- package/.agents/rules/profiles/vue/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +93 -93
- package/.agents/rules/profiles/vue/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +67 -67
- package/.agents/rules/profiles/vue/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
- 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 -159
- package/.agents/skills/README.md +171 -171
- package/.agents/skills/common/archive-change/SKILL.md +180 -180
- package/.agents/skills/common/branch-code-reviewer/SKILL.md +533 -459
- package/.agents/skills/common/branch-code-reviewer/references/business-risk-guide.md +293 -293
- package/.agents/skills/common/branch-code-reviewer/references/html-template-guide.md +121 -121
- package/.agents/skills/common/config-and-secret-scan/SKILL.md +99 -99
- package/.agents/skills/common/create-proposal/SKILL.md +192 -192
- package/.agents/skills/common/create-proposal/evals/evals.json +16 -16
- package/.agents/skills/common/create-proposal/evals/train_queries.json +18 -18
- package/.agents/skills/common/create-proposal/evals/validation_queries.json +18 -18
- package/.agents/skills/common/create-proposal/references/interaction-spec-template.md +42 -42
- package/.agents/skills/common/create-test/SKILL.md +292 -292
- package/.agents/skills/common/dependency-impact-graph/SKILL.md +80 -80
- package/.agents/skills/common/execute-task/SKILL.md +206 -206
- package/.agents/skills/common/execute-task/evals/evals.json +16 -16
- package/.agents/skills/common/execute-task/evals/train_queries.json +18 -18
- package/.agents/skills/common/execute-task/evals/validation_queries.json +18 -18
- package/.agents/skills/common/find-skills/SKILL.md +144 -144
- package/.agents/skills/common/install-ai-spec-auto/SKILL.md +260 -260
- package/.agents/skills/common/install-ai-spec-auto/evals/evals.json +17 -17
- package/.agents/skills/common/install-ai-spec-auto/evals/train_queries.json +18 -18
- package/.agents/skills/common/install-ai-spec-auto/evals/validation_queries.json +18 -18
- package/.agents/skills/common/project-init/SKILL.md +178 -178
- package/.agents/skills/common/project-init/evals/evals.json +16 -16
- package/.agents/skills/common/project-init/evals/train_queries.json +18 -18
- package/.agents/skills/common/project-init/evals/validation_queries.json +18 -18
- package/.agents/skills/common/project-init/references/custom-rule-generation.md +89 -89
- package/.agents/skills/common/project-init/references/deep-scan-rules.md +67 -67
- package/.agents/skills/common/project-init/references/output-contracts.md +71 -71
- package/.agents/skills/common/project-init/references/repo-fact-gathering.md +83 -83
- package/.agents/skills/common/project-init/references/scope-resolution.md +76 -76
- package/.agents/skills/common/project-init/scripts/inspect-project.js +112 -112
- package/.agents/skills/common/skill-creator/LICENSE.txt +201 -201
- package/.agents/skills/common/skill-creator/SKILL.md +370 -370
- package/.agents/skills/common/skill-creator/evals/evals.json +16 -16
- package/.agents/skills/common/skill-creator/evals/train_queries.json +18 -18
- package/.agents/skills/common/skill-creator/evals/validation_queries.json +18 -18
- package/.agents/skills/common/skill-creator/references/output-patterns.md +82 -82
- package/.agents/skills/common/skill-creator/references/workflows.md +27 -27
- package/.agents/skills/common/skill-creator/scripts/init_skill.py +209 -209
- package/.agents/skills/common/skill-creator/scripts/package_skill.py +110 -110
- package/.agents/skills/common/skill-creator/scripts/quick_validate.py +51 -51
- package/.agents/skills/common/skill-optimizer/SKILL.md +102 -102
- package/.agents/skills/common/skill-optimizer/evals/evals.json +16 -16
- package/.agents/skills/common/skill-optimizer/evals/train_queries.json +18 -18
- package/.agents/skills/common/skill-optimizer/evals/validation_queries.json +18 -18
- package/.agents/skills/common/skill-optimizer/references/design-patterns.md +26 -26
- package/.agents/skills/common/skill-optimizer/references/review-checklist.md +22 -22
- package/.agents/skills/common/using-superpowers/SKILL.md +151 -151
- package/.agents/skills/common/wait-for-gate-signal/SKILL.md +85 -85
- package/.agents/skills/domains/README.md +19 -19
- package/.agents/skills/domains/ui-ux-pro-max/SKILL.md +58 -58
- package/.agents/skills/domains/web/design-analysis/SKILL.md +89 -89
- package/.agents/skills/domains/web/design-analysis/rules/analysis-order.md +61 -61
- package/.agents/skills/domains/web/design-analysis/rules/analysis-priorities.md +136 -136
- package/.agents/skills/domains/web/design-analysis/rules/checklist-common-misses.md +107 -107
- package/.agents/skills/domains/web/design-analysis/rules/implementation-common-errors.md +204 -204
- package/.agents/skills/domains/web/design-analysis/rules/implementation-guidelines.md +211 -211
- package/.agents/skills/domains/web/design-analysis/rules/output-analysis-checklist.md +247 -247
- package/.agents/skills/domains/web/design-analysis/rules/tools-design-guidelines.md +108 -108
- package/.agents/skills/domains/web/design-analysis/rules/workflow-element-extraction.md +162 -162
- package/.agents/skills/domains/web/design-analysis/rules/workflow-layout-map.md +131 -131
- package/.agents/skills/domains/web/design-analysis/rules/workflow-output-checklist.md +70 -70
- package/.agents/skills/domains/web/design-analysis/rules/workflow-style-summary.md +91 -91
- package/.agents/skills/domains/web/route-permission-map/SKILL.md +103 -103
- package/.agents/skills/domains/web/ui-verification/SKILL.md +114 -114
- package/.agents/skills/domains/web/ui-verification/evals/evals.json +16 -16
- package/.agents/skills/domains/web/ui-verification/evals/train_queries.json +18 -18
- package/.agents/skills/domains/web/ui-verification/evals/validation_queries.json +18 -18
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-image.md +34 -34
- package/.agents/skills/domains/web/ui-verification/rules/comparison-content-text.md +30 -30
- package/.agents/skills/domains/web/ui-verification/rules/comparison-hierarchy.md +33 -33
- package/.agents/skills/domains/web/ui-verification/rules/comparison-layout.md +35 -35
- package/.agents/skills/domains/web/ui-verification/rules/errors-alignment.md +42 -42
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-dimensions.md +28 -28
- package/.agents/skills/domains/web/ui-verification/rules/errors-button-position.md +25 -25
- package/.agents/skills/domains/web/ui-verification/rules/errors-css-priority.md +50 -50
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-column-width.md +46 -46
- package/.agents/skills/domains/web/ui-verification/rules/errors-flex-layout.md +46 -46
- package/.agents/skills/domains/web/ui-verification/rules/errors-grid-container-width.md +44 -44
- package/.agents/skills/domains/web/ui-verification/rules/errors-page-container-width.md +39 -39
- package/.agents/skills/domains/web/ui-verification/rules/tools-browser-navigation.md +53 -53
- package/.agents/skills/domains/web/ui-verification/rules/tools-design-guidelines.md +53 -53
- package/.agents/skills/domains/web/ui-verification/rules/workflow-checklist.md +27 -27
- package/.agents/skills/domains/web/ui-verification/rules/workflow-problem-list.md +56 -56
- package/.agents/skills/domains/web/ui-verification/rules/workflow-reflection.md +44 -44
- package/.agents/skills/domains/web/ui-verification/rules/writing-alignment.md +44 -44
- package/.agents/skills/domains/web/ui-verification/rules/writing-element-completeness.md +63 -63
- package/.agents/skills/domains/web/ui-verification/rules/writing-list-layout.md +75 -75
- package/.agents/skills/domains/web/ui-verification/rules/writing-page-container-width.md +37 -37
- package/.agents/skills/domains/web/web-design-guidelines/SKILL.md +40 -40
- package/.agents/skills/profiles/nestjs/README.md +4 -4
- package/.agents/skills/profiles/node-tooling/README.md +9 -9
- package/.agents/skills/profiles/react/create-api/SKILL.md +145 -145
- package/.agents/skills/profiles/react/create-component/SKILL.md +160 -160
- package/.agents/skills/profiles/react/create-route/SKILL.md +168 -168
- package/.agents/skills/profiles/react/create-store/SKILL.md +262 -262
- package/.agents/skills/profiles/react/theme-variables/SKILL.md +82 -82
- package/.agents/skills/profiles/react/vercel-composition-patterns/AGENTS.md +899 -899
- package/.agents/skills/profiles/react/vercel-composition-patterns/SKILL.md +81 -81
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -100
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -112
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -87
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -100
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-context-interface.md +191 -191
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -113
- package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-lift-state.md +125 -125
- package/.agents/skills/profiles/react/vercel-react-best-practices/AGENTS.md +2934 -2934
- package/.agents/skills/profiles/react/vercel-react-best-practices/SKILL.md +136 -136
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -55
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -42
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -39
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-api-routes.md +38 -38
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-defer-await.md +80 -80
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-dependencies.md +51 -51
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-parallel.md +28 -28
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -99
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -59
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -31
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -49
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -35
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-preload.md +50 -50
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -74
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -71
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -48
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -56
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -107
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -80
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -28
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -70
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -32
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-early-exit.md +50 -50
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -45
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-index-maps.md +37 -37
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -49
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -82
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -24
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -57
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-activity.md +26 -26
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -47
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -40
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -38
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -46
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -82
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -30
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -28
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -75
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -39
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -45
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -40
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -29
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -74
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -58
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -38
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo.md +44 -44
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -45
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -35
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -40
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -73
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -73
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -96
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -41
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-react.md +76 -76
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -65
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -83
- package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-serialization.md +38 -38
- package/.agents/skills/profiles/springboot/README.md +10 -10
- package/.agents/skills/profiles/vue/create-api/SKILL.md +105 -105
- package/.agents/skills/profiles/vue/create-component/SKILL.md +76 -76
- package/.agents/skills/profiles/vue/create-route/SKILL.md +141 -141
- package/.agents/skills/profiles/vue/create-store/SKILL.md +97 -97
- package/.agents/skills/profiles/vue/create-view/SKILL.md +81 -81
- package/.agents/skills/profiles/vue/theme-variables/SKILL.md +73 -73
- package/.agents/skills/profiles/vue/vue-best-practices/SKILL.md +166 -166
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-class-based-technique.md +254 -254
- package/.agents/skills/profiles/vue/vue-best-practices/references/animation-state-driven-technique.md +291 -291
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-async.md +97 -97
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-data-flow.md +307 -307
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-fallthrough-attrs.md +174 -174
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-keep-alive.md +137 -137
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-slots.md +216 -216
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-suspense.md +228 -228
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-teleport.md +108 -108
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition-group.md +128 -128
- package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition.md +125 -125
- package/.agents/skills/profiles/vue/vue-best-practices/references/composables.md +290 -290
- package/.agents/skills/profiles/vue/vue-best-practices/references/directives.md +162 -162
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -159
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -182
- package/.agents/skills/profiles/vue/vue-best-practices/references/perf-virtualize-large-lists.md +187 -187
- package/.agents/skills/profiles/vue/vue-best-practices/references/plugins.md +166 -166
- package/.agents/skills/profiles/vue/vue-best-practices/references/reactivity.md +344 -344
- package/.agents/skills/profiles/vue/vue-best-practices/references/render-functions.md +201 -201
- package/.agents/skills/profiles/vue/vue-best-practices/references/sfc.md +310 -310
- package/.agents/skills/profiles/vue/vue-best-practices/references/state-management.md +135 -135
- package/.agents/skills/profiles/vue/vue-best-practices/references/updated-hook-performance.md +187 -187
- package/.agents/templates/common/README.md +23 -23
- package/.agents/templates/common/bugfix.md +22 -22
- package/.agents/templates/common/create-expert-package.md +458 -458
- package/.agents/templates/common/mock-page.md +28 -28
- package/.agents/templates/common/new-component.md +25 -25
- package/.agents/templates/common/new-page.md +31 -31
- package/.cursor/mcp.json +35 -35
- package/.qoder/mcp.json +26 -26
- package/bin/archive-change.js +560 -474
- package/bin/check-command.js +62 -62
- package/bin/cli.js +0 -0
- package/bin/command-template-renderer.js +40 -40
- package/bin/context-command.js +102 -102
- package/bin/demo-runtime-smoke.js +760 -760
- package/bin/execution-semantics.js +821 -821
- package/bin/executor-command.js +93 -93
- package/bin/expert-dispatch.js +334 -334
- package/bin/expert-executor.js +1148 -1148
- package/bin/guard-command.js +52 -52
- package/bin/hub-command.js +876 -876
- package/bin/ide-command.js +242 -242
- package/bin/init-command.js +193 -193
- package/bin/install-workflow.js +35 -3
- package/bin/manifest-export.js +34 -34
- package/bin/profile-registry.js +90 -90
- package/bin/protocol-workflow.js +452 -446
- package/bin/repair-command.js +161 -161
- package/bin/repo-map.js +177 -177
- package/bin/report-command.js +236 -236
- package/bin/runtime-bootstrap.js +428 -428
- package/bin/runtime-embedded.js +101 -101
- package/bin/runtime-fallback.js +106 -106
- package/bin/runtime-launcher.js +116 -116
- package/bin/runtime-paths.js +177 -177
- package/bin/runtime-registry.js +289 -289
- package/bin/runtime-state.js +2541 -2541
- package/bin/scan.js +96 -96
- package/bin/self-upgrade.js +206 -206
- package/bin/skill-spec-validator.js +457 -457
- package/bin/spec-command.js +366 -366
- package/bin/superpowers.js +384 -384
- package/bin/sync-command.js +59 -59
- package/bin/sync.js +1904 -1904
- package/bin/task-orchestrator-adapter.js +341 -341
- package/bin/task-orchestrator-extractor.js +274 -274
- package/bin/task-orchestrator-runner.js +1208 -1208
- package/bin/telemetry/README.md +66 -66
- package/bin/telemetry/aspect.js +153 -153
- package/bin/telemetry/collect.js +67 -67
- package/bin/telemetry/config.js +114 -114
- package/bin/telemetry/defaults.json +5 -5
- package/bin/telemetry/healthcheck.js +195 -195
- package/bin/telemetry/identity.js +53 -53
- package/bin/telemetry/index.js +25 -25
- package/bin/telemetry/reporter.js +83 -83
- package/bin/telemetry/safe.js +39 -39
- package/bin/validate-registry.js +740 -740
- package/bin/visual-bridge-config.js +117 -117
- package/bin/visual-bridge.js +287 -287
- package/bin/visual-command.js +432 -432
- package/bin/worktree-command.js +194 -194
- package/configs/common/.editorconfig +15 -15
- package/configs/common/.husky/commit-msg +4 -4
- package/configs/common/.husky/pre-commit +4 -4
- package/configs/common/.lintstagedrc +11 -11
- package/configs/common/.prettierignore +11 -11
- package/configs/common/.prettierrc.json +11 -11
- package/configs/common/.stylelintignore +14 -14
- package/configs/common/.stylelintrc.json +21 -21
- package/configs/common/commitlint.config.js +3 -3
- package/configs/profiles/nestjs/.gitkeep +1 -1
- package/configs/profiles/node-tooling/.gitkeep +1 -1
- package/configs/profiles/react/.eslintignore +6 -6
- package/configs/profiles/react/.eslintrc.js +16 -16
- package/configs/profiles/react/.stylelintrc.json +18 -18
- package/configs/profiles/springboot/.gitkeep +1 -1
- package/configs/profiles/vue/.eslintignore +6 -6
- package/configs/profiles/vue/.eslintrc.cjs +17 -17
- package/contracts/README.md +28 -28
- package/contracts/fixtures/asset-package.fixture.json +26 -26
- package/contracts/fixtures/asset-usage-feedback.fixture.json +14 -14
- package/contracts/fixtures/evidence-report.fixture.json +28 -28
- package/contracts/fixtures/manifest.fixture.json +20 -20
- package/contracts/fixtures/run-event.fixture.json +15 -15
- package/contracts/schemas/asset-package.schema.json +76 -76
- package/contracts/schemas/asset-usage-feedback.schema.json +57 -57
- package/contracts/schemas/evidence-report.schema.json +60 -60
- package/contracts/schemas/manifest.schema.json +63 -63
- package/contracts/schemas/run-event.schema.json +72 -72
- package/install.ps1 +35 -35
- package/install.sh +17 -17
- package/internal/ai-protocol-workflow.js +5824 -5600
- package/internal/hub-client.js +98 -98
- package/internal/hub-sync-selection.js +69 -69
- package/internal/visual-hooks/README.md +481 -481
- package/internal/visual-hooks/config-loader.js +218 -218
- package/internal/visual-hooks/control-puller.js +206 -206
- package/internal/visual-hooks/gate-signal.js +150 -150
- package/internal/visual-hooks/inbox-consumer.js +469 -469
- package/internal/visual-hooks/index.js +197 -197
- package/internal/visual-hooks/push-client.js +189 -189
- package/internal/visual-hooks/receipt-pusher.js +176 -176
- package/internal/visual-hooks/runtime-state-pusher.js +128 -128
- package/openspec/config.yaml.template +52 -52
- package/openspec/schemas/expert-delivery/schema.yaml +68 -68
- package/openspec/schemas/expert-delivery/templates/checklist.md +39 -39
- package/openspec/schemas/expert-delivery/templates/design.md +61 -61
- package/openspec/schemas/expert-delivery/templates/iterations.md +25 -25
- package/openspec/schemas/expert-delivery/templates/proposal.md +45 -45
- package/openspec/schemas/expert-delivery/templates/spec.md +29 -29
- package/openspec/schemas/expert-delivery/templates/tasks.md +24 -24
- package/package.json +1 -1
- package/scripts/acceptance-zero-intrusion.sh +168 -168
- package/scripts/hub-sync-assets.config.example.json +296 -296
- package/scripts/hub-sync-assets.js +2038 -2038
- package/scripts/local-verify.sh +280 -280
- package/scripts/post-publish-auto-fix-check.js +404 -404
- package/scripts/post-publish-verify.sh +175 -175
- package/scripts/setup-cursor-manual-test.sh +107 -107
- package/scripts/setup-cursor-spec-archive-test.sh +111 -111
- package/scripts/setup-visual-integration.sh +225 -225
- package/scripts/test-integration.sh +176 -176
- package/scripts/update-test-project.sh +93 -93
- package/scripts/upload-four-web.sh +57 -57
- package/scripts/verify-install-ps1-bom.js +26 -26
- package/src/agent/agent-context.js +259 -259
- package/src/agent/agent-profile.js +185 -185
- package/src/agent/agent-templates.js +161 -161
- package/src/agent/agent-types.js +108 -108
- package/src/agent/collaboration-protocol.js +333 -333
- package/src/agent/conflict-handler.js +364 -364
- package/src/agent/file-permission.js +121 -121
- package/src/agent/index.js +38 -38
- package/src/agent/permission-audit.js +151 -151
- package/src/agent/review-repair-loop.js +270 -270
- package/src/agent/tool-permission.js +101 -101
- package/src/asset/asset-dependency.js +322 -322
- package/src/asset/asset-feedback.js +350 -350
- package/src/asset/asset-fork.js +300 -300
- package/src/asset/asset-install.js +278 -278
- package/src/asset/asset-installer.js +497 -497
- package/src/asset/asset-lifecycle.js +324 -324
- package/src/asset/asset-manager.js +245 -245
- package/src/asset/asset-package-manager.js +349 -349
- package/src/asset/asset-package.js +186 -186
- package/src/asset/asset-quality.js +262 -262
- package/src/asset/asset-registry.js +387 -387
- package/src/asset/asset-version.js +293 -293
- package/src/asset/index.js +86 -86
- package/src/cache/agent-profile-cache.js +59 -59
- package/src/cache/asset-cache.js +63 -63
- package/src/cache/global-cache.js +61 -61
- package/src/cache/manifest-cache.js +30 -30
- package/src/check/check-service.js +32 -32
- package/src/config/config-layer.js +343 -343
- package/src/config/config-loader.js +60 -60
- package/src/config/defaults.js +49 -49
- package/src/connectors/hub/asset-package.js +72 -72
- package/src/connectors/hub/asset-usage-feedback.js +46 -46
- package/src/connectors/hub/hub-connector.js +44 -44
- package/src/connectors/hub/index.js +21 -21
- package/src/connectors/visual/evidence-report.js +49 -49
- package/src/connectors/visual/index.js +15 -15
- package/src/connectors/visual/queue.js +41 -41
- package/src/connectors/visual/run-event.js +81 -81
- package/src/connectors/visual/visual-connector.js +77 -77
- package/src/context/context-budget.js +59 -59
- package/src/context/context-builder.js +285 -285
- package/src/context/context-loader.js +116 -116
- package/src/context/context-planner.js +158 -158
- package/src/context/types.js +96 -96
- package/src/contracts/index.js +63 -63
- package/src/executor/executor-registry.js +78 -78
- package/src/executor/executor-result-parser.js +44 -44
- package/src/executor/executor-runner.js +141 -141
- package/src/executor/executor-selector.js +139 -139
- package/src/executor/executor-timeout.js +36 -36
- package/src/executor/providers/base-provider-utils.js +189 -189
- package/src/executor/providers/claude-code-executor-provider.js +128 -128
- package/src/executor/providers/codex-executor-provider.js +126 -126
- package/src/executor/providers/cursor-executor-provider.js +99 -99
- package/src/executor/types.js +137 -137
- package/src/git/branch-manager.js +71 -71
- package/src/git/dirty-checker.js +43 -43
- package/src/git/dirty-strategy-handler.js +29 -29
- package/src/git/git-command.js +37 -37
- package/src/git/git-repository-detector.js +45 -45
- package/src/git/multi-repo-worktree-planner.js +88 -88
- package/src/git/policy.js +19 -19
- package/src/git/strategies/block-dirty-strategy.js +34 -34
- package/src/git/strategies/ignore-dirty-strategy.js +33 -33
- package/src/git/strategies/patch-snapshot-strategy.js +53 -53
- package/src/git/strategies/wip-commit-strategy.js +38 -38
- package/src/git/types.js +71 -71
- package/src/git/worktree-manager.js +85 -85
- package/src/governance/asset-review.js +351 -351
- package/src/governance/audit-log.js +368 -368
- package/src/governance/gray-release.js +312 -312
- package/src/governance/index.js +31 -31
- package/src/governance/policy-types.js +56 -56
- package/src/governance/rbac-types.js +171 -171
- package/src/governance/rbac.js +382 -382
- package/src/governance/rollback.js +360 -360
- package/src/governance/security-policy.js +354 -354
- package/src/hook/hook-config-writer.js +125 -125
- package/src/hub/hub-client.js +186 -186
- package/src/hub/hub-config.js +39 -39
- package/src/hub/project-facts.js +31 -31
- package/src/hub/runtime-feedback-reporter.js +55 -55
- package/src/ide/adapters/adapter-protocol.js +385 -385
- package/src/ide/adapters/claude-adapter.js +419 -419
- package/src/ide/adapters/codex-adapter.js +60 -60
- package/src/ide/adapters/cursor-adapter.js +484 -484
- package/src/ide/adapters/index.js +24 -24
- package/src/ide/anchors/markdown-anchor-writer.js +152 -152
- package/src/ide/ide-service.js +270 -270
- package/src/ide/ide-types.js +94 -94
- package/src/ide/links/link-mode-resolver.js +160 -160
- package/src/ide/registry/ide-registry-builder.js +165 -165
- package/src/incident/incident-writer.js +47 -47
- package/src/incident/types.js +22 -22
- package/src/init/ide-linker.js +126 -126
- package/src/init/ide-pointer-injector.js +75 -75
- package/src/init/init-applier.js +197 -197
- package/src/init/init-plan.js +294 -294
- package/src/init/init-service.js +65 -65
- package/src/init/manifest-installer.js +302 -302
- package/src/init/types.js +26 -26
- package/src/project/config-writer.js +83 -83
- package/src/project/context-index-writer.js +82 -82
- package/src/project/json-utils.js +72 -72
- package/src/project/local-state-writer.js +50 -50
- package/src/project/lock-file-writer.js +98 -98
- package/src/project/manifest-writer.js +126 -126
- package/src/project/policy-config-writer.js +91 -91
- package/src/project/project-config-writer.js +74 -74
- package/src/project/project-files.js +39 -39
- package/src/project/registry-index-writer.js +43 -43
- package/src/project/workspace-config-writer.js +63 -63
- package/src/run/index.js +11 -11
- package/src/run/run-id.js +32 -32
- package/src/run/run-service.js +269 -269
- package/src/run/run-store.js +80 -80
- package/src/scanner/aggregator/detection-aggregator.js +23 -23
- package/src/scanner/boundary/boundary-resolver.js +229 -229
- package/src/scanner/detectors/detector-registry.js +44 -44
- package/src/scanner/detectors/fastapi-detector.js +46 -46
- package/src/scanner/detectors/go-detector.js +46 -46
- package/src/scanner/detectors/nestjs-detector.js +57 -57
- package/src/scanner/detectors/nextjs-detector.js +52 -52
- package/src/scanner/detectors/react-vite-detector.js +52 -52
- package/src/scanner/detectors/react-webpack-detector.js +57 -57
- package/src/scanner/detectors/springboot-detector.js +46 -46
- package/src/scanner/detectors/springcloud-detector.js +46 -46
- package/src/scanner/detectors/springmvc-detector.js +46 -46
- package/src/scanner/detectors/vue-vite-detector.js +52 -52
- package/src/scanner/engine.js +72 -72
- package/src/scanner/facts/fact-extractor.js +211 -211
- package/src/scanner/types.js +30 -30
- package/src/security/asset-tamper-checker.js +188 -188
- package/src/security/checksum.js +40 -40
- package/src/spec/spec-writer.js +302 -302
- package/src/state-machine/circuit-breaker.js +112 -112
- package/src/state-machine/escape-hatch.js +49 -49
- package/src/state-machine/stage-runner.js +281 -281
- package/src/state-machine/state-machine.js +24 -24
- package/src/state-machine/transition-guard.js +36 -36
- package/src/state-machine/types.js +37 -37
- package/src/sync/sync-service.js +192 -192
- package/src/visual/agent-visual.js +142 -142
- package/src/visual/event-gateway.js +357 -357
- package/src/visual/event-mapper.js +128 -128
- package/src/visual/hook-dashboard.js +216 -216
- package/src/visual/index.js +27 -27
- package/src/visual/metrics.js +287 -287
- package/src/visual/privacy-filter.js +100 -100
- package/src/visual/risk-board.js +252 -252
- package/src/visual/timeline.js +245 -245
- package/src/visual/visual-client.js +94 -94
- package/src/visual/visual-config.js +40 -40
- package/src/visual/visual-reporter.js +88 -88
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
---
|
|
2
|
-
alwaysApply: false
|
|
3
|
-
description: 项目的编码规范,包括 TypeScript 与 JavaScript 并存策略、类型与 JSDoc 要求、命名约定(变量、常量、接口等)、业务函数命名规则。当编写、修改、重构或审查代码时读取此规则。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 编码规范
|
|
7
|
-
|
|
8
|
-
## 语言策略(TS 优先 + JS 兼容)
|
|
9
|
-
|
|
10
|
-
- **新代码与可迁移模块**:优先使用 **TypeScript**(`.ts`、`.tsx`)。
|
|
11
|
-
- **存量或未引入 TypeScript 的项目**:允许使用 **JavaScript**(`.js`、`.jsx`),须遵循下文 **JavaScript** 小节。
|
|
12
|
-
- **同一目录/同一业务模块内**:避免同一职责在 TS 与 JS 之间随意混用;新增文件优先与周边已有扩展名一致,或逐步统一到 TS。
|
|
13
|
-
|
|
14
|
-
## TypeScript 规范
|
|
15
|
-
|
|
16
|
-
- 所有 TypeScript 代码须包含完整类型定义。
|
|
17
|
-
- 禁止使用 `any`;类型不确定时优先使用 `unknown` 再收窄。
|
|
18
|
-
- 定义对象结构优先使用 `interface`;联合类型、交叉类型、映射类型使用 `type`。
|
|
19
|
-
- 接口、类型定义使用 PascalCase。
|
|
20
|
-
- 公共函数与模块导出须明确类型签名。
|
|
21
|
-
|
|
22
|
-
## JavaScript(存量 / 无 TS 项目)
|
|
23
|
-
|
|
24
|
-
- **类型意图**:对导出函数、公共 API、复杂参数与返回值使用 **JSDoc**(`@param`、`@returns`、`@typedef` 等)表达契约;团队若启用 `checkJs` / `// @ts-check`,须与之保持一致。
|
|
25
|
-
- **运行时校验**:对外部数据(接口响应、URL 参数等)须在边界处校验或规范化,避免静默假设结构正确。
|
|
26
|
-
|
|
27
|
-
## 命名规范
|
|
28
|
-
|
|
29
|
-
| 类型 | 命名规则 | 示例 |
|
|
30
|
-
|------|----------|------|
|
|
31
|
-
| 目录/模块 | kebab-case | `user-profile`、`order-service` |
|
|
32
|
-
| 变量/函数 | camelCase | `userList`、`fetchData` |
|
|
33
|
-
| 布尔值 | is/has/can/should 前缀 | `isLoading`、`hasPermission`、`canEdit` |
|
|
34
|
-
| 常量 | UPPER_CASE | `API_TIMEOUT`、`MAX_RETRY` |
|
|
35
|
-
| 枚举名 | PascalCase | `ApiMethod`、`UserStatus` |
|
|
36
|
-
| 枚举值 | PascalCase | `ApiMethod.Get`、`UserStatus.Active` |
|
|
37
|
-
| 接口/类 | PascalCase | `UserInfo`、`BaseResponse` |
|
|
38
|
-
| 组合式函数/Hooks | use 前缀 + camelCase | `useUserStore`、`useAuth` |
|
|
39
|
-
|
|
40
|
-
> 各技术栈的组件、类、文件命名约定由对应 profile 规范约定,此处仅约束代码中的通用命名原则。
|
|
41
|
-
|
|
42
|
-
## 业务函数命名
|
|
43
|
-
|
|
44
|
-
- **回调属性(Props / Emits / 事件处理器)**:`onXxx`(如 `onSubmit`、`onChange`)
|
|
45
|
-
- **本地处理函数**:`handleXxx`(如 `handleSubmit`、`handleDelete`)
|
|
1
|
+
---
|
|
2
|
+
alwaysApply: false
|
|
3
|
+
description: 项目的编码规范,包括 TypeScript 与 JavaScript 并存策略、类型与 JSDoc 要求、命名约定(变量、常量、接口等)、业务函数命名规则。当编写、修改、重构或审查代码时读取此规则。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 编码规范
|
|
7
|
+
|
|
8
|
+
## 语言策略(TS 优先 + JS 兼容)
|
|
9
|
+
|
|
10
|
+
- **新代码与可迁移模块**:优先使用 **TypeScript**(`.ts`、`.tsx`)。
|
|
11
|
+
- **存量或未引入 TypeScript 的项目**:允许使用 **JavaScript**(`.js`、`.jsx`),须遵循下文 **JavaScript** 小节。
|
|
12
|
+
- **同一目录/同一业务模块内**:避免同一职责在 TS 与 JS 之间随意混用;新增文件优先与周边已有扩展名一致,或逐步统一到 TS。
|
|
13
|
+
|
|
14
|
+
## TypeScript 规范
|
|
15
|
+
|
|
16
|
+
- 所有 TypeScript 代码须包含完整类型定义。
|
|
17
|
+
- 禁止使用 `any`;类型不确定时优先使用 `unknown` 再收窄。
|
|
18
|
+
- 定义对象结构优先使用 `interface`;联合类型、交叉类型、映射类型使用 `type`。
|
|
19
|
+
- 接口、类型定义使用 PascalCase。
|
|
20
|
+
- 公共函数与模块导出须明确类型签名。
|
|
21
|
+
|
|
22
|
+
## JavaScript(存量 / 无 TS 项目)
|
|
23
|
+
|
|
24
|
+
- **类型意图**:对导出函数、公共 API、复杂参数与返回值使用 **JSDoc**(`@param`、`@returns`、`@typedef` 等)表达契约;团队若启用 `checkJs` / `// @ts-check`,须与之保持一致。
|
|
25
|
+
- **运行时校验**:对外部数据(接口响应、URL 参数等)须在边界处校验或规范化,避免静默假设结构正确。
|
|
26
|
+
|
|
27
|
+
## 命名规范
|
|
28
|
+
|
|
29
|
+
| 类型 | 命名规则 | 示例 |
|
|
30
|
+
|------|----------|------|
|
|
31
|
+
| 目录/模块 | kebab-case | `user-profile`、`order-service` |
|
|
32
|
+
| 变量/函数 | camelCase | `userList`、`fetchData` |
|
|
33
|
+
| 布尔值 | is/has/can/should 前缀 | `isLoading`、`hasPermission`、`canEdit` |
|
|
34
|
+
| 常量 | UPPER_CASE | `API_TIMEOUT`、`MAX_RETRY` |
|
|
35
|
+
| 枚举名 | PascalCase | `ApiMethod`、`UserStatus` |
|
|
36
|
+
| 枚举值 | PascalCase | `ApiMethod.Get`、`UserStatus.Active` |
|
|
37
|
+
| 接口/类 | PascalCase | `UserInfo`、`BaseResponse` |
|
|
38
|
+
| 组合式函数/Hooks | use 前缀 + camelCase | `useUserStore`、`useAuth` |
|
|
39
|
+
|
|
40
|
+
> 各技术栈的组件、类、文件命名约定由对应 profile 规范约定,此处仅约束代码中的通用命名原则。
|
|
41
|
+
|
|
42
|
+
## 业务函数命名
|
|
43
|
+
|
|
44
|
+
- **回调属性(Props / Emits / 事件处理器)**:`onXxx`(如 `onSubmit`、`onChange`)
|
|
45
|
+
- **本地处理函数**:`handleXxx`(如 `handleSubmit`、`handleDelete`)
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
alwaysApply: false
|
|
3
|
-
description: 项目的通用约束,包括中文注释要求、可观测性规范、依赖管理、安全约束、调试代码约束与 Git 提交规范。当编写、修改代码或需要确认通用约束时读取此规则。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 通用约束
|
|
7
|
-
|
|
8
|
-
## 语言规范(NON-NEGOTIABLE)
|
|
9
|
-
|
|
10
|
-
- 所有文档和代码注释必须使用中文
|
|
11
|
-
- 代码变量/函数命名仍使用英文(遵循编码规范)
|
|
12
|
-
|
|
13
|
-
## 可观测性与兜底
|
|
14
|
-
|
|
15
|
-
### 通用规范
|
|
16
|
-
|
|
17
|
-
- 错误处理必须有统一机制(错误边界 / 全局异常捕获),禁止吞掉异常不处理
|
|
18
|
-
- 生产环境禁止残留 `console.log`、`console.debug`;仅允许 `console.warn` 和 `console.error` 用于真实告警
|
|
19
|
-
- 需要调试日志时,使用项目统一的 logger 工具,支持按环境区分日志级别
|
|
20
|
-
|
|
21
|
-
### AI 业务场景
|
|
22
|
-
|
|
23
|
-
以下约束适用于包含 AI 能力的业务模块:
|
|
24
|
-
|
|
25
|
-
- AI 任务需要完整链路:任务 ID、素材/模型引用、日志追踪
|
|
26
|
-
- 失败时提供兜底提示与重试机制
|
|
27
|
-
|
|
28
|
-
## 依赖管理
|
|
29
|
-
|
|
30
|
-
- 新增第三方依赖前需评估其对产物体积或运行时开销的影响,优先使用项目已有工具库
|
|
31
|
-
- 使用项目约定的包管理器,禁止在同一项目中混用多种包管理器
|
|
32
|
-
- 禁止引入超过 12 个月无更新且无明确维护者的依赖
|
|
33
|
-
- 依赖版本通过 lock 文件锁定,禁止使用 `*` 或 `latest` 版本号
|
|
34
|
-
|
|
35
|
-
## 安全约束
|
|
36
|
-
|
|
37
|
-
- 禁止在代码中硬编码密钥、token、密码等敏感信息
|
|
38
|
-
- 敏感配置通过 `.env` 文件管理,`.env` 文件必须加入 `.gitignore`
|
|
39
|
-
- 用户输入在拼接 HTML 或 URL 前必须转义,防止注入攻击
|
|
40
|
-
- 第三方脚本(统计、广告等)需评估安全风险后再引入
|
|
41
|
-
|
|
42
|
-
## 调试代码约束
|
|
43
|
-
|
|
44
|
-
- 提交代码前必须清除 `debugger` 语句
|
|
45
|
-
- 禁止提交被注释掉的大段代码块(超过 5 行),废弃代码应直接删除
|
|
46
|
-
- 临时调试用的 `// @ts-ignore`、`// eslint-disable` 必须附带原因注释,合并前清除
|
|
47
|
-
|
|
48
|
-
## Git 提交规范
|
|
49
|
-
|
|
50
|
-
- Commit message 遵循 [Conventional Commits](https://www.conventionalcommits.org/) 格式:`<type>(<scope>): <description>`
|
|
51
|
-
- 常用 type:`feat`、`fix`、`refactor`、`style`、`docs`、`test`、`chore`
|
|
52
|
-
- 单次提交聚焦一个变更目的,禁止在一个 commit 中混合不相关改动
|
|
53
|
-
|
|
54
|
-
## 通用约束汇总
|
|
55
|
-
|
|
56
|
-
以下约束已在各规范文件中详述,此处汇总便于快速查阅:
|
|
57
|
-
|
|
58
|
-
| 约束 | 关键要点 | 来源 |
|
|
59
|
-
|------|----------|------|
|
|
60
|
-
| 类型与语言 | TypeScript 优先;纯 JS 项目遵循 02 的 JavaScript 小节;TS 禁止 `any` | 02-编码规范 |
|
|
61
|
-
| 命名规范一致性 | 变量 camelCase、常量 UPPER_CASE | 02-编码规范 |
|
|
62
|
-
| 项目结构规范 | 禁止新建非标准目录 | 03-项目结构(profile 规范) |
|
|
63
|
-
| API 封装规范 | 接口统一通过封装层调用,不在业务层直接发请求 | 各 profile 的 API 规范 |
|
|
1
|
+
---
|
|
2
|
+
alwaysApply: false
|
|
3
|
+
description: 项目的通用约束,包括中文注释要求、可观测性规范、依赖管理、安全约束、调试代码约束与 Git 提交规范。当编写、修改代码或需要确认通用约束时读取此规则。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 通用约束
|
|
7
|
+
|
|
8
|
+
## 语言规范(NON-NEGOTIABLE)
|
|
9
|
+
|
|
10
|
+
- 所有文档和代码注释必须使用中文
|
|
11
|
+
- 代码变量/函数命名仍使用英文(遵循编码规范)
|
|
12
|
+
|
|
13
|
+
## 可观测性与兜底
|
|
14
|
+
|
|
15
|
+
### 通用规范
|
|
16
|
+
|
|
17
|
+
- 错误处理必须有统一机制(错误边界 / 全局异常捕获),禁止吞掉异常不处理
|
|
18
|
+
- 生产环境禁止残留 `console.log`、`console.debug`;仅允许 `console.warn` 和 `console.error` 用于真实告警
|
|
19
|
+
- 需要调试日志时,使用项目统一的 logger 工具,支持按环境区分日志级别
|
|
20
|
+
|
|
21
|
+
### AI 业务场景
|
|
22
|
+
|
|
23
|
+
以下约束适用于包含 AI 能力的业务模块:
|
|
24
|
+
|
|
25
|
+
- AI 任务需要完整链路:任务 ID、素材/模型引用、日志追踪
|
|
26
|
+
- 失败时提供兜底提示与重试机制
|
|
27
|
+
|
|
28
|
+
## 依赖管理
|
|
29
|
+
|
|
30
|
+
- 新增第三方依赖前需评估其对产物体积或运行时开销的影响,优先使用项目已有工具库
|
|
31
|
+
- 使用项目约定的包管理器,禁止在同一项目中混用多种包管理器
|
|
32
|
+
- 禁止引入超过 12 个月无更新且无明确维护者的依赖
|
|
33
|
+
- 依赖版本通过 lock 文件锁定,禁止使用 `*` 或 `latest` 版本号
|
|
34
|
+
|
|
35
|
+
## 安全约束
|
|
36
|
+
|
|
37
|
+
- 禁止在代码中硬编码密钥、token、密码等敏感信息
|
|
38
|
+
- 敏感配置通过 `.env` 文件管理,`.env` 文件必须加入 `.gitignore`
|
|
39
|
+
- 用户输入在拼接 HTML 或 URL 前必须转义,防止注入攻击
|
|
40
|
+
- 第三方脚本(统计、广告等)需评估安全风险后再引入
|
|
41
|
+
|
|
42
|
+
## 调试代码约束
|
|
43
|
+
|
|
44
|
+
- 提交代码前必须清除 `debugger` 语句
|
|
45
|
+
- 禁止提交被注释掉的大段代码块(超过 5 行),废弃代码应直接删除
|
|
46
|
+
- 临时调试用的 `// @ts-ignore`、`// eslint-disable` 必须附带原因注释,合并前清除
|
|
47
|
+
|
|
48
|
+
## Git 提交规范
|
|
49
|
+
|
|
50
|
+
- Commit message 遵循 [Conventional Commits](https://www.conventionalcommits.org/) 格式:`<type>(<scope>): <description>`
|
|
51
|
+
- 常用 type:`feat`、`fix`、`refactor`、`style`、`docs`、`test`、`chore`
|
|
52
|
+
- 单次提交聚焦一个变更目的,禁止在一个 commit 中混合不相关改动
|
|
53
|
+
|
|
54
|
+
## 通用约束汇总
|
|
55
|
+
|
|
56
|
+
以下约束已在各规范文件中详述,此处汇总便于快速查阅:
|
|
57
|
+
|
|
58
|
+
| 约束 | 关键要点 | 来源 |
|
|
59
|
+
|------|----------|------|
|
|
60
|
+
| 类型与语言 | TypeScript 优先;纯 JS 项目遵循 02 的 JavaScript 小节;TS 禁止 `any` | 02-编码规范 |
|
|
61
|
+
| 命名规范一致性 | 变量 camelCase、常量 UPPER_CASE | 02-编码规范 |
|
|
62
|
+
| 项目结构规范 | 禁止新建非标准目录 | 03-项目结构(profile 规范) |
|
|
63
|
+
| API 封装规范 | 接口统一通过封装层调用,不在业务层直接发请求 | 各 profile 的 API 规范 |
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
---
|
|
2
|
-
alwaysApply: false
|
|
3
|
-
description: 项目的文档与注释规范,包括文档注释与实现注释的区分、JSDoc 在 TypeScript 与 JavaScript 项目中的用法、TODO/FIXME 约定、禁止模式。当编写或审查代码注释时读取此规则。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 文档规范
|
|
7
|
-
|
|
8
|
-
## 注释分类
|
|
9
|
-
|
|
10
|
-
项目中使用两种注释,用途不同:
|
|
11
|
-
|
|
12
|
-
| 类型 | 语法 | 面向 | 用途 |
|
|
13
|
-
|------|------|------|------|
|
|
14
|
-
| 文档注释 | `/** */` | 调用方 | 描述公开 API 的契约(导出函数、组件、接口等) |
|
|
15
|
-
| 实现注释 | `//` | 维护者 | 解释内部逻辑的"为什么",标记 TODO/FIXME |
|
|
16
|
-
|
|
17
|
-
## 文档注释规范(`/** */`)
|
|
18
|
-
|
|
19
|
-
### 哪些代码需要写
|
|
20
|
-
|
|
21
|
-
- 导出的函数、类、接口、类型、枚举
|
|
22
|
-
- 组件的 Props 接口(说明各属性含义)
|
|
23
|
-
- 复杂的工具函数(说明功能、边界条件、副作用)
|
|
24
|
-
|
|
25
|
-
### 怎么写(TypeScript 项目)
|
|
26
|
-
|
|
27
|
-
TypeScript 已通过类型系统表达了参数类型和返回类型,**JSDoc 中不要重复类型信息**,聚焦于语义描述:
|
|
28
|
-
|
|
29
|
-
```ts
|
|
30
|
-
// 好 — 描述语义,不重复类型
|
|
31
|
-
/** 根据资产 ID 获取资产详情,未找到时返回 null */
|
|
32
|
-
export function getAssetDetailApi(id: number): Promise<AssetDetail | null> { ... }
|
|
33
|
-
|
|
34
|
-
// 差 — 重复 TS 已表达的类型信息
|
|
35
|
-
/**
|
|
36
|
-
* @param {number} id - 资产ID
|
|
37
|
-
* @returns {Promise<AssetDetail | null>} 资产详情
|
|
38
|
-
*/
|
|
39
|
-
export function getAssetDetailApi(id: number): Promise<AssetDetail | null> { ... }
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 常用 JSDoc 标签
|
|
43
|
-
|
|
44
|
-
| 标签 | 用途 | 示例 |
|
|
45
|
-
|------|------|------|
|
|
46
|
-
| `@param` | 补充参数语义(不写类型) | `@param id 资产唯一标识` |
|
|
47
|
-
| `@returns` | 补充返回值语义(不写类型) | `@returns 包含分页信息的列表` |
|
|
48
|
-
| `@example` | 提供使用示例 | 复杂工具函数推荐添加 |
|
|
49
|
-
| `@deprecated` | 标记即将废弃的 API | `@deprecated 请使用 getAssetListApi 替代` |
|
|
50
|
-
| `@throws` | 说明可能抛出的异常 | `@throws 当 token 过期时抛出 AuthError` |
|
|
51
|
-
| `@see` | 引用相关代码或文档 | `@see https://apifox.com/xxx` |
|
|
52
|
-
|
|
53
|
-
### 怎么写(纯 JavaScript 项目)
|
|
54
|
-
|
|
55
|
-
无静态类型系统时,JSDoc 承担更多契约表达职责:可在 `@param`、`@returns`、`@typedef` 中**写出类型信息**(如 `{number}`、`{Promise<AssetDetail|null>}`),与 02-编码规范中的 JavaScript 小节一致。
|
|
56
|
-
|
|
57
|
-
```js
|
|
58
|
-
/**
|
|
59
|
-
* 根据资产 ID 获取资产详情,未找到时返回 null
|
|
60
|
-
* @param {number} id
|
|
61
|
-
* @returns {Promise<import('./types').AssetDetail | null>}
|
|
62
|
-
*/
|
|
63
|
-
export async function getAssetDetailApi(id) { ... }
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
- 导出函数、公共模块边界应优先写全 JSDoc,便于 IDE 提示与后续迁移 TypeScript。
|
|
67
|
-
- 团队若使用 `// @ts-check` 或 `checkJs`,JSDoc 类型应与 ESLint/TS 校验一致。
|
|
68
|
-
|
|
69
|
-
## 实现注释规范(`//`)
|
|
70
|
-
|
|
71
|
-
- 注释应该解释"为什么"而不是"是什么",避免冗余注释
|
|
72
|
-
- 放在被注释代码的上方,而非行尾(行尾仅用于极短说明)
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
// 好 — 解释不明显的业务原因
|
|
76
|
-
// 延迟 300ms 等待动画完成后再请求,避免页面闪烁
|
|
77
|
-
await sleep(300);
|
|
78
|
-
|
|
79
|
-
// 差 — 代码本身已经表达清楚
|
|
80
|
-
// 设置 loading 为 true
|
|
81
|
-
setLoading(true);
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## TODO / FIXME 约定
|
|
85
|
-
|
|
86
|
-
| 标记 | 含义 | 格式 |
|
|
87
|
-
|------|------|------|
|
|
88
|
-
| `TODO` | 待完成的功能或改进 | `// TODO: 描述内容` |
|
|
89
|
-
| `FIXME` | 已知问题待修复 | `// FIXME: 描述问题` |
|
|
90
|
-
|
|
91
|
-
- 使用统一格式 `// TODO: xxx`(冒号后加空格),便于全局检索
|
|
92
|
-
- 标记应包含足够的上下文,让其他人能理解意图
|
|
93
|
-
|
|
94
|
-
## 禁止模式(NON-NEGOTIABLE)
|
|
95
|
-
|
|
96
|
-
| 禁止项 | 原因 | 正确做法 |
|
|
97
|
-
|--------|------|----------|
|
|
98
|
-
| 注释掉的代码 | 造成噪音,增加维护负担 | 直接删除,靠 Git 历史追溯 |
|
|
99
|
-
| 冗余注释 | 重复代码已表达的信息 | 只注释代码无法表达的意图 |
|
|
100
|
-
| 过时注释 | 错误的注释比没有注释更有害 | 修改代码时同步更新注释 |
|
|
101
|
-
| JSDoc 中重复 TS 已写的类型 | 与类型系统重复 | TS 项目只写语义;JS 项目用 JSDoc 补类型 |
|
|
1
|
+
---
|
|
2
|
+
alwaysApply: false
|
|
3
|
+
description: 项目的文档与注释规范,包括文档注释与实现注释的区分、JSDoc 在 TypeScript 与 JavaScript 项目中的用法、TODO/FIXME 约定、禁止模式。当编写或审查代码注释时读取此规则。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 文档规范
|
|
7
|
+
|
|
8
|
+
## 注释分类
|
|
9
|
+
|
|
10
|
+
项目中使用两种注释,用途不同:
|
|
11
|
+
|
|
12
|
+
| 类型 | 语法 | 面向 | 用途 |
|
|
13
|
+
|------|------|------|------|
|
|
14
|
+
| 文档注释 | `/** */` | 调用方 | 描述公开 API 的契约(导出函数、组件、接口等) |
|
|
15
|
+
| 实现注释 | `//` | 维护者 | 解释内部逻辑的"为什么",标记 TODO/FIXME |
|
|
16
|
+
|
|
17
|
+
## 文档注释规范(`/** */`)
|
|
18
|
+
|
|
19
|
+
### 哪些代码需要写
|
|
20
|
+
|
|
21
|
+
- 导出的函数、类、接口、类型、枚举
|
|
22
|
+
- 组件的 Props 接口(说明各属性含义)
|
|
23
|
+
- 复杂的工具函数(说明功能、边界条件、副作用)
|
|
24
|
+
|
|
25
|
+
### 怎么写(TypeScript 项目)
|
|
26
|
+
|
|
27
|
+
TypeScript 已通过类型系统表达了参数类型和返回类型,**JSDoc 中不要重复类型信息**,聚焦于语义描述:
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
// 好 — 描述语义,不重复类型
|
|
31
|
+
/** 根据资产 ID 获取资产详情,未找到时返回 null */
|
|
32
|
+
export function getAssetDetailApi(id: number): Promise<AssetDetail | null> { ... }
|
|
33
|
+
|
|
34
|
+
// 差 — 重复 TS 已表达的类型信息
|
|
35
|
+
/**
|
|
36
|
+
* @param {number} id - 资产ID
|
|
37
|
+
* @returns {Promise<AssetDetail | null>} 资产详情
|
|
38
|
+
*/
|
|
39
|
+
export function getAssetDetailApi(id: number): Promise<AssetDetail | null> { ... }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 常用 JSDoc 标签
|
|
43
|
+
|
|
44
|
+
| 标签 | 用途 | 示例 |
|
|
45
|
+
|------|------|------|
|
|
46
|
+
| `@param` | 补充参数语义(不写类型) | `@param id 资产唯一标识` |
|
|
47
|
+
| `@returns` | 补充返回值语义(不写类型) | `@returns 包含分页信息的列表` |
|
|
48
|
+
| `@example` | 提供使用示例 | 复杂工具函数推荐添加 |
|
|
49
|
+
| `@deprecated` | 标记即将废弃的 API | `@deprecated 请使用 getAssetListApi 替代` |
|
|
50
|
+
| `@throws` | 说明可能抛出的异常 | `@throws 当 token 过期时抛出 AuthError` |
|
|
51
|
+
| `@see` | 引用相关代码或文档 | `@see https://apifox.com/xxx` |
|
|
52
|
+
|
|
53
|
+
### 怎么写(纯 JavaScript 项目)
|
|
54
|
+
|
|
55
|
+
无静态类型系统时,JSDoc 承担更多契约表达职责:可在 `@param`、`@returns`、`@typedef` 中**写出类型信息**(如 `{number}`、`{Promise<AssetDetail|null>}`),与 02-编码规范中的 JavaScript 小节一致。
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
/**
|
|
59
|
+
* 根据资产 ID 获取资产详情,未找到时返回 null
|
|
60
|
+
* @param {number} id
|
|
61
|
+
* @returns {Promise<import('./types').AssetDetail | null>}
|
|
62
|
+
*/
|
|
63
|
+
export async function getAssetDetailApi(id) { ... }
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
- 导出函数、公共模块边界应优先写全 JSDoc,便于 IDE 提示与后续迁移 TypeScript。
|
|
67
|
+
- 团队若使用 `// @ts-check` 或 `checkJs`,JSDoc 类型应与 ESLint/TS 校验一致。
|
|
68
|
+
|
|
69
|
+
## 实现注释规范(`//`)
|
|
70
|
+
|
|
71
|
+
- 注释应该解释"为什么"而不是"是什么",避免冗余注释
|
|
72
|
+
- 放在被注释代码的上方,而非行尾(行尾仅用于极短说明)
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
// 好 — 解释不明显的业务原因
|
|
76
|
+
// 延迟 300ms 等待动画完成后再请求,避免页面闪烁
|
|
77
|
+
await sleep(300);
|
|
78
|
+
|
|
79
|
+
// 差 — 代码本身已经表达清楚
|
|
80
|
+
// 设置 loading 为 true
|
|
81
|
+
setLoading(true);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## TODO / FIXME 约定
|
|
85
|
+
|
|
86
|
+
| 标记 | 含义 | 格式 |
|
|
87
|
+
|------|------|------|
|
|
88
|
+
| `TODO` | 待完成的功能或改进 | `// TODO: 描述内容` |
|
|
89
|
+
| `FIXME` | 已知问题待修复 | `// FIXME: 描述问题` |
|
|
90
|
+
|
|
91
|
+
- 使用统一格式 `// TODO: xxx`(冒号后加空格),便于全局检索
|
|
92
|
+
- 标记应包含足够的上下文,让其他人能理解意图
|
|
93
|
+
|
|
94
|
+
## 禁止模式(NON-NEGOTIABLE)
|
|
95
|
+
|
|
96
|
+
| 禁止项 | 原因 | 正确做法 |
|
|
97
|
+
|--------|------|----------|
|
|
98
|
+
| 注释掉的代码 | 造成噪音,增加维护负担 | 直接删除,靠 Git 历史追溯 |
|
|
99
|
+
| 冗余注释 | 重复代码已表达的信息 | 只注释代码无法表达的意图 |
|
|
100
|
+
| 过时注释 | 错误的注释比没有注释更有害 | 修改代码时同步更新注释 |
|
|
101
|
+
| JSDoc 中重复 TS 已写的类型 | 与类型系统重复 | TS 项目只写语义;JS 项目用 JSDoc 补类型 |
|
package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
---
|
|
2
|
-
alwaysApply: false
|
|
3
|
-
description: 实现变更时的强制执行规范,要求启用 Superpowers 微观执行模式(头脑风暴、TDD 驱动、双重审查、审计汇报)。当开始编写代码或执行 tasks.md 时读取此规则。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 12-Superpowers 编码执行规范
|
|
7
|
-
|
|
8
|
-
## 适用范围
|
|
9
|
-
|
|
10
|
-
当进入实现阶段并开始处理 `tasks.md` 中的具体任务时,本规范自动生效。
|
|
11
|
-
|
|
12
|
-
## 核心约束(NON-NEGOTIABLE)
|
|
13
|
-
|
|
14
|
-
1. **禁止直出代码**:绝对禁止未经思考直接输出大量业务代码。每条 Task 必须经过 Superpowers Loop 的四道关卡后才可提交。
|
|
15
|
-
2. **逐条执行**:按 `tasks.md` 中的顺序逐条处理,禁止跳过或批量完成(用户明确指示批量执行时,仍须逐条输出四步内容,仅可跳过步骤 1 的用户确认门禁)。
|
|
16
|
-
3. **用户确认门禁**:每条 Task 的头脑风暴结论必须获得用户明确同意后,才可进入编码阶段。
|
|
17
|
-
4. **审计可追溯**:每条 Task 完成后必须输出结构化审计报告,格式见 `14-审计汇报规范.md`。禁止在未实际 Read 某文件时声称已读取。
|
|
18
|
-
5. **输出可见性**:四道关卡中每一道都必须产出可见的结构化输出(含步骤标题 `### 第N步:xxx`),缺失标题即视为未执行该关卡。禁止以"静默核对"替代可见输出。
|
|
19
|
-
|
|
20
|
-
## Superpowers Loop(四道关卡)
|
|
21
|
-
|
|
22
|
-
| 关卡 | 名称 | 核心要求 |
|
|
23
|
-
|------|------|----------|
|
|
24
|
-
| 1 | 头脑风暴 | 先思考边界情况、错误处理和对现有代码的影响;有歧义必须提问 |
|
|
25
|
-
| 2 | TDD 驱动 | RED → GREEN → REFACTOR;REFACTOR 阶段须按需引用 `.agents/rules/` 中的对应规范 |
|
|
26
|
-
| 3 | 双重审查 | 设计对齐(`design.md` / `specs/`)+ 质量门禁(异常捕获、类型严谨);**必须输出审查结论表格** |
|
|
27
|
-
| 4 | 审计汇报 | 按 `14-审计汇报规范.md` 输出读取记录、操作记录、规范对齐、技能状态、偏差说明 |
|
|
28
|
-
|
|
29
|
-
## 何时可以跳过
|
|
30
|
-
|
|
31
|
-
以下情况可省略本规范,直接修改:
|
|
32
|
-
|
|
33
|
-
- 修复拼写、格式、注释等非行为性变更
|
|
34
|
-
- 恢复已有 spec 描述的预期行为(Bug fix)
|
|
35
|
-
- 非破坏性依赖版本更新
|
|
36
|
-
|
|
37
|
-
## 具体操作步骤
|
|
38
|
-
|
|
39
|
-
详见 `.agents/skills/execute-task/SKILL.md`(刚性技能,v2.0),该技能定义了 Superpowers Loop 的四步操作流程及每步的**强制输出格式**:
|
|
40
|
-
|
|
41
|
-
1. `### 第一步:头脑风暴` — 思路 + 边界 + 用户确认
|
|
42
|
-
2. `### 第二步:TDD 编码` — RED / GREEN / REFACTOR 操作说明
|
|
43
|
-
3. `### 第三步:双重审查` — 三维度审查结论表格(架构对齐、健壮性、规范合规)
|
|
44
|
-
4. `### 第四步:状态更新` — tasks.md 勾选 + 审计报告
|
|
45
|
-
|
|
46
|
-
缺失任何一个步骤标题即视为违规。
|
|
1
|
+
---
|
|
2
|
+
alwaysApply: false
|
|
3
|
+
description: 实现变更时的强制执行规范,要求启用 Superpowers 微观执行模式(头脑风暴、TDD 驱动、双重审查、审计汇报)。当开始编写代码或执行 tasks.md 时读取此规则。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 12-Superpowers 编码执行规范
|
|
7
|
+
|
|
8
|
+
## 适用范围
|
|
9
|
+
|
|
10
|
+
当进入实现阶段并开始处理 `tasks.md` 中的具体任务时,本规范自动生效。
|
|
11
|
+
|
|
12
|
+
## 核心约束(NON-NEGOTIABLE)
|
|
13
|
+
|
|
14
|
+
1. **禁止直出代码**:绝对禁止未经思考直接输出大量业务代码。每条 Task 必须经过 Superpowers Loop 的四道关卡后才可提交。
|
|
15
|
+
2. **逐条执行**:按 `tasks.md` 中的顺序逐条处理,禁止跳过或批量完成(用户明确指示批量执行时,仍须逐条输出四步内容,仅可跳过步骤 1 的用户确认门禁)。
|
|
16
|
+
3. **用户确认门禁**:每条 Task 的头脑风暴结论必须获得用户明确同意后,才可进入编码阶段。
|
|
17
|
+
4. **审计可追溯**:每条 Task 完成后必须输出结构化审计报告,格式见 `14-审计汇报规范.md`。禁止在未实际 Read 某文件时声称已读取。
|
|
18
|
+
5. **输出可见性**:四道关卡中每一道都必须产出可见的结构化输出(含步骤标题 `### 第N步:xxx`),缺失标题即视为未执行该关卡。禁止以"静默核对"替代可见输出。
|
|
19
|
+
|
|
20
|
+
## Superpowers Loop(四道关卡)
|
|
21
|
+
|
|
22
|
+
| 关卡 | 名称 | 核心要求 |
|
|
23
|
+
|------|------|----------|
|
|
24
|
+
| 1 | 头脑风暴 | 先思考边界情况、错误处理和对现有代码的影响;有歧义必须提问 |
|
|
25
|
+
| 2 | TDD 驱动 | RED → GREEN → REFACTOR;REFACTOR 阶段须按需引用 `.agents/rules/` 中的对应规范 |
|
|
26
|
+
| 3 | 双重审查 | 设计对齐(`design.md` / `specs/`)+ 质量门禁(异常捕获、类型严谨);**必须输出审查结论表格** |
|
|
27
|
+
| 4 | 审计汇报 | 按 `14-审计汇报规范.md` 输出读取记录、操作记录、规范对齐、技能状态、偏差说明 |
|
|
28
|
+
|
|
29
|
+
## 何时可以跳过
|
|
30
|
+
|
|
31
|
+
以下情况可省略本规范,直接修改:
|
|
32
|
+
|
|
33
|
+
- 修复拼写、格式、注释等非行为性变更
|
|
34
|
+
- 恢复已有 spec 描述的预期行为(Bug fix)
|
|
35
|
+
- 非破坏性依赖版本更新
|
|
36
|
+
|
|
37
|
+
## 具体操作步骤
|
|
38
|
+
|
|
39
|
+
详见 `.agents/skills/execute-task/SKILL.md`(刚性技能,v2.0),该技能定义了 Superpowers Loop 的四步操作流程及每步的**强制输出格式**:
|
|
40
|
+
|
|
41
|
+
1. `### 第一步:头脑风暴` — 思路 + 边界 + 用户确认
|
|
42
|
+
2. `### 第二步:TDD 编码` — RED / GREEN / REFACTOR 操作说明
|
|
43
|
+
3. `### 第三步:双重审查` — 三维度审查结论表格(架构对齐、健壮性、规范合规)
|
|
44
|
+
4. `### 第四步:状态更新` — tasks.md 勾选 + 审计报告
|
|
45
|
+
|
|
46
|
+
缺失任何一个步骤标题即视为违规。
|