create-yss-spec 3.5.6 → 3.5.9
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/bin/create-yss-spec.js +3 -1
- package/cli-core.lock.json +10 -6
- package/package.json +4 -1
- package/src/api/_sync-service.js +3 -1
- package/src/command-runner.mjs +44 -9
- package/src/commands/doctor.js +40 -0
- package/src/commands/skills.js +7 -2
- package/src/content-identity.js +111 -0
- package/src/runtime-store.mjs +650 -0
- package/src/template/asset-runtime.js +124 -22
- package/src/template/instance-runtime.js +23 -7
- package/src/validation/metadata.js +8 -0
- package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -3
- package/template/.agents/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.agents/skills/archify/SKILL.md +2 -2
- package/template/.agents/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.agents/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.agents/skills/code-review/SKILL.md +19 -11
- package/template/.agents/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.agents/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.agents/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.agents/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.agents/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.agents/skills/file-export-download/SKILL.md +4 -73
- package/template/.agents/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.agents/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.agents/skills/formily-foundation/SKILL.md +6 -105
- package/template/.agents/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.agents/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.agents/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.agents/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.agents/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.agents/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.agents/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.agents/skills/handoff/SKILL.md +3 -1
- package/template/.agents/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.agents/skills/implement/SKILL.md +2 -2
- package/template/.agents/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.agents/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.agents/skills/lombok/SKILL.md +2 -0
- package/template/.agents/skills/mapstruct/SKILL.md +2 -0
- package/template/.agents/skills/tdd/SKILL.md +2 -2
- package/template/.agents/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.agents/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.agents/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.agents/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.agents/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.agents/skills/yss-application/SKILL.md +11 -5
- package/template/.agents/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.agents/skills/yss-audit-log/references/README.md +5 -5
- package/template/.agents/skills/yss-cache/SKILL.md +4 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
- package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.agents/skills/yss-dto/SKILL.md +9 -9
- package/template/.agents/skills/yss-dto/references/README.md +4 -4
- package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.agents/skills/yss-exception/SKILL.md +42 -48
- package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.agents/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.agents/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.agents/skills/yss-repository/SKILL.md +2 -2
- package/template/.agents/skills/yss-research/SKILL.md +39 -48
- package/template/.agents/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.agents/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.agents/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.agents/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.agents/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.agents/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.agents/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.agents/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.agents/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.agents/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.agents/skills/yss-ui/SKILL.md +7 -1
- package/template/.agents/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.agents/skills/yss-ui/references/checklist.md +38 -96
- package/template/.agents/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.agents/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.agents/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.agents/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.agents/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.agents/skills/yss-validation/SKILL.md +26 -32
- package/template/.agents/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.agents/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
- package/template/.agents/skills/ytree-usage/SKILL.md +2 -80
- package/template/.agents/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.codex/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.codex/skills/archify/SKILL.md +2 -2
- package/template/.codex/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.codex/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.codex/skills/code-review/SKILL.md +19 -11
- package/template/.codex/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.codex/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.codex/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.codex/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.codex/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.codex/skills/file-export-download/SKILL.md +4 -73
- package/template/.codex/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.codex/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.codex/skills/formily-foundation/SKILL.md +6 -105
- package/template/.codex/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.codex/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.codex/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.codex/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.codex/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.codex/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.codex/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.codex/skills/handoff/SKILL.md +3 -1
- package/template/.codex/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.codex/skills/implement/SKILL.md +2 -2
- package/template/.codex/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.codex/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.codex/skills/lombok/SKILL.md +2 -0
- package/template/.codex/skills/mapstruct/SKILL.md +2 -0
- package/template/.codex/skills/product-design/references/communication-protocol.md +3 -3
- package/template/.codex/skills/product-design/references/critical-overrides.md +4 -5
- package/template/.codex/skills/product-design/skills/audit/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/get-context/SKILL.md +6 -8
- package/template/.codex/skills/product-design/skills/ideate/SKILL.md +3 -3
- package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +3 -5
- package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
- package/template/.codex/skills/product-design/skills/prototype/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/research/SKILL.md +4 -6
- package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +3 -3
- package/template/.codex/skills/product-design/skills/share/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
- package/template/.codex/skills/tdd/SKILL.md +2 -2
- package/template/.codex/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.codex/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.codex/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.codex/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.codex/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.codex/skills/yss-application/SKILL.md +11 -5
- package/template/.codex/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.codex/skills/yss-audit-log/references/README.md +5 -5
- package/template/.codex/skills/yss-cache/SKILL.md +4 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
- package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.codex/skills/yss-dto/SKILL.md +9 -9
- package/template/.codex/skills/yss-dto/references/README.md +4 -4
- package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.codex/skills/yss-exception/SKILL.md +42 -48
- package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.codex/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.codex/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.codex/skills/yss-repository/SKILL.md +2 -2
- package/template/.codex/skills/yss-research/SKILL.md +39 -48
- package/template/.codex/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.codex/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.codex/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.codex/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.codex/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.codex/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.codex/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.codex/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.codex/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.codex/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.codex/skills/yss-ui/SKILL.md +7 -1
- package/template/.codex/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.codex/skills/yss-ui/references/checklist.md +38 -96
- package/template/.codex/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.codex/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.codex/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.codex/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.codex/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.codex/skills/yss-validation/SKILL.md +26 -32
- package/template/.codex/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.codex/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
- package/template/.codex/skills/ytree-usage/SKILL.md +2 -80
- package/template/.codex/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.cursor/skills/archify/SKILL.md +2 -2
- package/template/.cursor/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.cursor/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.cursor/skills/code-review/SKILL.md +19 -11
- package/template/.cursor/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.cursor/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.cursor/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.cursor/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.cursor/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.cursor/skills/file-export-download/SKILL.md +4 -73
- package/template/.cursor/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.cursor/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.cursor/skills/formily-foundation/SKILL.md +6 -105
- package/template/.cursor/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.cursor/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.cursor/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.cursor/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.cursor/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.cursor/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.cursor/skills/handoff/SKILL.md +3 -1
- package/template/.cursor/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.cursor/skills/implement/SKILL.md +2 -2
- package/template/.cursor/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.cursor/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.cursor/skills/lombok/SKILL.md +2 -0
- package/template/.cursor/skills/mapstruct/SKILL.md +2 -0
- package/template/.cursor/skills/tdd/SKILL.md +2 -2
- package/template/.cursor/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.cursor/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.cursor/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.cursor/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.cursor/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.cursor/skills/yss-application/SKILL.md +11 -5
- package/template/.cursor/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.cursor/skills/yss-audit-log/references/README.md +5 -5
- package/template/.cursor/skills/yss-cache/SKILL.md +4 -4
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
- package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.cursor/skills/yss-dto/SKILL.md +9 -9
- package/template/.cursor/skills/yss-dto/references/README.md +4 -4
- package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.cursor/skills/yss-exception/SKILL.md +42 -48
- package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.cursor/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
- package/template/.cursor/skills/yss-research/SKILL.md +39 -48
- package/template/.cursor/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.cursor/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.cursor/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.cursor/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.cursor/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.cursor/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.cursor/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.cursor/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.cursor/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.cursor/skills/yss-ui/SKILL.md +7 -1
- package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.cursor/skills/yss-ui/references/checklist.md +38 -96
- package/template/.cursor/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.cursor/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.cursor/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.cursor/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.cursor/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.cursor/skills/yss-validation/SKILL.md +26 -32
- package/template/.cursor/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.cursor/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
- package/template/.cursor/skills/ytree-usage/SKILL.md +2 -80
- package/template/.cursor/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.pi/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.pi/skills/archify/SKILL.md +2 -2
- package/template/.pi/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.pi/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.pi/skills/code-review/SKILL.md +19 -11
- package/template/.pi/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.pi/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.pi/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.pi/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.pi/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.pi/skills/file-export-download/SKILL.md +4 -73
- package/template/.pi/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.pi/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.pi/skills/formily-foundation/SKILL.md +6 -105
- package/template/.pi/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.pi/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.pi/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.pi/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.pi/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.pi/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.pi/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.pi/skills/handoff/SKILL.md +3 -1
- package/template/.pi/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.pi/skills/implement/SKILL.md +2 -2
- package/template/.pi/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.pi/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.pi/skills/lombok/SKILL.md +2 -0
- package/template/.pi/skills/mapstruct/SKILL.md +2 -0
- package/template/.pi/skills/tdd/SKILL.md +2 -2
- package/template/.pi/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.pi/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.pi/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.pi/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.pi/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.pi/skills/yss-application/SKILL.md +11 -5
- package/template/.pi/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.pi/skills/yss-audit-log/references/README.md +5 -5
- package/template/.pi/skills/yss-cache/SKILL.md +4 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
- package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.pi/skills/yss-dto/SKILL.md +9 -9
- package/template/.pi/skills/yss-dto/references/README.md +4 -4
- package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.pi/skills/yss-exception/SKILL.md +42 -48
- package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.pi/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.pi/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.pi/skills/yss-repository/SKILL.md +2 -2
- package/template/.pi/skills/yss-research/SKILL.md +39 -48
- package/template/.pi/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.pi/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.pi/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.pi/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.pi/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.pi/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.pi/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.pi/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.pi/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.pi/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.pi/skills/yss-ui/SKILL.md +7 -1
- package/template/.pi/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.pi/skills/yss-ui/references/checklist.md +38 -96
- package/template/.pi/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.pi/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.pi/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.pi/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.pi/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.pi/skills/yss-validation/SKILL.md +26 -32
- package/template/.pi/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.pi/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
- package/template/.pi/skills/ytree-usage/SKILL.md +2 -80
- package/template/.pi/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.template-spec/agents/backend-architecture-profiles.md +1 -1
- package/template/.template-spec/agents/digital-human-roles.md +5 -1
- package/template/.template-spec/agents/digital-human-roles.yaml +49 -1
- package/template/.template-spec/engineering/backend-platforms.json +1 -1
- package/template/.template-spec/plan/entry-review.md +2 -1
- package/template/.template-spec/plan/templates/competitive-analysis-template.md +38 -36
- package/template/.template-spec/plan/templates/competitive-matrix-template.md +37 -17
- package/template/.template-spec/plan/templates/plan-template.md +11 -5
- package/template/.template-spec/process/document-writing.md +22 -3
- package/template/.template-spec/process/harness-process-tailoring.md +5 -1
- package/template/.template-spec/process/implementation-repo-integration.md +26 -8
- package/template/.template-spec/process/research-completion.md +2 -0
- package/template/.template-spec/process/runtime-storage.md +78 -0
- package/template/.template-spec/process/schemas/approval-context.schema.json +67 -0
- package/template/.template-spec/process/schemas/approval-record.schema.json +179 -16
- package/template/.template-spec/process/schemas/backend-delivery.schema.json +16 -0
- package/template/.template-spec/process/schemas/delivery-preflight-input.schema.json +4 -0
- package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +236 -1
- package/template/.template-spec/process/schemas/implementation-repository-preparation-result.schema.json +335 -52
- package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +11 -0
- package/template/.template-spec/process/schemas/project-scaffold-contract.schema.json +3 -0
- package/template/.template-spec/process/schemas/review-bundle.schema.json +347 -35
- package/template/.template-spec/process/schemas/strategic-design-handoff-v3.schema.json +504 -0
- package/template/.template-spec/process/schemas/strategic-design-handoff-v4.schema.json +544 -8
- package/template/.template-spec/process/schemas/strategic-design-handoff-v5.schema.json +616 -0
- package/template/.template-spec/process/schemas/strategic-design-handoff.schema.json +616 -0
- package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +712 -109
- package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy.schema.json +595 -90
- package/template/.template-spec/process/schemas/strategic-handoff-export-v2.schema.json +448 -0
- package/template/.template-spec/process/schemas/strategic-handoff-export.schema.json +392 -0
- package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +556 -83
- package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package.schema.json +418 -57
- package/template/.template-spec/process/script-execution.md +37 -0
- package/template/.template-spec/process/subagent-collaboration.md +7 -1
- package/template/.template-spec/templates/approval-record-template.json +7 -3
- package/template/.template-spec/templates/approval-record-template.yaml +8 -2
- package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +92 -2
- package/template/.template-spec/templates/retro-report-template.md +10 -3
- package/template/.template-spec/templates/review-bundle-template.yaml +19 -10
- package/template/.template-spec/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +2 -0
- package/template/AGENTS.md +4 -3
- package/template/CONTEXT.md +2 -2
- package/template/README.md +2 -2
- package/template/scripts/advance-maintenance-iteration +51 -0
- package/template/scripts/lib/approval-checkpoint-discovery.mjs +26 -0
- package/template/scripts/lib/approval-consumption.mjs +35 -0
- package/template/scripts/lib/approval-current.mjs +111 -0
- package/template/scripts/lib/approval-record-io.mjs +56 -0
- package/template/scripts/lib/approval-record.mjs +79 -184
- package/template/scripts/lib/approved-execution-context.mjs +8 -6
- package/template/scripts/lib/asset-transactions.mjs +5 -1
- package/template/scripts/lib/backend-delivery.mjs +1 -1
- package/template/scripts/lib/backend-review.mjs +2 -1
- package/template/scripts/lib/backend-scaffold-prerequisites.mjs +3 -2
- package/template/scripts/lib/business-ticket-lifecycle.mjs +2 -1
- package/template/scripts/lib/checkpoint-commit.mjs +50 -0
- package/template/scripts/lib/command-runner.mjs +44 -9
- package/template/scripts/lib/content-identity.mjs +273 -0
- package/template/scripts/lib/delivery-preflight.mjs +2 -1
- package/template/scripts/lib/digital-human-roles.mjs +12 -5
- package/template/scripts/lib/drift-report.mjs +110 -0
- package/template/scripts/lib/existing-backend-architecture.mjs +4 -1
- package/template/scripts/lib/lifecycle-context-query.mjs +172 -11
- package/template/scripts/lib/lifecycle-controls.mjs +9 -19
- package/template/scripts/lib/lifecycle-presentation.mjs +5 -0
- package/template/scripts/lib/lifecycle-status.mjs +63 -12
- package/template/scripts/lib/lifecycle-transition.mjs +2 -1
- package/template/scripts/lib/maintenance-candidate.mjs +24 -30
- package/template/scripts/lib/maintenance-research.mjs +52 -8
- package/template/scripts/lib/maintenance-storage.mjs +81 -0
- package/template/scripts/lib/plan-spec-entry.mjs +2 -1
- package/template/scripts/lib/project-governance.mjs +2 -1
- package/template/scripts/lib/read-only-intake.mjs +44 -9
- package/template/scripts/lib/review-capabilities.mjs +234 -0
- package/template/scripts/lib/review-package.mjs +100 -0
- package/template/scripts/lib/runtime-store.mjs +650 -0
- package/template/scripts/lib/skill-registry.mjs +4 -4
- package/template/scripts/lib/strategic-handoff.mjs +22 -9
- package/template/scripts/lib/task-package.mjs +47 -16
- package/template/scripts/lifecycle-status +26 -1
- package/template/scripts/maintenance-path +11 -0
- package/template/scripts/prepare-review-package +8 -0
- package/template/scripts/project-ci +13 -3
- package/template/scripts/query-lifecycle-context +8 -1
- package/template/scripts/run-read-only-intake +2 -2
- package/template/scripts/runtime-store +40 -0
- package/template/scripts/verify-approval-record +21 -13
- package/template/scripts/verify-lifecycle-checkpoint +7 -3
- package/template/scripts/verify-project-instance +21 -1
- package/template/skills-lock.json +64 -63
- package/template.snapshot.json +4 -4
- package/vendor/cli-core/cli.mjs +2 -0
- package/vendor/cli-core/command-runner.mjs +44 -9
- package/vendor/cli-core/package.json +1 -1
- package/vendor/cli-core/runtime-store.mjs +650 -0
- package/vendor/cli-core/scaffold.mjs +4 -2
|
@@ -55,8 +55,10 @@ YSS 页面模块约定(YTable、YFormily、页面骨架等)走 Standards,
|
|
|
55
55
|
|
|
56
56
|
| 类型 | 动作 |
|
|
57
57
|
|---|---|
|
|
58
|
-
| `violation`、机器检查失败、适用行空白、`missing_evidence` |
|
|
59
|
-
| `drift`、`new_impacts`、`required_skills` 与真实影响不一致 | 合同标 `stale
|
|
58
|
+
| `violation`、机器检查失败、适用行空白、`missing_evidence` | 实现者在**原合同允许路径**内修复;比较差异及受影响结论、行为和依赖,重新捕获并定向复审 / 验证,未受影响项有依据地复用并绑定当前候选 |
|
|
59
|
+
| `drift`、`new_impacts`、`required_skills` 与真实影响不一致 | 合同标 `stale`,先调查实际变化及依赖,再回 实现合同编译器 或更早生命周期阶段更新受影响合同;禁止在旧合同上继续编码,不默认全轴复审 |
|
|
60
|
+
|
|
61
|
+
首轮仍完整覆盖全部适用 Standards、Spec 和条件 UI fidelity。候选摘要变化、UI 影响或未知影响不构成全轴复审的默认或兜底;未知项先调查并阻断其依赖结论。复用证据必须可读,确认原检查条件、依据与依赖未变;当前完成结果重新绑定候选、合同和实际验证,不修改历史报告。
|
|
60
62
|
|
|
61
63
|
`not-applicable` 仅当影响面未命中。命中后的 mandatory 不得豁免;只允许修复,或写完整 `seam-deferred`(风险、责任人、后续 Ticket、验证计划、目标版本或发布日期)。禁止为日常 Alibaba / YSS 新增生物人豁免门禁;安全 / 公共 API 仍走既有 `TODO-HUMAN-REVIEW` 与生物人门禁。
|
|
62
64
|
|
|
@@ -1,94 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: competitive-intelligence
|
|
3
|
-
description:
|
|
3
|
+
description: "执行竞品、市场定位、定价、功能差距与用户口碑调研;复用现有模板输出竞品功能矩阵和深度分析报告,向 Plan、Spec 与产品策略提供证据。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Competitive Intelligence
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
本项目请求的上游来源:`anthropics/knowledge-work-plugins`,`sales/skills/competitive-intelligence`。保留 YSS 适配;上游更新不能直接覆盖当前合同。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
竞品或市场事实影响 Plan、Spec 范围、定位、差异化、定价假设或路线取舍时使用本技能。`yss-research` 是统一入口和研究证据包所有者,本技能负责专项采集、比较与分析并回传引用结果。直接调用本技能时也按 `yss-research` 的 profile、模式和证据合同组织结果。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
文档输出按 `lifecycle-document-output` 条件调用 `i-have-adhd`,读取 `.template-spec/process/document-writing.md`;只作用于当前产物。正文用简体中文,产品名、来源 URL、API 与 metadata 保持原样。
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
- Separate facts, evidence, and inference. Do not present strategy guesses as verified competitor intent.
|
|
16
|
-
- Prefer primary or near-primary sources: official product pages, docs, pricing pages, changelogs, release notes, filings, case studies, status pages, marketplace listings, reputable analyst reports, and dated customer reviews.
|
|
17
|
-
- Record dates for time-sensitive claims. Pricing, packaging, roadmap, customer logos, and feature availability can change quickly.
|
|
18
|
-
- Persistent project outputs should use Chinese body text by default. Keep competitor names, product names, URLs, API names, and quoted identifiers unchanged.
|
|
19
|
-
- Do not bypass paywalls, scrape private systems, or use confidential information. Public evidence only unless the user explicitly provides internal material.
|
|
14
|
+
## 模式与产物
|
|
20
15
|
|
|
21
|
-
|
|
16
|
+
读取 `.agents/skills/yss-research/references/competitive-analysis.md`,遵守以下输出选择:
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- Official sources for product capabilities and pricing.
|
|
30
|
-
- Documentation and changelogs for depth and recency.
|
|
31
|
-
- Reviews, community posts, app marketplaces, and job posts for adoption and pain signals.
|
|
32
|
-
- Analyst, media, or public filings for market context when relevant.
|
|
33
|
-
3. Capture evidence with source links and dates:
|
|
34
|
-
- Feature / capability evidence.
|
|
35
|
-
- Pricing / packaging evidence.
|
|
36
|
-
- UX / onboarding evidence.
|
|
37
|
-
- Integration / ecosystem evidence.
|
|
38
|
-
- Customer segment and positioning evidence.
|
|
39
|
-
- Complaints, workarounds, or unmet needs.
|
|
40
|
-
4. Synthesize:
|
|
41
|
-
- Competitor positioning.
|
|
42
|
-
- Table-stakes capabilities.
|
|
43
|
-
- Differentiators and defensibility.
|
|
44
|
-
- Gaps and underserved jobs-to-be-done.
|
|
45
|
-
- Risks if we copy the competitor too closely.
|
|
46
|
-
- Product opportunities for Spec or roadmap.
|
|
47
|
-
5. Hand off to lifecycle assets:
|
|
48
|
-
- Update Plan findings in `docs/.scratch/<feature>/plan/`.
|
|
49
|
-
- Create or update a competitor matrix in `docs/.scratch/<feature>/plan/reports/`.
|
|
50
|
-
- Return stable user, pain, MVP, non-goal and success criteria to the current lifecycle/strategic owner for its native Plan and Spec work units. Compatibility entries remain explicit-user-only.
|
|
51
|
-
- Record uncertain claims as assumptions, not requirements.
|
|
18
|
+
| 请求 | 模式 | 默认输出 |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| 普通竞品探索 | `quick` | 聊天简报+精简功能矩阵,标明未审计 |
|
|
21
|
+
| 深度、严格、可复现或可审计研究 | `evidence-audited` | 完整矩阵+深度报告+研究双文件 |
|
|
22
|
+
| 明确只要矩阵或报告 | 按研究深度与用途确定 | 只输出指定阅读材料;审计模式保留研究双文件 |
|
|
23
|
+
| 正式生命周期批准输入 | `evidence-audited` | 指定阅读材料+可绑定证据包 |
|
|
52
24
|
|
|
53
|
-
|
|
25
|
+
不因选择单一产物而降级审计,也不把普通探索自动升级。竞品策略使用 `strategy-evidence`;技术能力、框架和协议事实按 `technical-evidence` 的一手来源要求审计。
|
|
54
26
|
|
|
55
|
-
|
|
27
|
+
完整矩阵使用 `.template-spec/plan/templates/competitive-matrix-template.md`,报告使用 `.template-spec/plan/templates/competitive-analysis-template.md`。审计模式在同一目录保留 `<slug>-research-brief.md`、`<slug>-evidence.yaml` 和选定的 `<slug>-competitive-matrix.md` / `<slug>-competitive-analysis.md`。报告是附属阅读材料,不替代研究简报。
|
|
56
28
|
|
|
57
|
-
|
|
58
|
-
## 竞品情报简报
|
|
29
|
+
## 执行
|
|
59
30
|
|
|
60
|
-
|
|
61
|
-
|
|
31
|
+
1. 明确研究要支持的决定、竞品 / 替代方案、用户、能力边界、地区、版本 / 套餐、截至日期和问题;优先消费用户提供或已登记材料,记录排除与访问失败。
|
|
32
|
+
2. 核验当前公开资料:产品与定价页、官方文档、更新日志、第一方案例、备案 / 披露和可追溯数据。口碑、采用与痛点可用带日期的评论、社区、市场记录和可检查方法的行业报告,保留来源类别、抽样及独立性限制。
|
|
33
|
+
3. 将事实、来源、观察和 Claim 回传统一证据台账,采集功能、定价 / 套餐、流程、集成、目标用户、定位、投诉与变通方案,寻找反向信号。
|
|
34
|
+
4. 审计模式在 `competitive_analysis` 中登记比较范围、竞品、能力和每个竞品 × 能力结果;矩阵及报告消费同一组结果。`supported / partial / absent / unknown` 分开表达,未查到资料写未知;部分支持须写限制,明确不支持须有适用范围内的已审计依据。
|
|
35
|
+
5. 审计模式从结构化结果渲染功能比较区,区外补充定位、流程、优势、风险、机会及 MVP 建议;`quick` 在聊天中综合简报与精简矩阵。结论引用 Claim / 来源,推断标明依据;来源冲突时保留冲突和置信度,不猜竞品意图。
|
|
36
|
+
6. 审计模式执行研究包校验并交回 `yss-research`;`quick` 回传未审计结果。交接保留事实及审计状态、反向信号、缺口与补证计划、候选术语、产品机会、MVP / 非目标及成功标准建议、下游所有者。由接收者核验后用于其原生工作单元。
|
|
62
37
|
|
|
63
|
-
|
|
64
|
-
- 竞品 / 替代方案:<list>
|
|
65
|
-
- 用户 / 市场:<scope>
|
|
66
|
-
- 时间范围:<date>
|
|
38
|
+
审计模式从仓库根运行渲染与校验:
|
|
67
39
|
|
|
68
|
-
|
|
69
|
-
- <
|
|
70
|
-
|
|
71
|
-
### 证据表
|
|
72
|
-
| 结论 | 证据 | 来源 | 日期 | 置信度 |
|
|
73
|
-
|---|---|---|---|---|
|
|
74
|
-
|
|
75
|
-
### 竞品矩阵
|
|
76
|
-
| 维度 | 竞品 A | 竞品 B | 我们的机会 |
|
|
77
|
-
|---|---|---|---|
|
|
78
|
-
|
|
79
|
-
### Spec 输入
|
|
80
|
-
- 用户 / 痛点:
|
|
81
|
-
- MVP 建议:
|
|
82
|
-
- 非目标范围:
|
|
83
|
-
- 验收或验证建议:
|
|
84
|
-
|
|
85
|
-
### 风险与待验证假设
|
|
86
|
-
- <assumption>
|
|
40
|
+
```bash
|
|
41
|
+
node .agents/skills/yss-research/scripts/render-competitive-outputs.mjs <slug>-evidence.yaml
|
|
42
|
+
node .agents/skills/yss-research/scripts/validate-research-package.mjs <slug>-research-brief.md <slug>-evidence.yaml
|
|
87
43
|
```
|
|
88
44
|
|
|
89
|
-
##
|
|
45
|
+
## 分析边界
|
|
90
46
|
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
47
|
+
- 比较结论记录产品、版本、套餐、地区与日期;未知范围明确写 `unknown`,不能默认为所有版本适用。
|
|
48
|
+
- 默认不生成数字排名。用户明确要求评分时先确认量表、维度 / 权重和依据;未知记不评分,不能计低分或零分。
|
|
49
|
+
- 功能对齐是证据信号,产品机会与优先级属于建议,不直接成为需求。候选术语回交 `domain-modeling`,Plan / Spec 由对应所有者更新;不写 `CONTEXT.md`、Spec、批准或 Ticket 状态。
|
|
50
|
+
- 使用公开证据或用户明确提供的内部材料;不绕过付费墙或访问私有系统,不将竞品专有内容、文本、截图或工作流直接复制到项目产物。
|
|
51
|
+
- 当前来源访问不可用时说明边界,仅根据可访问的固定资料作限定结论,或返回研究计划与假设;不声称已核验当前竞品事实。
|
|
52
|
+
- 结构校验只证明格式、引用和跨文件一致性,来源是否支持结论与推断是否合理仍需研究审核。
|
|
@@ -31,7 +31,7 @@ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 O
|
|
|
31
31
|
|
|
32
32
|
## 决策流程
|
|
33
33
|
|
|
34
|
-
1.
|
|
34
|
+
1. 在冻结 OpenAPI 中定位导出接口,核对成功响应的二进制媒体类型和 `format: binary`。需要修改声明时回交 `yss-openapi-governance`,完成现有 Draft / Freeze 与受控 JSON 派生链后再接入。
|
|
35
35
|
2. 重新生成 API 后检查生成方法,而不是凭接口名称判断:
|
|
36
36
|
- 已包含 `responseType: 'blob'`:业务调用不必重复传第二参数。
|
|
37
37
|
- 未包含 `responseType: 'blob'`:业务调用必须传第二参数 `{ responseType: 'blob' }`。
|
|
@@ -57,78 +57,9 @@ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 O
|
|
|
57
57
|
- 必须用独立 loading 状态防止重复导出,并在 `finally` 中恢复。
|
|
58
58
|
- 不得默认传 `skipBusinessError` 或 `skipErrorHandler`;只有明确需要业务自定义错误体验时才使用。
|
|
59
59
|
|
|
60
|
-
##
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
"responses": {
|
|
65
|
-
"200": {
|
|
66
|
-
"description": "导出成功",
|
|
67
|
-
"headers": {
|
|
68
|
-
"Content-Disposition": {
|
|
69
|
-
"schema": { "type": "string" }
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"content": {
|
|
73
|
-
"application/octet-stream": {
|
|
74
|
-
"schema": {
|
|
75
|
-
"type": "string",
|
|
76
|
-
"format": "binary"
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
根据文件类型可将媒体类型换成 `text/csv`、`application/pdf` 或 Excel 对应类型。跨域请求若读取不到文件名,后端还必须暴露 `Content-Disposition` 响应头。
|
|
86
|
-
|
|
87
|
-
## 标准代码骨架
|
|
88
|
-
|
|
89
|
-
### 生成方法已包含 responseType
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
import { ref } from 'vue';
|
|
93
|
-
import { handleBlobResponse } from '@yss-ui/utils';
|
|
94
|
-
import { downloadAccessSecret } from '@/api/generated/quality';
|
|
95
|
-
|
|
96
|
-
/** 微应用 mutator 返回的文件下载响应。 */
|
|
97
|
-
type BlobDownloadResponse = {
|
|
98
|
-
data: Blob;
|
|
99
|
-
headers: Record<string, string>;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
/** 文件下载进行中状态。 */
|
|
103
|
-
const downloading = ref(false);
|
|
104
|
-
|
|
105
|
-
/** 下载密钥文件。 */
|
|
106
|
-
const downloadFile = async (key: string): Promise<void> => {
|
|
107
|
-
if (downloading.value) return;
|
|
108
|
-
|
|
109
|
-
downloading.value = true;
|
|
110
|
-
try {
|
|
111
|
-
const res = (await downloadAccessSecret(key)) as unknown as BlobDownloadResponse;
|
|
112
|
-
handleBlobResponse(res.data, res.headers);
|
|
113
|
-
} catch {
|
|
114
|
-
// mutator 已展示错误;此处只阻止 reject 继续向 UI 事件传播。
|
|
115
|
-
} finally {
|
|
116
|
-
downloading.value = false;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 生成方法缺少 responseType
|
|
122
|
-
|
|
123
|
-
只改调用行,其他流程保持一致:
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
const res = (await downloadAccessSecret(key, {
|
|
127
|
-
responseType: 'blob',
|
|
128
|
-
})) as unknown as BlobDownloadResponse;
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
若 mutator 与 Orval 返回类型已经准确声明为 `{ data: Blob; headers: ... }`,直接使用生成类型,删除不必要的类型断言。
|
|
60
|
+
## 按需示例
|
|
61
|
+
|
|
62
|
+
核对二进制响应与文件名声明时,读取 [OpenAPI 二进制响应示例](references/binary-contract-example.md)。首次接入生成方法、或需判断是否补传 Blob 选项时,读取 [下载调用示例](references/download-call-example.md),按生成方法的真实签名选择分支。
|
|
132
63
|
|
|
133
64
|
## 响应约定
|
|
134
65
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
## OpenAPI 标准代码骨架
|
|
2
|
+
|
|
3
|
+
```json
|
|
4
|
+
{
|
|
5
|
+
"responses": {
|
|
6
|
+
"200": {
|
|
7
|
+
"description": "导出成功",
|
|
8
|
+
"headers": {
|
|
9
|
+
"Content-Disposition": {
|
|
10
|
+
"schema": { "type": "string" }
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"content": {
|
|
14
|
+
"application/octet-stream": {
|
|
15
|
+
"schema": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"format": "binary"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
根据文件类型可将媒体类型换成 `text/csv`、`application/pdf` 或 Excel 对应类型。跨域请求若读取不到文件名,后端还必须暴露 `Content-Disposition` 响应头。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
## 标准代码骨架
|
|
2
|
+
|
|
3
|
+
### 生成方法已包含 responseType
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { ref } from 'vue';
|
|
7
|
+
import { handleBlobResponse } from '@yss-ui/utils';
|
|
8
|
+
import { downloadAccessSecret } from '@/api/generated/quality';
|
|
9
|
+
|
|
10
|
+
/** 微应用 mutator 返回的文件下载响应。 */
|
|
11
|
+
type BlobDownloadResponse = {
|
|
12
|
+
data: Blob;
|
|
13
|
+
headers: Record<string, string>;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/** 文件下载进行中状态。 */
|
|
17
|
+
const downloading = ref(false);
|
|
18
|
+
|
|
19
|
+
/** 下载密钥文件。 */
|
|
20
|
+
const downloadFile = async (key: string): Promise<void> => {
|
|
21
|
+
if (downloading.value) return;
|
|
22
|
+
|
|
23
|
+
downloading.value = true;
|
|
24
|
+
try {
|
|
25
|
+
const res = (await downloadAccessSecret(key)) as unknown as BlobDownloadResponse;
|
|
26
|
+
handleBlobResponse(res.data, res.headers);
|
|
27
|
+
} catch {
|
|
28
|
+
// mutator 已展示错误;此处只阻止 reject 继续向 UI 事件传播。
|
|
29
|
+
} finally {
|
|
30
|
+
downloading.value = false;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 生成方法缺少 responseType
|
|
36
|
+
|
|
37
|
+
只改调用行,其他流程保持一致:
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
const res = (await downloadAccessSecret(key, {
|
|
41
|
+
responseType: 'blob',
|
|
42
|
+
})) as unknown as BlobDownloadResponse;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
若 mutator 与 Orval 返回类型已经准确声明为 `{ data: Blob; headers: ... }`,直接使用生成类型,删除不必要的类型断言。
|
|
@@ -3,7 +3,7 @@ name: formily-foundation
|
|
|
3
3
|
description: 指导 YFormily 基础表单开发;当创建或修复普通单页表单、字段校验、提交链路、查询表单布局、scope 表达式或导入边界时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# YFormily 基础表单
|
|
7
7
|
|
|
8
8
|
## 触发条件
|
|
9
9
|
|
|
@@ -28,6 +28,7 @@ description: 指导 YFormily 基础表单开发;当创建或修复普通单页
|
|
|
28
28
|
- 禁止业务层导入 `@formily/antdv`、`@formily/antd*` UI 组件。
|
|
29
29
|
- 必须使用三层结构:`FormLayout -> FormGrid -> 字段`,禁止字段直接挂在根节点或单独以 `FormGrid` 作为顶层布局。
|
|
30
30
|
- `Submit` 必须传 `onSubmit`,否则不触发表单提交。
|
|
31
|
+
- 异步保存时 `onSubmit` 返回实际保存 Promise,以等待完成并传播 reject;`emit('submit')` 只发送事件,不能代表父回调的异步结果。
|
|
31
32
|
- 标准业务列表/CRUD 查询区默认让 `YFormily` 只渲染字段;查询/重置按钮用外部 `YButton` 放在 `.xxx__search-actions`,由 hook 的 `handleSearch/handleReset` 控制分页重置和请求。
|
|
32
33
|
- `AutoButtonGroup -> Submit/Reset` 仅用于纯 Formily 表单提交,不作为业务列表查询区默认方案。
|
|
33
34
|
- 查询区禁止横向放“表单 + 按钮”后用大 `gap`、`align-items: flex-start` 或 `padding-top` 硬调位置;字段换行时按钮必须在搜索卡片右下角。
|
|
@@ -46,109 +47,9 @@ description: 指导 YFormily 基础表单开发;当创建或修复普通单页
|
|
|
46
47
|
- 当前 YFormily 的 FormItem 适配层会在运行时归一化反馈:空值优先显示必填提示,非空值移除残留必填提示,多条相关消息只拼接一次。该兜底不替代正确的 Schema 校验职责拆分。
|
|
47
48
|
- 分步需求默认走 `formily-step-flow`,不在本 skill 内给 `FormStep` 方案。
|
|
48
49
|
|
|
49
|
-
##
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<script setup lang="ts">
|
|
53
|
-
import { YFormily, type ISchema } from '@yss-ui/components';
|
|
54
|
-
|
|
55
|
-
/** 表单保存回调 Props。 */
|
|
56
|
-
interface SaveFormProps {
|
|
57
|
-
onSave: (values: Record<string, any>) => Promise<void>;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/** 表单保存回调。 */
|
|
61
|
-
const props = defineProps<SaveFormProps>();
|
|
62
|
-
|
|
63
|
-
/** 校验通过后提交表单数据。 */
|
|
64
|
-
const onSubmit = (values: Record<string, any>) => {
|
|
65
|
-
return props.onSave(values);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/** 基础表单 Schema。 */
|
|
69
|
-
const schema: ISchema = {
|
|
70
|
-
type: 'object',
|
|
71
|
-
properties: {
|
|
72
|
-
layout: {
|
|
73
|
-
type: 'void',
|
|
74
|
-
'x-component': 'FormLayout',
|
|
75
|
-
'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
|
|
76
|
-
properties: {
|
|
77
|
-
grid: {
|
|
78
|
-
type: 'void',
|
|
79
|
-
'x-component': 'FormGrid',
|
|
80
|
-
'x-component-props': { maxColumns: 3, minColumns: 1, minWidth: 260 },
|
|
81
|
-
properties: {
|
|
82
|
-
name: { type: 'string', title: '名称', 'x-decorator': 'FormItem', 'x-component': 'Input', required: true, 'x-validator': [{ required: true, whitespace: true, message: '请输入名称' }] },
|
|
83
|
-
submit: {
|
|
84
|
-
type: 'void',
|
|
85
|
-
'x-component': 'Submit',
|
|
86
|
-
'x-content': '提交',
|
|
87
|
-
'x-component-props': { onSubmit: '{{ onSubmit }}' },
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
</script>
|
|
96
|
-
|
|
97
|
-
<template>
|
|
98
|
-
<YFormily :schema="schema" :scope="{ onSubmit }" />
|
|
99
|
-
</template>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## 业务查询区布局
|
|
103
|
-
|
|
104
|
-
```vue
|
|
105
|
-
<template>
|
|
106
|
-
<YCard class="demo-page__search-card" :padding="16">
|
|
107
|
-
<div class="demo-page__search-content">
|
|
108
|
-
<div class="demo-page__search-form">
|
|
109
|
-
<YFormily v-model="queryModel" :schema="searchSchema" />
|
|
110
|
-
</div>
|
|
111
|
-
<div class="demo-page__search-actions">
|
|
112
|
-
<YButton type="primary" @click="handleSearch">查询</YButton>
|
|
113
|
-
<YButton @click="handleReset">重置</YButton>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
</YCard>
|
|
117
|
-
</template>
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
```less
|
|
121
|
-
.demo-page {
|
|
122
|
-
&__search-content {
|
|
123
|
-
display: flex;
|
|
124
|
-
flex-direction: column;
|
|
125
|
-
align-items: stretch;
|
|
126
|
-
gap: 16px;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
&__search-form {
|
|
130
|
-
width: 100%;
|
|
131
|
-
min-width: 0;
|
|
132
|
-
|
|
133
|
-
:deep(.ant-formily-form-item) {
|
|
134
|
-
margin-bottom: 0;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
:deep(.ant-formily-form-grid) {
|
|
138
|
-
width: 100%;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
&__search-actions {
|
|
143
|
-
display: flex;
|
|
144
|
-
width: 100%;
|
|
145
|
-
flex: 0 0 auto;
|
|
146
|
-
align-items: center;
|
|
147
|
-
justify-content: flex-end;
|
|
148
|
-
gap: 12px;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
50
|
+
## 按需示例
|
|
51
|
+
|
|
52
|
+
同步事件提交读取 [基础表单与提交](references/examples.md#1-基础表单与提交);等待父回调完成的异步保存读取 [异步保存回调](references/async-save-example.md)。Orval 提交的 loading、reject 与错误提示读取 [错误处理](references/examples.md#8-orval-提交与错误处理)。实现业务列表查询区或排查窄屏按钮位置时,读取 [业务查询区布局](references/query-layout.md)。联动、模式和分步示例只在对应条件命中时读取,并服从实际命中的专项 Skill。
|
|
152
53
|
|
|
153
54
|
## 交付检查清单
|
|
154
55
|
|
|
@@ -173,4 +74,4 @@ const schema: ISchema = {
|
|
|
173
74
|
|
|
174
75
|
## 参考
|
|
175
76
|
|
|
176
|
-
|
|
77
|
+
[示例库目录](references/examples.md#目录)按具体场景定位,不要求每次读取全部示例。
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# 异步保存回调
|
|
2
|
+
|
|
3
|
+
等待父回调完成的保存场景读取本例。`onSubmit` 必须返回实际保存 Promise;发送 `emit` 事件只返回 void,不能等待父组件的异步请求。
|
|
4
|
+
|
|
5
|
+
Orval 请求失败沿用 [错误处理](examples.md#8-orval-提交与错误处理),由 mutator 统一提示,调用方恢复 loading 并传播 reject。
|
|
6
|
+
|
|
7
|
+
```vue
|
|
8
|
+
<script setup lang="ts">
|
|
9
|
+
import { YFormily, type ISchema } from '@yss-ui/components';
|
|
10
|
+
|
|
11
|
+
/** 表单保存回调 Props。 */
|
|
12
|
+
interface SaveFormProps {
|
|
13
|
+
onSave: (values: Record<string, any>) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** 表单保存回调。 */
|
|
17
|
+
const props = defineProps<SaveFormProps>();
|
|
18
|
+
|
|
19
|
+
/** 校验通过后提交表单数据。 */
|
|
20
|
+
const onSubmit = (values: Record<string, any>) => {
|
|
21
|
+
return props.onSave(values);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** 基础表单 Schema。 */
|
|
25
|
+
const schema: ISchema = {
|
|
26
|
+
type: 'object',
|
|
27
|
+
properties: {
|
|
28
|
+
layout: {
|
|
29
|
+
type: 'void',
|
|
30
|
+
'x-component': 'FormLayout',
|
|
31
|
+
'x-component-props': { layout: 'horizontal', labelWidth: 120, labelAlign: 'right' },
|
|
32
|
+
properties: {
|
|
33
|
+
grid: {
|
|
34
|
+
type: 'void',
|
|
35
|
+
'x-component': 'FormGrid',
|
|
36
|
+
'x-component-props': { maxColumns: 3, minColumns: 1, minWidth: 260 },
|
|
37
|
+
properties: {
|
|
38
|
+
name: { type: 'string', title: '名称', 'x-decorator': 'FormItem', 'x-component': 'Input', required: true, 'x-validator': [{ required: true, whitespace: true, message: '请输入名称' }] },
|
|
39
|
+
submit: {
|
|
40
|
+
type: 'void',
|
|
41
|
+
'x-component': 'Submit',
|
|
42
|
+
'x-content': '提交',
|
|
43
|
+
'x-component-props': { onSubmit: '{{ onSubmit }}' },
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
<YFormily :schema="schema" :scope="{ onSubmit }" />
|
|
55
|
+
</template>
|
|
56
|
+
```
|
|
57
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
## 业务查询区布局
|
|
2
|
+
|
|
3
|
+
```vue
|
|
4
|
+
<template>
|
|
5
|
+
<YCard class="demo-page__search-card" :padding="16">
|
|
6
|
+
<div class="demo-page__search-content">
|
|
7
|
+
<div class="demo-page__search-form">
|
|
8
|
+
<YFormily v-model="queryModel" :schema="searchSchema" />
|
|
9
|
+
</div>
|
|
10
|
+
<div class="demo-page__search-actions">
|
|
11
|
+
<YButton type="primary" @click="handleSearch">查询</YButton>
|
|
12
|
+
<YButton @click="handleReset">重置</YButton>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</YCard>
|
|
16
|
+
</template>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```less
|
|
20
|
+
.demo-page {
|
|
21
|
+
&__search-content {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
align-items: stretch;
|
|
25
|
+
gap: 16px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__search-form {
|
|
29
|
+
width: 100%;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
|
|
32
|
+
:deep(.ant-formily-form-item) {
|
|
33
|
+
margin-bottom: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:deep(.ant-formily-form-grid) {
|
|
37
|
+
width: 100%;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&__search-actions {
|
|
42
|
+
display: flex;
|
|
43
|
+
width: 100%;
|
|
44
|
+
flex: 0 0 auto;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: flex-end;
|
|
47
|
+
gap: 12px;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|