@guanlin4924/devflow-pi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +164 -0
- package/docs/OMP-NATIVE-ARCHITECTURE.md +104 -0
- package/package.json +40 -0
- package/plugins/devflow-core/extensions/devflow-core.ts +1642 -0
- package/plugins/devflow-core/package.json +14 -0
- package/plugins/devflow-core/runtime/hooks/context_sync_gate.py +174 -0
- package/plugins/devflow-core/runtime/hooks/hook_common.py +696 -0
- package/plugins/devflow-core/runtime/hooks/index_gate.py +63 -0
- package/plugins/devflow-core/runtime/hooks/injection_code_specification.py +7 -0
- package/plugins/devflow-core/runtime/hooks/post_tool.py +44 -0
- package/plugins/devflow-core/runtime/hooks/start.py +288 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/SKILL.md +265 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/agents/openai.yaml +4 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/advance_state.rb +520 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/control_io.rb +42 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_state.rb +138 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_workflow.rb +121 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/inspect_state.rb +553 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/manage_lessons.rb +219 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/sync_artifacts.rb +168 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/update_triage_route.rb +110 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/scripts/validate_state.rb +565 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/feature-development.yaml +783 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/uat-remediation.yaml +143 -0
- package/plugins/devflow-core/skills/workflow-orchestrator/templates/workflows-README.md +10 -0
- package/plugins/devflow-core/skills/workflow-pipeline/SKILL.md +117 -0
- package/plugins/devflow-core/skills/workflow-pipeline/references/pipeline-flow.md +167 -0
- package/plugins/devflow-core/skills/workflow-pipeline/references/slice-safety-guide.md +125 -0
- package/plugins/devflow-core/skills/workflow-project-context/SKILL.md +819 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/agents-md-template.md +25 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-backend-spec-template.md +68 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-frontend-spec-template.md +64 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-navigation-template.md +168 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/context-domain-index-template.md +43 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/context-spec-index-template.md +45 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/execution-contract-template.md +57 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/navigation-index-template.md +40 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/project-initialization-template.md +109 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/rules-index-template.md +80 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/run-manifest-template.json +40 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/directory-structure.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/engine.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/errors.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/locator.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/model.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/repository.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/router.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/scheduler.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/schema.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/service.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/testing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/api-client.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/case-editor.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/components.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/directory-structure.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/forms.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/routing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/state.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/testing.md +46 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/stack-spec-template.md +106 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/state-template.md +77 -0
- package/plugins/devflow-core/skills/workflow-project-context/assets/toolchain-template.md +37 -0
- package/plugins/devflow-core/skills/workflow-project-context/references/navigation-guide.md +262 -0
- package/plugins/devflow-core/skills/workflow-project-context/scripts/validate_initialization.py +545 -0
- package/plugins/devflow-design/agents/contract-auditor.md +18 -0
- package/plugins/devflow-design/extensions/devflow-design.ts +47 -0
- package/plugins/devflow-design/package.json +14 -0
- package/plugins/devflow-design/skills/workflow-api-call-guide/SKILL.md +142 -0
- package/plugins/devflow-design/skills/workflow-api-contract/SKILL.md +150 -0
- package/plugins/devflow-design/skills/workflow-api-supplement/SKILL.md +121 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/SKILL.md +257 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/adr-template.md +57 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/backend-spec-template.md +205 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/affected-module-exploration.md +59 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/backend-conventions.md +30 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/code-explore-guide.md +40 -0
- package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/project-rule-contract.md +66 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/SKILL.md +91 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/index.md +71 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/accessibility.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/component-library.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/design-systems.md +47 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/responsive-grid.md +29 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/stack-guidelines.md +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/ux-patterns.md +40 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tokens/project-tokens.md +19 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/SKILL.md +377 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/charts.csv +26 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/colors.csv +97 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/icons.csv +101 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/landing.csv +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/products.csv +97 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/styles.csv +68 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/typography.csv +58 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/core.py +253 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/search.py +114 -0
- package/plugins/devflow-design/skills/workflow-design-rule-pack/scripts/install.py +67 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/SKILL.md +370 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/admin-system-template.md +57 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/api-service-template.md +42 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/c-end-system-template.md +25 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/output-template.md +139 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/bug-rules.md +12 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/exception-checklist.md +31 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/trace-integrity-guide.md +153 -0
- package/plugins/devflow-design/skills/workflow-feature-breakdown/references/writing-guide.md +92 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/SKILL.md +223 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/assets/frontend-spec-template.md +204 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/affected-module-exploration.md +58 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/component-patterns.md +42 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-conventions.md +28 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/common-web.md +53 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/next.md +40 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/react.md +41 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/vue.md +41 -0
- package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/project-rule-contract.md +95 -0
- package/plugins/devflow-design/skills/workflow-integration-verify/SKILL.md +172 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/SKILL.md +302 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/assets/ui-spec-template.md +244 -0
- package/plugins/devflow-design/skills/workflow-ui-spec/references/affected-module-exploration.md +55 -0
- package/plugins/devflow-implementation/agents/implementation-worker.md +20 -0
- package/plugins/devflow-implementation/package.json +6 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/SKILL.md +124 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/INDEX.md +13 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/adversarial-review.md +35 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/first-principles.md +26 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/lesson-format.md +28 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/root-cause-ladder.md +51 -0
- package/plugins/devflow-implementation/skills/workflow-bug-fix/references/seam-analysis.md +30 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/SKILL.md +160 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/code-conventions.md +33 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/ddl-guidelines.md +60 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/output-template.md +217 -0
- package/plugins/devflow-implementation/skills/workflow-change-plan/references/project-rule-contract.md +55 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/SKILL.md +271 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/references/execute-phase.md +1251 -0
- package/plugins/devflow-implementation/skills/workflow-execute-phase/references/ui-brand.md +160 -0
- package/plugins/devflow-intel/agents/project-scout.md +27 -0
- package/plugins/devflow-intel/extensions/devflow-intel.ts +104 -0
- package/plugins/devflow-intel/package.json +14 -0
- package/plugins/devflow-intel/skills/code-index-query/SKILL.md +37 -0
- package/plugins/devflow-intel/skills/code-index-query/references/query-patterns.md +27 -0
- package/plugins/devflow-intel/skills/workflow-code-index/SKILL.md +68 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/adapter-contract.md +38 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/audit-checklist.md +10 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/confidence-rules.md +43 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/data-model.md +74 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/discovery.md +24 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/query-guide.md +20 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/base.py +30 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/generic_text.py +287 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/registry.py +17 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/code_index.py +437 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/discovery.py +139 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/hashing.py +11 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/scanner.py +115 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/schema.py +123 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/project_binding_check.py +66 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/relation_check.py +36 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/schema_validate.py +11 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/stale_check.py +42 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/__init__.py +1 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/jsonl_writer.py +25 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/markdown_writer.py +106 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/sqlite_writer.py +143 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/SKILL.md +381 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/agents/openai.yaml +4 -0
- package/plugins/devflow-intel/skills/workflow-context-sync/scripts/context_sync_cursor.py +241 -0
- package/plugins/devflow-intel/skills/workflow-update-navigation/SKILL.md +186 -0
- package/plugins/devflow-intel/skills/workflow-update-navigation/references/incremental-update-guide.md +47 -0
- package/plugins/devflow-quality/agents/code-reviewer.md +18 -0
- package/plugins/devflow-quality/agents/verification-runner.md +21 -0
- package/plugins/devflow-quality/extensions/devflow-quality.ts +59 -0
- package/plugins/devflow-quality/package.json +14 -0
- package/plugins/devflow-quality/skills/code-review/SKILL.md +288 -0
- package/plugins/devflow-quality/skills/code-review/references/cross-layer-checklist.md +70 -0
- package/plugins/devflow-quality/skills/code-review/references/dao-checklist.md +70 -0
- package/plugins/devflow-quality/skills/code-review/references/handler-checklist.md +48 -0
- package/plugins/devflow-quality/skills/code-review/references/repository-checklist.md +44 -0
- package/plugins/devflow-quality/skills/code-review/references/service-checklist.md +57 -0
- package/plugins/devflow-quality/skills/code-review/references/spec-checklist.md +34 -0
- package/plugins/devflow-quality/skills/code-review/references/vo-checklist.md +26 -0
- package/plugins/devflow-quality/skills/workflow-audit-milestone/SKILL.md +31 -0
- package/plugins/devflow-quality/skills/workflow-audit-milestone/references/audit-milestone.md +328 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/SKILL.md +132 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/assets/milestone-archive.md +123 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/complete-milestone.md +775 -0
- package/plugins/devflow-quality/skills/workflow-complete-milestone/references/milestone-archive.md +123 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/SKILL.md +126 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/api-mainflow-rules.md +27 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/codebase-discovery.md +54 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/intermediate-format.md +244 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/mainflow-selection.md +36 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/project-dsl-contract.md +190 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/ui-mainflow-rules.md +110 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/compile_dsl.py +583 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/discover_codebases.py +199 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/normalize_case_payloads.py +177 -0
- package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/validate_case_payloads.py +370 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/SKILL.md +106 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/assets/UAT.md +265 -0
- package/plugins/devflow-quality/skills/workflow-verify-work/references/verify-work.md +759 -0
- package/plugins/devflow-requirements/agents/requirements-auditor.md +20 -0
- package/plugins/devflow-requirements/package.json +6 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/SKILL.md +219 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/agents/openai.yaml +4 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-method.md +257 -0
- package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-template.md +80 -0
- package/plugins/devflow-requirements/skills/workflow-demand-clarify/SKILL.md +325 -0
- package/plugins/devflow-requirements/skills/workflow-domain-modeling/SKILL.md +163 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/SKILL.md +748 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/assets/baseline-template.md +281 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/antipatterns.md +69 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/challenge-review-guide.md +158 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/decomposition-guide.md +115 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/project-context-guide.md +119 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/questioning.md +76 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/requirement-review-checklist.md +115 -0
- package/plugins/devflow-requirements/skills/workflow-requirement-triage/SKILL.md +204 -0
- package/plugins/devflow-requirements/skills/workflow-wayfinder/SKILL.md +183 -0
- package/src/cli.ts +76 -0
- package/src/constants.ts +15 -0
- package/src/doctor.ts +66 -0
- package/src/paths.ts +37 -0
- package/src/platform-extension.ts +46 -0
- package/src/project-context.ts +165 -0
- package/src/runtime.ts +167 -0
- package/src/usage-stats.ts +101 -0
- package/templates/commands/start.md +58 -0
- package/templates/omp/AGENTS.md +36 -0
- package/templates/omp/config.yml +112 -0
- package/templates/omp/hook-config.json +18 -0
- package/templates/omp/index-policy.json +57 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-integration-verify
|
|
3
|
+
description: "Use after both Track A (api-call-guide) and Track B (frontend-tech-spec) complete. Performs Merge Gate verification: cross-check backend API implementation against the API contract and frontend's API calling patterns. Outputs an integration report."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 联调验证(Merge Gate)
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
| 维度 | 说明 |
|
|
11
|
+
|------|------|
|
|
12
|
+
| **消费者** | QA / 技术负责人 |
|
|
13
|
+
| **角色** | **合并门禁** — 双轨汇合前的最后一道验证。确保前后端对 API 的理解一致 |
|
|
14
|
+
| **前置条件** | Track A(`api-call-guide`)和 Track B(`前端技术方案`)均已完成 |
|
|
15
|
+
|
|
16
|
+
## 跳过条件
|
|
17
|
+
|
|
18
|
+
满足以下任一条件时,本 skill 不产生有意义产出,应跳过:
|
|
19
|
+
|
|
20
|
+
1. 单轨道执行(`active_track == "A"` 或 `active_track == "B"`),没有双轨汇合需求
|
|
21
|
+
2. `api-contract.md` 不存在(本功能无 API 变更)
|
|
22
|
+
3. `api-call-guide.md` 不存在(被跳过)
|
|
23
|
+
|
|
24
|
+
在完整 workflow 中不要直接跳过文件产出;应生成 no-op `integration-report.md` 和 `integration-report.meta.json`,其中 `api_required: false`、`merge_gate_status: "skipped"`、所有 mismatch / supplement / blocking 计数为 0,并写明跳过原因。单轨模式仍然不能进入 `change-plan / execute`。
|
|
25
|
+
|
|
26
|
+
## 产出位置
|
|
27
|
+
|
|
28
|
+
- `.planning/features/{功能名}/integration-report.md`
|
|
29
|
+
- `.planning/features/{功能名}/integration-report.meta.json`
|
|
30
|
+
|
|
31
|
+
`integration-report.meta.json` 必须包含:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"api_required": true,
|
|
36
|
+
"merge_gate_status": "passed",
|
|
37
|
+
"contract_backend_mismatch_count": 0,
|
|
38
|
+
"contract_frontend_mismatch_count": 0,
|
|
39
|
+
"unhandled_api_supplement_count": 0,
|
|
40
|
+
"blocking_issue_count": 0,
|
|
41
|
+
"skip_reason": ""
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 输入
|
|
46
|
+
|
|
47
|
+
- `.planning/features/{功能名}/api-contract.md` — **API 签名唯一权威源**
|
|
48
|
+
- `.planning/features/{功能名}/api-call-guide.md` — Track A 产出的调用指南
|
|
49
|
+
- `.planning/features/{功能名}/前端技术方案.md` — Track B 产出的前端方案
|
|
50
|
+
- `.planning/features/{功能名}/后端技术方案.md` — Track A 产出的后端方案
|
|
51
|
+
- `.planning/features/{功能名}/api-supplement-requests.md` —(可选)Track B 提交的 API 补充需求
|
|
52
|
+
- `.planning/code-index/`(如存在)— 用于抽查 API route/handler、frontend API calls、imports/calls 关系,并回读源码 evidence
|
|
53
|
+
|
|
54
|
+
## 核心原则
|
|
55
|
+
|
|
56
|
+
1. **只对比,不实现** — 验证接口契约 vs 前后端实现的一致性,不写代码、不改方案
|
|
57
|
+
2. **逐 API 验证** — 每个 API 检验:后端方案中的实现 ↔ API 契约 ↔ 前端调用方式
|
|
58
|
+
3. **不匹配分级** — 标记不匹配项的严重级别(阻塞 / 非阻塞)
|
|
59
|
+
4. **以 api-contract.md 为准** — 前后端方案与契约不一致时,以契约为准
|
|
60
|
+
5. **源码事实必须有 evidence** — 当 `.planning/code-index/` 存在且验证涉及已实现代码时,先查 Symbol/Relation,再回读 `evidence_path:evidence_line`;不得只凭 Markdown navigation 或 relation 摘要判断实现一致性
|
|
61
|
+
|
|
62
|
+
## 验证流程
|
|
63
|
+
|
|
64
|
+
### Step 1:收集契约证据
|
|
65
|
+
|
|
66
|
+
从 `api-contract.md` 提取每个接口的:
|
|
67
|
+
- Method + Endpoint
|
|
68
|
+
- 请求参数
|
|
69
|
+
- 响应结构
|
|
70
|
+
- 所属 FP
|
|
71
|
+
|
|
72
|
+
### Step 2:检查 Track A 实现
|
|
73
|
+
|
|
74
|
+
从 `后端技术方案.md` 提取:
|
|
75
|
+
- 每个接口的后端实现方案
|
|
76
|
+
- 数据表模型
|
|
77
|
+
- API 参数和响应签名
|
|
78
|
+
- 与 API 契约的差异
|
|
79
|
+
|
|
80
|
+
若 `.planning/code-index/` 存在,按 endpoint、handler、controller/service 名称查询后端 symbols 和 `routes_to` / `calls` / reads/writes 关系,读取源码 evidence 后抽查实现位置是否与方案和契约一致。
|
|
81
|
+
|
|
82
|
+
逐项对比:后端方案中的 API 描述是否与契约一致?
|
|
83
|
+
|
|
84
|
+
### Step 3:检查 Track B 调用
|
|
85
|
+
|
|
86
|
+
从 `前端技术方案.md` 提取:
|
|
87
|
+
- 前端调用的 API 列表
|
|
88
|
+
- 参数使用方式
|
|
89
|
+
- 响应处理逻辑
|
|
90
|
+
|
|
91
|
+
从 `api-call-guide.md` 提取:
|
|
92
|
+
- 调用步骤中的请求示例
|
|
93
|
+
- 预期的响应结构
|
|
94
|
+
|
|
95
|
+
若 `.planning/code-index/` 存在,按 endpoint、API client 方法、页面/组件名查询前端 symbols 和 `imports` / `calls` 关系,读取源码 evidence 后抽查调用方式是否与契约一致。
|
|
96
|
+
|
|
97
|
+
逐项对比:前端调用的 API 是否与契约一致?
|
|
98
|
+
|
|
99
|
+
### Step 4:检查 API 补充需求(如果有)
|
|
100
|
+
|
|
101
|
+
从 `api-supplement-requests.md` 提取:
|
|
102
|
+
- 缺失的 API 列表
|
|
103
|
+
- 每个缺失 API 的预期签名和理由
|
|
104
|
+
|
|
105
|
+
评估:
|
|
106
|
+
- 是否真的缺失?
|
|
107
|
+
- 可以用已有接口拼吗?
|
|
108
|
+
- 必须新增的对 Track A 影响多大?
|
|
109
|
+
|
|
110
|
+
## 产出模板
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
# 联调验证报告:{功能名}
|
|
114
|
+
|
|
115
|
+
## 验证摘要
|
|
116
|
+
|
|
117
|
+
| 指标 | 值 |
|
|
118
|
+
|------|----|
|
|
119
|
+
| API 总数 | {count} |
|
|
120
|
+
| 实现与契约一致 | {count} |
|
|
121
|
+
| 不匹配项 | {count} |
|
|
122
|
+
| API 补充需求 | {count} |
|
|
123
|
+
| 验证结论 | 通过 / 有条件通过 / 不通过 |
|
|
124
|
+
|
|
125
|
+
## 逐 API 验证
|
|
126
|
+
|
|
127
|
+
### POST /api/v1/orders — ✅ 一致
|
|
128
|
+
|
|
129
|
+
| 维度 | 契约要求 | 后端实现 | 前端调用 | 结论 |
|
|
130
|
+
|------|---------|---------|---------|:----:|
|
|
131
|
+
| Method | POST | POST | POST | ✅ |
|
|
132
|
+
| Endpoint | /api/v1/orders | /api/v1/orders | /api/v1/orders | ✅ |
|
|
133
|
+
| 请求体 | {user_id, items, remark} | {user_id, items, remark} | {user_id, items, remark} | ✅ |
|
|
134
|
+
| 成功响应 | {order_id, status, ...} | {order_id, status, ...} | {order_id, status} | ✅ |
|
|
135
|
+
| 错误码 | 400/422 | 400/422 | 400/422 | ✅ |
|
|
136
|
+
|
|
137
|
+
### GET /api/v1/orders/{id} — ⚠️ 不匹配
|
|
138
|
+
|
|
139
|
+
| 维度 | 契约要求 | 后端实现 | 前端调用 | 结论 |
|
|
140
|
+
|------|---------|---------|---------|:----:|
|
|
141
|
+
| 响应字段 status | string enum | string enum | ✅ | ✅ |
|
|
142
|
+
| 响应字段 items | array | array | ✅ | ✅ |
|
|
143
|
+
| 响应字段 total_amount | number (分) | number (元) | ⚠️ | ❌ 前后端单位不一致 |
|
|
144
|
+
|
|
145
|
+
### API 补充需求(来自 Track B)
|
|
146
|
+
|
|
147
|
+
| # | 缺失接口 | 理由 | 评估 | 处理 |
|
|
148
|
+
|---|---------|------|------|------|
|
|
149
|
+
| 1 | PATCH /api/v1/orders/{id}/cancel | 前端需要取消订单功能 | 契约未定义,取消属于另一 FP | 暂缓,进入下一轮开发 |
|
|
150
|
+
|
|
151
|
+
## 不匹配项处理
|
|
152
|
+
|
|
153
|
+
| # | 接口 | 问题 | 严重级别 | 归属 | 修复建议 |
|
|
154
|
+
|---|------|------|---------|------|---------|
|
|
155
|
+
| 1 | GET /api/v1/orders/{id} | total_amount 单位不一致 | 阻塞 | 后端 | 统一为分(整数) |
|
|
156
|
+
|
|
157
|
+
## 验证结论
|
|
158
|
+
|
|
159
|
+
- [ ] 通过:所有 API 一致,无不匹配
|
|
160
|
+
- [ ] 有条件通过:存在非阻塞不匹配项,已记录修复计划
|
|
161
|
+
- [ ] 不通过:存在阻塞不匹配项,需要修复后重新验证
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 完成门禁
|
|
165
|
+
|
|
166
|
+
- [ ] 每个 API 契约中的接口都完成了三方验证(契约 vs 后端实现 vs 前端调用)
|
|
167
|
+
- [ ] 不匹配项标注了严重级别和归属
|
|
168
|
+
- [ ] API 补充需求(如有)已评估处理方案
|
|
169
|
+
- [ ] 验证结论已写入报告
|
|
170
|
+
- [ ] meta.json 中 `merge_gate_status` 为 `passed`
|
|
171
|
+
- [ ] meta.json 中所有 mismatch / supplement / blocking 计数均为 0
|
|
172
|
+
- [ ] 无 API 变更时生成 no-op meta,`api_required` 为 false,`merge_gate_status` 为 `skipped`
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-ui-spec
|
|
3
|
+
description: "Use when UI designs, screenshots, Figma exports, Lanhu notes, or manual UI descriptions need a structured UI specification."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Legacy Command Metadata
|
|
7
|
+
|
|
8
|
+
Original slash-command metadata retained only as workflow invocation guidance.
|
|
9
|
+
|
|
10
|
+
```yaml
|
|
11
|
+
argument-hint: <功能名> [@设计稿路径] [--auto]
|
|
12
|
+
user-invocable: true
|
|
13
|
+
pattern: generator+reviewer
|
|
14
|
+
inputs:
|
|
15
|
+
- .planning/requirements/baseline.md
|
|
16
|
+
- .planning/PROJECT.md
|
|
17
|
+
- .planning/navigation/INDEX.md
|
|
18
|
+
- .planning/rules/INDEX.md
|
|
19
|
+
- .context/spec/frontend/index.md
|
|
20
|
+
- .context/spec/frontend/
|
|
21
|
+
- .context/spec/design/
|
|
22
|
+
- references/affected-module-exploration.md
|
|
23
|
+
output: .planning/features/{功能名}/UI-SPEC.md
|
|
24
|
+
allowed-tools:
|
|
25
|
+
- Read
|
|
26
|
+
- Write
|
|
27
|
+
- Edit
|
|
28
|
+
- Bash
|
|
29
|
+
- Grep
|
|
30
|
+
- Glob
|
|
31
|
+
- ask
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
# UI 设计解析与规范化
|
|
35
|
+
|
|
36
|
+
将 UI 设计稿解析为结构化的 UI 规范文档(UI-SPEC.md),生成与需求基线同级的**设计契约**。
|
|
37
|
+
|
|
38
|
+
## 定位
|
|
39
|
+
|
|
40
|
+
UI 稿和 PRD 是研发流程的两个**同级原始输入**:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
PRD ──→ 需求基线(2) ──→ 功能点梳理(3.1) ──→ 前端技术方案(3.2)
|
|
44
|
+
↑ ↑ ↑
|
|
45
|
+
UI稿 ──→ UI-SPEC(2.5) ───┘ │
|
|
46
|
+
└─────────────────────────────────────┘
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- **需求基线** 回答"做什么"(功能、逻辑、数据)
|
|
50
|
+
- **UI-SPEC** 回答"长什么样"(布局、组件、Token、交互)
|
|
51
|
+
- 两者**共同**作为功能点梳理(样式/功能/逻辑三维)和前端技术方案的输入源
|
|
52
|
+
|
|
53
|
+
UI-SPEC 不写代码细节(那是前端技术方案的事),但必须把 UI 层面的所有决策提前拍板完成。
|
|
54
|
+
|
|
55
|
+
## 核心原则
|
|
56
|
+
|
|
57
|
+
1. **视觉事实优先**:UI 稿中的事实(布局、颜色、间距、组件排列)直接提取,不猜测
|
|
58
|
+
2. **不确定就问**:UI 稿中不清晰的部分必须向用户确认,不做假设
|
|
59
|
+
3. **与代码对齐**:提取的组件必须与现有前端代码中的组件做复用匹配
|
|
60
|
+
4. **完整覆盖状态**:每个页面/组件必须覆盖所有用户可见状态
|
|
61
|
+
5. **服务下游**:产出是功能点梳理"样式维度"和前端技术方案"组件拆分/设计 Token"的确定性输入
|
|
62
|
+
|
|
63
|
+
## 工作流程
|
|
64
|
+
|
|
65
|
+
### 第一阶段:获取设计输入
|
|
66
|
+
|
|
67
|
+
1. 解析 `$ARGUMENTS`:
|
|
68
|
+
- `<功能名>`:功能名称
|
|
69
|
+
- `@设计稿路径`:设计稿文件路径(图片、PDF)或 Figma/蓝湖链接
|
|
70
|
+
- `--auto`:非交互模式,缺失信息标记为待确认
|
|
71
|
+
|
|
72
|
+
2. 确定设计输入来源(按优先级):
|
|
73
|
+
- **A. 用户直接提供的截图/图片** → 直接读取分析
|
|
74
|
+
- **B. Figma/蓝湖链接** → 要求用户导出截图后提供,不直接访问
|
|
75
|
+
- **C. 需求基线中的 UI 描述** → 从 baseline.md 提取文字描述
|
|
76
|
+
- **D. 无设计稿** → 标记为待确认,UI-SPEC.md 不生成,下游功能点梳理和前端方案直接使用基线描述
|
|
77
|
+
|
|
78
|
+
3. 如果设计稿路径为图片(.png/.jpg/.webp),使用 Read 工具读取图片内容进行视觉分析。
|
|
79
|
+
|
|
80
|
+
### 第二阶段:理解产品上下文
|
|
81
|
+
|
|
82
|
+
1. 读取 `.planning/requirements/baseline.md`,提取:
|
|
83
|
+
- 涉及的页面/弹窗/区域列表
|
|
84
|
+
- 与 UI 相关的用户拍板决策(布局偏好、交互方式、组件选择)
|
|
85
|
+
- `反向审视与用户拍板` 中影响 UI 的决策
|
|
86
|
+
2. 读取 `.planning/PROJECT.md` 了解前端代码库位置
|
|
87
|
+
3. 按 `.planning/rules/INDEX.md` 加载前端规范(`.context/spec/frontend/`、`.context/spec/design/`)
|
|
88
|
+
4. 若 `.context/spec/design/index.md` 不存在,先通过 OMP 运行时安装共享设计规则包:
|
|
89
|
+
```text
|
|
90
|
+
devflow_design_rule(args=[])
|
|
91
|
+
```
|
|
92
|
+
安装后重新检查 `.context/spec/design/index.md`。如果仍不存在,记录“未发现设计规则包”,继续使用设计稿和现有代码保守分析。
|
|
93
|
+
5. 若存在 `.context/spec/design/index.md`,必须读取该入口,并按入口说明加载:
|
|
94
|
+
- 项目已确认 token:`.context/spec/design/tokens/project-tokens.md`
|
|
95
|
+
- 通用设计推荐:`.context/spec/design/recommendations/`
|
|
96
|
+
- 动态推荐工具:`.context/spec/design/tools/ui-ux-pro-max/scripts/search.py`
|
|
97
|
+
6. 在以下情况调用 `ui-ux-pro-max` 动态推荐工具补充设计参考:
|
|
98
|
+
- 无设计稿,但需求需要页面风格、配色、字体、布局建议
|
|
99
|
+
- 设计稿未覆盖颜色、字体、间距、圆角、阴影、响应式、可访问性或状态细节
|
|
100
|
+
- 需要按产品类型/行业/风格生成候选设计系统
|
|
101
|
+
推荐命令示例:
|
|
102
|
+
```bash
|
|
103
|
+
python3 .context/spec/design/tools/ui-ux-pro-max/scripts/search.py "<产品类型> <行业> <风格关键词>" --design-system -p "<功能名>" --format markdown
|
|
104
|
+
python3 .context/spec/design/tools/ui-ux-pro-max/scripts/search.py "loading error accessibility responsive" --domain ux
|
|
105
|
+
```
|
|
106
|
+
7. 设计结论合并优先级必须为:用户拍板/设计稿事实/需求基线 > 现有代码与项目 token > `.context/spec/design/tokens/project-tokens.md` > `ui-ux-pro-max` 推荐。推荐结果只能作为“推荐 - 待拍板”,不得覆盖设计稿事实或现有项目规范。
|
|
107
|
+
|
|
108
|
+
### 第三阶段:设计解析
|
|
109
|
+
|
|
110
|
+
对每个页面/弹窗/区域,从设计稿中提取以下结构化信息:
|
|
111
|
+
|
|
112
|
+
#### 3.1 页面布局结构
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
页面: {页面名称}
|
|
116
|
+
├── 顶部导航区: {描述、是否固定、包含元素}
|
|
117
|
+
├── 主内容区: {描述、滚动行为}
|
|
118
|
+
│ ├── 区域1: {名称、功能}
|
|
119
|
+
│ ├── 区域2: {名称、功能}
|
|
120
|
+
│ └── ...
|
|
121
|
+
├── 底部操作区: {描述、是否固定}
|
|
122
|
+
└── 弹窗/浮层: {触发条件、内容}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### 3.2 组件树
|
|
126
|
+
|
|
127
|
+
对每个区域,逐层拆解组件嵌套关系(至少3层):
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
页面 → 区域 → 子组件 → 基础组件
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
每个组件标注:
|
|
134
|
+
- **类型**:页面 / 区域容器 / 业务组件 / 基础组件 / 第三方组件
|
|
135
|
+
- **复用决策**:已有可复用 / 需新建 / 需修改现有 / 来自第三方库
|
|
136
|
+
- **状态列表**:默认 / loading / empty / error / disabled / 权限受限 / 重复提交
|
|
137
|
+
|
|
138
|
+
#### 3.3 设计 Token 提取
|
|
139
|
+
|
|
140
|
+
从设计稿中提取视觉变量,优先与现有代码中的设计变量对齐:
|
|
141
|
+
|
|
142
|
+
| 类别 | Token 名 | 值 | 用途 | 对应代码变量 |
|
|
143
|
+
|------|---------|----|----|------------|
|
|
144
|
+
| 颜色 | `--color-primary` | `#FF6B35` | 主色调 | `$primary-color` |
|
|
145
|
+
| 字号 | `--font-size-title` | `18px` | 页面标题 | `$font-size-lg` |
|
|
146
|
+
| 间距 | `--spacing-card` | `12px` | 卡片内边距 | `$padding-card` |
|
|
147
|
+
| 圆角 | `--radius-button` | `8px` | 按钮圆角 | `$border-radius-base` |
|
|
148
|
+
| 阴影 | `--shadow-card` | `0 2px 8px rgba(0,0,0,0.1)` | 卡片投影 | 待确认 |
|
|
149
|
+
|
|
150
|
+
设计 Token 必须分来源输出:
|
|
151
|
+
|
|
152
|
+
- **设计稿事实**:来自截图/Figma/蓝湖/用户已确认设计描述,可作为下游实现依据。
|
|
153
|
+
- **现有项目规范**:来自现有代码、组件库或 `.context/spec/design/tokens/project-tokens.md`,可作为下游实现依据。
|
|
154
|
+
- **推荐 - 待拍板**:来自 `.context/spec/design/recommendations/` 或 `ui-ux-pro-max` 动态查询,只能进入待确认事项,用户确认前不得被前端技术方案当作已确认实现值。
|
|
155
|
+
|
|
156
|
+
#### 3.4 交互流程
|
|
157
|
+
|
|
158
|
+
描述关键交互的完整链路(用户操作 → 视觉反馈 → 状态变化 → 接口调用):
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
流程: {流程名称}
|
|
162
|
+
触发: {用户操作}
|
|
163
|
+
步骤1: {视觉变化/动画} → {状态变化}
|
|
164
|
+
步骤2: {视觉变化/动画} → {状态变化}
|
|
165
|
+
步骤3: {接口调用(标注需求基线中的接口)} → {结果处理}
|
|
166
|
+
终态: {成功/失败/空数据的 UI 表现}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
#### 3.5 响应式/多端适配
|
|
170
|
+
|
|
171
|
+
- 如果目标平台包含多端(小程序 + H5 + App),标注各端差异
|
|
172
|
+
- 标注断点和布局变化
|
|
173
|
+
|
|
174
|
+
### 第四阶段:与现有代码对齐
|
|
175
|
+
|
|
176
|
+
1. 读取 `references/affected-module-exploration.md`,对每个涉及的现有前端页面/组件进行探索
|
|
177
|
+
2. 对每个设计组件,在现有前端代码中查找可复用的组件:
|
|
178
|
+
```
|
|
179
|
+
设计组件: {名称}
|
|
180
|
+
→ 候选复用: {现有组件路径} / {npm 包名}
|
|
181
|
+
→ 匹配度: 完全匹配 / 需加 Props 不改内部 / 需改内部 / 无可复用
|
|
182
|
+
→ 修改点: {如果需修改,列出具体差异}
|
|
183
|
+
```
|
|
184
|
+
3. **复用深度检查**(新增):对标记为"复用"的现有组件,检查接口是否够用:
|
|
185
|
+
```
|
|
186
|
+
现有组件: Table
|
|
187
|
+
现有接口: props=[columns, dataSource, loading], events=[rowClick]
|
|
188
|
+
当前需求需要: 多级表头、行拖拽排序
|
|
189
|
+
→ 多级表头: Table 已支持(columns.children 语法)→ ✅ 完全匹配
|
|
190
|
+
→ 行拖拽排序: Table 不支持,需额外加 props=[dragSortable] 和 events=[sortChange]
|
|
191
|
+
→ 判断: 可复用,需扩展接口(加 1 prop + 1 event → 接口从 4 增到 6,仍可接受)
|
|
192
|
+
→ 结论: 复用-轻微扩展
|
|
193
|
+
```
|
|
194
|
+
判断标准:
|
|
195
|
+
- 新增 Props+Events ≤ 2 → ✅ 可接受,标记为"复用-轻微扩展"
|
|
196
|
+
- 新增 Props+Events ≥ 3 → ⚠️ 接口膨胀风险,考虑是否新建组件
|
|
197
|
+
- 同时需改内部逻辑 → 🔴 可能是 seam 选错了,考虑是否应新建
|
|
198
|
+
4. 检查设计 Token 是否与现有设计变量冲突
|
|
199
|
+
5. 与需求基线中已确认的组件复用决策交叉验证,有冲突时反馈到需求基线
|
|
200
|
+
|
|
201
|
+
### 第五阶段:生成 UI-SPEC.md
|
|
202
|
+
|
|
203
|
+
1. 创建/确认 `.planning/features/{功能名}/` 目录
|
|
204
|
+
2. 读取 `assets/ui-spec-template.md` 模板
|
|
205
|
+
3. 按模板结构填充所有章节,并在设计 Token 与交互章节中标明来源:设计稿事实 / 现有项目规范 / 推荐 - 待拍板
|
|
206
|
+
4. 将所有来自推荐源且影响实现的候选值写入“待确认事项”
|
|
207
|
+
5. 写入 `审查结论` 章节
|
|
208
|
+
|
|
209
|
+
## 输出文档结构(UI-SPEC.md)
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
# UI 设计规范 — {功能名}
|
|
213
|
+
|
|
214
|
+
## 1. 设计来源
|
|
215
|
+
- 设计稿路径/截图说明
|
|
216
|
+
- 设计工具/版本
|
|
217
|
+
- 解析日期
|
|
218
|
+
|
|
219
|
+
## 2. 页面清单与布局
|
|
220
|
+
### 2.1 {页面1名称}
|
|
221
|
+
- 路由路径
|
|
222
|
+
- 布局结构(ASCII 图)
|
|
223
|
+
- 区域划分
|
|
224
|
+
### 2.2 {页面2名称}
|
|
225
|
+
...
|
|
226
|
+
|
|
227
|
+
## 3. 组件树与复用分析
|
|
228
|
+
### 3.1 新增组件
|
|
229
|
+
### 3.2 修改现有组件
|
|
230
|
+
### 3.3 复用现有组件
|
|
231
|
+
|
|
232
|
+
## 4. 设计 Token
|
|
233
|
+
### 4.0 来源分层
|
|
234
|
+
- 设计稿事实
|
|
235
|
+
- 现有项目规范
|
|
236
|
+
- 推荐 - 待拍板
|
|
237
|
+
### 4.1 颜色
|
|
238
|
+
### 4.2 字体与字号
|
|
239
|
+
### 4.3 间距
|
|
240
|
+
### 4.4 圆角与阴影
|
|
241
|
+
### 4.5 动画/过渡
|
|
242
|
+
|
|
243
|
+
## 5. 交互流程
|
|
244
|
+
### 5.1 {流程1}
|
|
245
|
+
### 5.2 {流程2}
|
|
246
|
+
...
|
|
247
|
+
|
|
248
|
+
## 6. 状态覆盖矩阵
|
|
249
|
+
| 页面/组件 | Loading | Empty | Error | Disabled | 权限限制 | 重复提交 |
|
|
250
|
+
|----------|---------|-------|-------|----------|---------|---------|
|
|
251
|
+
| 页面A | ✓ | ✓ | ✓ | - | ✓ | ✓ |
|
|
252
|
+
|
|
253
|
+
## 7. 多端差异(如适用)
|
|
254
|
+
|
|
255
|
+
## 8. 待确认事项
|
|
256
|
+
|
|
257
|
+
## 9. 下游输入契约
|
|
258
|
+
本 UI-SPEC 为以下文档提供 UI 层面的确定输入:
|
|
259
|
+
- **功能点梳理**(Step 3.1):样式维度的页面/区域/组件/字段/按钮/弹窗等可验证节点
|
|
260
|
+
- **前端技术方案**(Step 3.2):组件树、设计 Token、交互流程、复用决策
|
|
261
|
+
|
|
262
|
+
## 10. 审查结论
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## 强制审查门禁
|
|
266
|
+
|
|
267
|
+
### 设计完整性
|
|
268
|
+
|
|
269
|
+
- [ ] 所有涉及页面/弹窗的布局结构已从设计稿提取(无凭感觉推测)
|
|
270
|
+
- [ ] 每个页面至少拆到区域→组件→子组件三层
|
|
271
|
+
- [ ] 每个组件标注了完整状态列表
|
|
272
|
+
- [ ] 设计 Token 不少于 5 类(颜色、字号、间距、圆角、阴影)
|
|
273
|
+
|
|
274
|
+
### 代码对齐
|
|
275
|
+
|
|
276
|
+
- [ ] 每个新增/修改组件已与现有前端代码做了复用匹配
|
|
277
|
+
- [ ] 设计 Token 已与现有设计变量做了对齐检查
|
|
278
|
+
- [ ] 与需求基线中已确认的组件/交互决策无冲突
|
|
279
|
+
|
|
280
|
+
### 用户体验
|
|
281
|
+
|
|
282
|
+
- [ ] 关键交互流程已描述完整链路(触发→反馈→状态→结果)
|
|
283
|
+
- [ ] 状态覆盖矩阵覆盖了所有组件/页面的所有状态
|
|
284
|
+
- [ ] loading/empty/error 三个状态每个页面至少有一个处理方案
|
|
285
|
+
|
|
286
|
+
### 下游可用性
|
|
287
|
+
|
|
288
|
+
- [ ] 页面清单和组件树可直接映射为功能点梳理的"样式"维度节点
|
|
289
|
+
- [ ] 设计 Token 可直接被前端技术方案引用为样式变量
|
|
290
|
+
- [ ] 交互流程中的接口已与需求基线中的 API 列表对齐
|
|
291
|
+
|
|
292
|
+
### 反向对照
|
|
293
|
+
|
|
294
|
+
| 嗅探 | 检查 |
|
|
295
|
+
|------|------|
|
|
296
|
+
| 布局嗅探 | 设计稿中是否有多端差异未标注? |
|
|
297
|
+
| 复用嗅探 | 是否有设计稿中的组件与现有组件高度相似但被标记为"新建"? |
|
|
298
|
+
| 遗漏嗅探 | 需求基线中的所有页面/弹窗是否都有对应的 UI 设计? |
|
|
299
|
+
| 冲突嗅探 | 设计 Token 是否与现有变量命名/值冲突? |
|
|
300
|
+
| 需求对齐 | 设计稿中的交互是否与需求基线的用户拍板决策一致? |
|
|
301
|
+
|
|
302
|
+
**审查结论不通过时,不得进入功能点梳理阶段。**
|