create-yss-spec 2.1.10 → 2.1.11
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 +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/ask-matt/SKILL.md +8 -2
- package/template/.agents/skills/code-review/SKILL.md +6 -4
- package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.agents/skills/implement/SKILL.md +1 -1
- package/template/.agents/skills/to-spec/SKILL.md +1 -1
- package/template/.agents/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.agents/skills/yss-application/SKILL.md +52 -0
- package/template/.agents/skills/yss-application/agents/openai.yaml +5 -0
- package/template/{.claude/skills/yss-backend-scaffold-application/SKILL.md → .agents/skills/yss-application/references/application-layer-guide.md} +0 -7
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.agents/skills/yss-domain/SKILL.md +5 -0
- package/template/{.claude/skills/yss-backend-scaffold-domain/SKILL.md → .agents/skills/yss-domain/references/domain-layer-guide.md} +0 -7
- package/template/.agents/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.agents/skills/yss-repository/SKILL.md +5 -0
- package/template/{.codex/skills/yss-backend-scaffold-infrastructure/SKILL.md → .agents/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
- package/template/.agents/skills/yss-router/references/boundaries.md +2 -6
- package/template/.agents/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.agents/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.agents/skills/yss-web-controller/SKILL.md +1 -0
- package/template/.agents/skills/{yss-backend-scaffold-web/SKILL.md → yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
- package/template/.claude/skills/ask-matt/SKILL.md +8 -2
- package/template/.claude/skills/code-review/SKILL.md +6 -4
- package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.claude/skills/implement/SKILL.md +1 -1
- package/template/.claude/skills/to-spec/SKILL.md +1 -1
- package/template/.claude/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.claude/skills/yss-application/SKILL.md +52 -0
- package/template/.claude/skills/yss-application/agents/openai.yaml +5 -0
- package/template/{.codex/skills/yss-backend-scaffold-application/SKILL.md → .claude/skills/yss-application/references/application-layer-guide.md} +0 -7
- package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.claude/skills/yss-domain/SKILL.md +5 -0
- package/template/{.agents/skills/yss-backend-scaffold-domain/SKILL.md → .claude/skills/yss-domain/references/domain-layer-guide.md} +0 -7
- package/template/.claude/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.claude/skills/yss-repository/SKILL.md +5 -0
- package/template/.claude/skills/{yss-backend-scaffold-infrastructure/SKILL.md → yss-repository/references/infrastructure-layer-guide.md} +0 -7
- package/template/.claude/skills/yss-router/references/boundaries.md +2 -6
- package/template/.claude/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.claude/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.claude/skills/yss-web-controller/SKILL.md +1 -0
- package/template/{.codex/skills/yss-backend-scaffold-web/SKILL.md → .claude/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
- package/template/.codex/skills/ask-matt/SKILL.md +8 -2
- package/template/.codex/skills/code-review/SKILL.md +6 -4
- package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.codex/skills/implement/SKILL.md +1 -1
- package/template/.codex/skills/to-spec/SKILL.md +1 -1
- package/template/.codex/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.codex/skills/yss-application/SKILL.md +52 -0
- package/template/.codex/skills/yss-application/agents/openai.yaml +5 -0
- package/template/{.agents/skills/yss-backend-scaffold-application/SKILL.md → .codex/skills/yss-application/references/application-layer-guide.md} +0 -7
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.codex/skills/yss-domain/SKILL.md +5 -0
- package/template/.codex/skills/{yss-backend-scaffold-domain/SKILL.md → yss-domain/references/domain-layer-guide.md} +0 -7
- package/template/.codex/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.codex/skills/yss-repository/SKILL.md +5 -0
- package/template/{.hermes/skills/yss-backend-scaffold-infrastructure/SKILL.md → .codex/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
- package/template/.codex/skills/yss-router/references/boundaries.md +2 -6
- package/template/.codex/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.codex/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.codex/skills/yss-web-controller/SKILL.md +1 -0
- package/template/{.hermes/skills/yss-backend-scaffold-web/SKILL.md → .codex/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
- package/template/.cursor/environment.json +5 -0
- package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +51 -0
- package/template/.cursor/skills/alibaba-java-code-style/agents/openai.yaml +4 -0
- package/template/.cursor/skills/alibaba-java-code-style/references/database-engineering-design.md +147 -0
- package/template/.cursor/skills/alibaba-java-code-style/references/java-programming.md +178 -0
- package/template/.cursor/skills/alibaba-java-code-style/references/reliability-test-security.md +89 -0
- package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +55 -0
- package/template/.cursor/skills/ask-matt/SKILL.md +95 -0
- package/template/.cursor/skills/ask-matt/agents/openai.yaml +5 -0
- package/template/.cursor/skills/code-review/SKILL.md +117 -0
- package/template/.cursor/skills/code-review/agents/openai.yaml +3 -0
- package/template/.cursor/skills/codebase-design/DEEPENING.md +37 -0
- package/template/.cursor/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/template/.cursor/skills/codebase-design/SKILL.md +114 -0
- package/template/.cursor/skills/codebase-design/agents/openai.yaml +3 -0
- package/template/.cursor/skills/competitive-intelligence/SKILL.md +94 -0
- package/template/.cursor/skills/cross-repo-implementation-routing/SKILL.md +51 -0
- package/template/.cursor/skills/diagnosing-bugs/SKILL.md +138 -0
- package/template/.cursor/skills/diagnosing-bugs/agents/openai.yaml +3 -0
- package/template/.cursor/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
- package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +185 -0
- package/template/.cursor/skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
- package/template/.cursor/skills/domain-modeling/SKILL.md +74 -0
- package/template/.cursor/skills/domain-modeling/agents/openai.yaml +3 -0
- package/template/.cursor/skills/grill-me/SKILL.md +7 -0
- package/template/.cursor/skills/grill-me/agents/openai.yaml +5 -0
- package/template/.cursor/skills/grill-with-docs/SKILL.md +19 -0
- package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +5 -0
- package/template/.cursor/skills/grilling/SKILL.md +28 -0
- package/template/.cursor/skills/grilling/agents/openai.yaml +3 -0
- package/template/.cursor/skills/handoff/SKILL.md +16 -0
- package/template/.cursor/skills/handoff/agents/openai.yaml +5 -0
- package/template/.cursor/skills/high-fidelity-html-prototype/SKILL.md +106 -0
- package/template/.cursor/skills/high-fidelity-html-prototype/agents/openai.yaml +5 -0
- package/template/.cursor/skills/implement/SKILL.md +15 -0
- package/template/.cursor/skills/implement/agents/openai.yaml +5 -0
- package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +50 -0
- package/template/.cursor/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +71 -0
- package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
- package/template/.cursor/skills/lombok/SKILL.md +351 -0
- package/template/.cursor/skills/loop-me/SKILL.md +32 -0
- package/template/.cursor/skills/loop-me/agents/openai.yaml +5 -0
- package/template/.cursor/skills/maintaining-skills/SKILL.md +25 -0
- package/template/.cursor/skills/mapstruct/SKILL.md +334 -0
- package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +118 -0
- package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +3 -0
- package/template/.cursor/skills/prototype/LOGIC.md +67 -0
- package/template/.cursor/skills/prototype/SKILL.md +26 -0
- package/template/.cursor/skills/prototype/UI.md +112 -0
- package/template/.cursor/skills/prototype/agents/openai.yaml +3 -0
- package/template/.cursor/skills/prototype-review/SKILL.md +74 -0
- package/template/.cursor/skills/prototype-review/agents/openai.yaml +4 -0
- package/template/.cursor/skills/research/SKILL.md +12 -0
- package/template/.cursor/skills/research/agents/openai.yaml +3 -0
- package/template/.cursor/skills/resolving-merge-conflicts/SKILL.md +14 -0
- package/template/.cursor/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
- package/template/.cursor/skills/scaffold-exercises/SKILL.md +106 -0
- package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +3 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +125 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +51 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-github.md +45 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-local.md +66 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/template/.cursor/skills/setup-pre-commit/SKILL.md +91 -0
- package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +3 -0
- package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +102 -0
- package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +5 -0
- package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
- package/template/.cursor/skills/tdd/SKILL.md +38 -0
- package/template/.cursor/skills/tdd/agents/openai.yaml +3 -0
- package/template/.cursor/skills/tdd/mocking.md +59 -0
- package/template/.cursor/skills/tdd/tests.md +77 -0
- package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +35 -0
- package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/template/.cursor/skills/teach/MISSION-FORMAT.md +31 -0
- package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +32 -0
- package/template/.cursor/skills/teach/SKILL.md +140 -0
- package/template/.cursor/skills/teach/agents/openai.yaml +5 -0
- package/template/.cursor/skills/to-questionnaire/SKILL.md +53 -0
- package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +5 -0
- package/template/.cursor/skills/to-spec/SKILL.md +75 -0
- package/template/.cursor/skills/to-spec/agents/openai.yaml +5 -0
- package/template/.cursor/skills/to-tickets/SKILL.md +105 -0
- package/template/.cursor/skills/to-tickets/agents/openai.yaml +5 -0
- package/template/.cursor/skills/triage/AGENT-BRIEF.md +207 -0
- package/template/.cursor/skills/triage/OUT-OF-SCOPE.md +105 -0
- package/template/.cursor/skills/triage/SKILL.md +112 -0
- package/template/.cursor/skills/triage/agents/openai.yaml +5 -0
- package/template/.cursor/skills/using-git-worktrees/SKILL.md +202 -0
- package/template/.cursor/skills/wait-what/SKILL.md +7 -0
- package/template/.cursor/skills/wait-what/agents/openai.yaml +5 -0
- package/template/.cursor/skills/wayfinder/SKILL.md +128 -0
- package/template/.cursor/skills/wayfinder/agents/openai.yaml +5 -0
- package/template/.cursor/skills/writing-beats/SKILL.md +67 -0
- package/template/.cursor/skills/writing-beats/agents/openai.yaml +5 -0
- package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +22 -0
- package/template/.cursor/skills/writing-for-agents/SKILL.md +81 -0
- package/template/.cursor/skills/writing-for-agents/agents/openai.yaml +3 -0
- package/template/.cursor/skills/writing-fragments/SKILL.md +79 -0
- package/template/.cursor/skills/writing-fragments/agents/openai.yaml +5 -0
- package/template/.cursor/skills/writing-shape/SKILL.md +79 -0
- package/template/.cursor/skills/writing-shape/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-api-integration/SKILL.md +429 -0
- package/template/.cursor/skills/yss-api-integration/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-application/SKILL.md +52 -0
- package/template/.cursor/skills/yss-application/agents/openai.yaml +5 -0
- package/template/{.hermes/skills/yss-backend-scaffold-application/SKILL.md → .cursor/skills/yss-application/references/application-layer-guide.md} +0 -7
- package/template/.cursor/skills/yss-audit-log/SKILL.md +67 -0
- package/template/.cursor/skills/yss-audit-log/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-audit-log/assets/AuditLogAspect.java +262 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +37 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +18 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditPublishService.java +69 -0
- package/template/.cursor/skills/yss-audit-log/references/README.md +69 -0
- package/template/.cursor/skills/yss-audit-log/references/source-index.md +43 -0
- package/template/.cursor/skills/yss-cache/SKILL.md +44 -0
- package/template/.cursor/skills/yss-cache/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-cache/references/annotations.md +39 -0
- package/template/.cursor/skills/yss-cache/references/architecture.md +25 -0
- package/template/.cursor/skills/yss-cache/references/configuration.md +34 -0
- package/template/.cursor/skills/yss-cache/references/redis-fallback.md +23 -0
- package/template/.cursor/skills/yss-cache/references/redis-topology.md +62 -0
- package/template/.cursor/skills/yss-cache/references/serialization.md +17 -0
- package/template/.cursor/skills/yss-cache/references/source-index.md +67 -0
- package/template/.cursor/skills/yss-cache/references/troubleshooting.md +33 -0
- package/template/.cursor/skills/yss-cache/references/verification.md +34 -0
- package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
- package/template/.cursor/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
- package/template/.cursor/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
- package/template/.cursor/skills/yss-components/SKILL.md +386 -0
- package/template/.cursor/skills/yss-components/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-components/references/frontend-docs.md +9 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +96 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +37 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +15 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/parent-pom.xml.template +84 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +19 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +43 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +50 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +36 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +34 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +95 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +44 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +1 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +3 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +128 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +117 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +18 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +316 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +188 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +194 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +420 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +199 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +8 -0
- package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +8 -0
- package/template/{.agents/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +8 -0
- package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +138 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +8 -0
- package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +225 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +32 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +26 -0
- package/template/.cursor/skills/yss-design-system/SKILL.md +99 -0
- package/template/.cursor/skills/yss-design-system/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-design-system/references/design-system.md +237 -0
- package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.mjs +36 -0
- package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +12 -0
- package/template/.cursor/skills/yss-distributed-id/SKILL.md +69 -0
- package/template/.cursor/skills/yss-distributed-id/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-distributed-id/assets/AutoIdInterceptor.java +246 -0
- package/template/.cursor/skills/yss-distributed-id/assets/EnableDistributedId.java +25 -0
- package/template/.cursor/skills/yss-distributed-id/assets/LeafConf.java +36 -0
- package/template/.cursor/skills/yss-distributed-id/references/README.md +51 -0
- package/template/.cursor/skills/yss-distributed-id/references/source-index.md +86 -0
- package/template/.cursor/skills/yss-domain/SKILL.md +68 -0
- package/template/.cursor/skills/yss-domain/agents/openai.yaml +5 -0
- package/template/{.hermes/skills/yss-backend-scaffold-domain/SKILL.md → .cursor/skills/yss-domain/references/domain-layer-guide.md} +0 -7
- package/template/.cursor/skills/yss-dto/SKILL.md +86 -0
- package/template/.cursor/skills/yss-dto/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-dto/assets/CommandDTO.java +8 -0
- package/template/.cursor/skills/yss-dto/assets/PageQuery.java +133 -0
- package/template/.cursor/skills/yss-dto/assets/QueryDTO.java +6 -0
- package/template/.cursor/skills/yss-dto/assets/Result.java +105 -0
- package/template/.cursor/skills/yss-dto/references/README.md +67 -0
- package/template/.cursor/skills/yss-dto/references/openapi-wire-profile.yaml +181 -0
- package/template/.cursor/skills/yss-dto/references/source-index.md +55 -0
- package/template/.cursor/skills/yss-excel-mvc/SKILL.md +66 -0
- package/template/.cursor/skills/yss-excel-mvc/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-excel-mvc/assets/ExcelDynamicData.java +66 -0
- package/template/.cursor/skills/yss-excel-mvc/assets/RequestExcel.java +33 -0
- package/template/.cursor/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +272 -0
- package/template/.cursor/skills/yss-excel-mvc/assets/ResponseExcel.java +46 -0
- package/template/.cursor/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +154 -0
- package/template/.cursor/skills/yss-excel-mvc/references/README.md +5 -0
- package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +74 -0
- package/template/.cursor/skills/yss-exception/SKILL.md +55 -0
- package/template/.cursor/skills/yss-exception/agents/openai.yaml +4 -0
- package/template/{.agents/skills/yss-log → .cursor/skills/yss-exception}/references/source-index.md +8 -7
- package/template/.cursor/skills/yss-formily/SKILL.md +304 -0
- package/template/.cursor/skills/yss-formily/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-formily/references/examples.md +65 -0
- package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +189 -0
- package/template/.cursor/skills/yss-formily-schema-generator/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +111 -0
- package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +1219 -0
- package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +240 -0
- package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +76 -0
- package/template/.cursor/skills/yss-hook/SKILL.md +200 -0
- package/template/.cursor/skills/yss-hook/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-hook/references/frontend-docs.md +10 -0
- package/template/.cursor/skills/yss-microapp-commit/SKILL.md +201 -0
- package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +204 -0
- package/template/.cursor/skills/yss-mybatis/SKILL.md +77 -0
- package/template/.cursor/skills/yss-mybatis/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-mybatis/assets/BaseRepository.java +112 -0
- package/template/.cursor/skills/yss-mybatis/assets/EntityQueryAspect.java +37 -0
- package/template/.cursor/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +18 -0
- package/template/.cursor/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +18 -0
- package/template/.cursor/skills/yss-mybatis/references/README.md +57 -0
- package/template/.cursor/skills/yss-mybatis/references/source-index.md +93 -0
- package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +82 -0
- package/template/.cursor/skills/yss-openapi-governance/SKILL.md +130 -0
- package/template/.cursor/skills/yss-openapi-governance/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-page-module-development/SKILL.md +153 -0
- package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +32 -0
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +158 -0
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +188 -0
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +76 -0
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +128 -0
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +144 -0
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +141 -0
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +175 -0
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +83 -0
- package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +11 -0
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +49 -0
- package/template/.cursor/skills/yss-product-lifecycle/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +32 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +122 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +521 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +103 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +107 -0
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.cursor/skills/yss-repository/SKILL.md +76 -0
- package/template/.cursor/skills/yss-repository/agents/openai.yaml +5 -0
- package/template/{.agents/skills/yss-backend-scaffold-infrastructure/SKILL.md → .cursor/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
- package/template/.cursor/skills/yss-resilience4j/SKILL.md +46 -0
- package/template/.cursor/skills/yss-resilience4j/agents/openai.yaml +4 -0
- package/template/{.hermes/skills/yss-jdbc → .cursor/skills/yss-resilience4j}/references/source-index.md +6 -6
- package/template/.cursor/skills/yss-router/SKILL.md +49 -0
- package/template/.cursor/skills/yss-router/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-router/references/boundaries.md +50 -0
- package/template/.cursor/skills/yss-router/references/router-contract.yaml +245 -0
- package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +113 -0
- package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +62 -0
- package/template/.cursor/skills/yss-security-algorithm/SKILL.md +52 -0
- package/template/.cursor/skills/yss-security-algorithm/agents/openai.yaml +4 -0
- package/template/{.agents/skills/yss-jdbc → .cursor/skills/yss-security-algorithm}/references/source-index.md +7 -5
- package/template/.cursor/skills/yss-source-index/SKILL.md +63 -0
- package/template/.cursor/skills/yss-source-index/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-source-index/references/source-location.md +18 -0
- package/template/.cursor/skills/yss-source-index/references/source-map-config.md +30 -0
- package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +15 -0
- package/template/.cursor/skills/yss-ui/SKILL.md +169 -0
- package/template/.cursor/skills/yss-ui/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-ui/assets/demos/button/auth-basic.vue +24 -0
- package/template/.cursor/skills/yss-ui/assets/demos/button/auth-dropdown.vue +29 -0
- package/template/.cursor/skills/yss-ui/assets/demos/button/permission.vue +10 -0
- package/template/.cursor/skills/yss-ui/assets/demos/button/size.vue +12 -0
- package/template/.cursor/skills/yss-ui/assets/demos/button/states.vue +12 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/basic/index.vue +54 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/basic/style.less +41 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/cover/index.vue +25 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +122 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/style.less +191 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/index.vue +260 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/style.less +124 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +61 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +72 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +70 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/style.less +232 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/loading/index.vue +19 -0
- package/template/.cursor/skills/yss-ui/assets/demos/card/meta/index.vue +19 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +44 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +18 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +100 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +51 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +29 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +23 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +35 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +25 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +24 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +7 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +75 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +23 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +22 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +138 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +22 -0
- package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +134 -0
- package/template/.cursor/skills/yss-ui/assets/demos/cron/basic/index.vue +54 -0
- package/template/.cursor/skills/yss-ui/assets/demos/cron/select/index.vue +145 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/basic.vue +30 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +49 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/candlestick.vue +30 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/dark.vue +40 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/expose-methods.vue +97 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/funnel.vue +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/gauge.vue +25 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/line.vue +24 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/mix.vue +33 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/pie.vue +34 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/radar.vue +38 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/ring-segment.vue +77 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/scatter.vue +23 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-area.vue +55 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +52 -0
- package/template/.cursor/skills/yss-ui/assets/demos/echarts/treemap.vue +30 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +259 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +33 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +201 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +45 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/basic/index.vue +104 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +82 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +114 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +94 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/drag/index.vue +125 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/filter/index.vue +107 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +181 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +131 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/required/index.vue +95 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +220 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +165 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +184 -0
- package/template/.cursor/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +107 -0
- package/template/.cursor/skills/yss-ui/assets/demos/file-import/basic.vue +54 -0
- package/template/.cursor/skills/yss-ui/assets/demos/file-import/formily.vue +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/file-import/multiple.vue +33 -0
- package/template/.cursor/skills/yss-ui/assets/demos/file-import/result-slot.vue +30 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/actions.vue +61 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/align.vue +56 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/async-validate.vue +69 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/basic.vue +317 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/collapse.vue +104 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/custom-component.vue +75 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/disabled.vue +71 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic-array.vue +74 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic.vue +59 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/effects.vue +117 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/events-inline.vue +82 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/events-scope.vue +101 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/grid.vue +71 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/group.vue +102 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/helper-slot.vue +50 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/label-tip.vue +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage-multi.vue +127 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage.vue +78 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/modes.vue +72 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/remote-enum.vue +88 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/slot.vue +54 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/steps.vue +135 -0
- package/template/.cursor/skills/yss-ui/assets/demos/formily/submit-failed.vue +72 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/basic.vue +40 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/diff-basic.vue +143 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/fullscreen.vue +84 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +586 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/log-viewer.vue +260 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +199 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/monaco.vue +66 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/readonly.vue +20 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/resizable.vue +22 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/sql-schema.vue +20 -0
- package/template/.cursor/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +48 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +18 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +60 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +39 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +158 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +88 -0
- package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +73 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/action/index.vue +83 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/action/style.less +3 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/action-auth/index.vue +41 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/index.vue +62 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/style.less +36 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +205 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/basic/index.vue +89 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/basic/style.less +28 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +236 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +141 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/style.less +48 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/drag/index.vue +42 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/expand/action-expand.vue +142 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/expand/index.vue +35 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-async/index.vue +93 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-auto/index.vue +99 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-custom/index.vue +72 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-local/index.vue +112 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +142 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +129 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +186 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/index.vue +73 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/index.vue +86 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/style.less +3 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/index.vue +29 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/style.less +9 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +183 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/index.vue +17 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/style.less +3 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +106 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +24 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/renderers/index.vue +64 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +88 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +9 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/index.vue +57 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/style.less +9 -0
- package/template/.cursor/skills/yss-ui/assets/demos/table/transform/index.vue +32 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/basic-left/index.vue +124 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +31 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +86 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +76 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/resource-list/index.vue +41 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +156 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +36 -0
- package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +34 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/button.md +79 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/card.md +162 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/conditionBuilder.md +114 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/cron.md +77 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/echarts.md +110 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/editTable.md +212 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/fileImport.md +85 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/formily.md +370 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/monaco.md +369 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/sheet.md +169 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/split-pane.md +45 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/table.md +398 -0
- package/template/.cursor/skills/yss-ui/assets/docs/components/tree.md +102 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +166 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/index.md +132 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/installation.md +97 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/jsp.md +227 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +295 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +149 -0
- package/template/.cursor/skills/yss-ui/assets/docs/guide/release-workflow.md +251 -0
- package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-table-height.md +101 -0
- package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-tree-height.md +115 -0
- package/template/.cursor/skills/yss-ui/assets/docs/hooks/useFullscreen.md +130 -0
- package/template/.cursor/skills/yss-ui/assets/docs/hooks/useLoading.md +97 -0
- package/template/.cursor/skills/yss-ui/assets/docs/root/resources.md +18 -0
- package/template/.cursor/skills/yss-ui/assets/keyword-index.json +53 -0
- package/template/.cursor/skills/yss-ui/assets/keyword-index.md +47 -0
- package/template/.cursor/skills/yss-ui/assets/reference-index.json +55 -0
- package/template/.cursor/skills/yss-ui/assets/reference-index.md +74 -0
- package/template/.cursor/skills/yss-ui/assets/scenario-index.json +50 -0
- package/template/.cursor/skills/yss-ui/assets/scenario-index.md +41 -0
- package/template/.cursor/skills/yss-ui/references/accessibility.md +23 -0
- package/template/.cursor/skills/yss-ui/references/antdv-compatibility.md +39 -0
- package/template/.cursor/skills/yss-ui/references/checklist.md +110 -0
- package/template/.cursor/skills/yss-ui/references/component-routing.md +31 -0
- package/template/.cursor/skills/yss-ui/references/frontend-docs.md +11 -0
- package/template/.cursor/skills/yss-ui/references/migration-antdv-to-yss.md +20 -0
- package/template/.cursor/skills/yss-ui/references/quick-recipes.md +280 -0
- package/template/.cursor/skills/yss-ui/references/theme-locale-overlay.md +25 -0
- package/template/.cursor/skills/yss-ui/references/verification.md +20 -0
- package/template/.cursor/skills/yss-up-springboot3/SKILL.md +40 -0
- package/template/.cursor/skills/yss-up-springboot3/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-use-table-height/SKILL.md +340 -0
- package/template/.cursor/skills/yss-use-table-height/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-use-table-height/references/frontend-docs.md +9 -0
- package/template/.cursor/skills/yss-use-tree-height/SKILL.md +431 -0
- package/template/.cursor/skills/yss-use-tree-height/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-use-tree-height/references/frontend-docs.md +9 -0
- package/template/.cursor/skills/yss-userinfo/SKILL.md +49 -0
- package/template/.cursor/skills/yss-userinfo/agents/openai.yaml +4 -0
- package/template/{.codex/skills/yss-jdbc → .cursor/skills/yss-userinfo}/references/source-index.md +6 -5
- package/template/.cursor/skills/yss-validation/SKILL.md +56 -0
- package/template/.cursor/skills/yss-validation/agents/openai.yaml +4 -0
- package/template/{.claude/skills/yss-jdbc → .cursor/skills/yss-validation}/references/source-index.md +6 -6
- package/template/.cursor/skills/yss-web-controller/SKILL.md +78 -0
- package/template/.cursor/skills/yss-web-controller/agents/openai.yaml +5 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/Controller.java.template +73 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/WebConvertor.java.template +23 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/AddCmd.java.template +23 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/UpdateCmd.java.template +23 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/query/PageQuery.java.template +21 -0
- package/template/.cursor/skills/yss-web-controller/assets/templates/domain/vo/VO.java.template +20 -0
- package/template/{.claude/skills/yss-backend-scaffold-web/SKILL.md → .cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +77 -0
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +19 -0
- package/template/.hermes/skills/ask-matt/SKILL.md +8 -2
- package/template/.hermes/skills/code-review/SKILL.md +6 -4
- package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.hermes/skills/implement/SKILL.md +1 -1
- package/template/.hermes/skills/to-spec/SKILL.md +1 -1
- package/template/.hermes/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.hermes/skills/yss-application/SKILL.md +52 -0
- package/template/.hermes/skills/yss-application/agents/openai.yaml +5 -0
- package/template/.hermes/skills/yss-application/references/application-layer-guide.md +132 -0
- package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.hermes/skills/yss-domain/SKILL.md +5 -0
- package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +274 -0
- package/template/.hermes/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.hermes/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.hermes/skills/yss-repository/SKILL.md +5 -0
- package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
- package/template/.hermes/skills/yss-router/references/boundaries.md +2 -6
- package/template/.hermes/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.hermes/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.hermes/skills/yss-web-controller/SKILL.md +1 -0
- package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
- package/template/.pi/skills/ask-matt/SKILL.md +8 -2
- package/template/.pi/skills/code-review/SKILL.md +6 -4
- package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.pi/skills/implement/SKILL.md +1 -1
- package/template/.pi/skills/to-spec/SKILL.md +1 -1
- package/template/.pi/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.pi/skills/yss-application/SKILL.md +52 -0
- package/template/.pi/skills/yss-application/agents/openai.yaml +5 -0
- package/template/.pi/skills/yss-application/references/application-layer-guide.md +132 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.pi/skills/yss-domain/SKILL.md +5 -0
- package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +274 -0
- package/template/.pi/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.pi/skills/yss-repository/SKILL.md +5 -0
- package/template/.pi/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
- package/template/.pi/skills/yss-router/references/boundaries.md +2 -6
- package/template/.pi/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.pi/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.pi/skills/yss-web-controller/SKILL.md +1 -0
- package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
- package/template/.qoder/skills/ask-matt/SKILL.md +8 -2
- package/template/.qoder/skills/code-review/SKILL.md +6 -4
- package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.qoder/skills/implement/SKILL.md +1 -1
- package/template/.qoder/skills/to-spec/SKILL.md +1 -1
- package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.qoder/skills/yss-application/SKILL.md +52 -0
- package/template/.qoder/skills/yss-application/agents/openai.yaml +5 -0
- package/template/.qoder/skills/yss-application/references/application-layer-guide.md +132 -0
- package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.qoder/skills/yss-domain/SKILL.md +5 -0
- package/template/.qoder/skills/yss-domain/references/domain-layer-guide.md +274 -0
- package/template/.qoder/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.qoder/skills/yss-repository/SKILL.md +5 -0
- package/template/.qoder/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
- package/template/.qoder/skills/yss-router/references/boundaries.md +2 -6
- package/template/.qoder/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.qoder/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.qoder/skills/yss-web-controller/SKILL.md +1 -0
- package/template/.qoder/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
- package/template/.trae/skills/ask-matt/SKILL.md +8 -2
- package/template/.trae/skills/code-review/SKILL.md +6 -4
- package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +1 -1
- package/template/.trae/skills/implement/SKILL.md +1 -1
- package/template/.trae/skills/to-spec/SKILL.md +1 -1
- package/template/.trae/skills/yss-api-integration/SKILL.md +2 -0
- package/template/.trae/skills/yss-application/SKILL.md +52 -0
- package/template/.trae/skills/yss-application/agents/openai.yaml +5 -0
- package/template/.trae/skills/yss-application/references/application-layer-guide.md +132 -0
- package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
- package/template/.trae/skills/yss-domain/SKILL.md +5 -0
- package/template/.trae/skills/yss-domain/references/domain-layer-guide.md +274 -0
- package/template/.trae/skills/yss-microapp-commit/SKILL.md +2 -0
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +1 -1
- package/template/.trae/skills/yss-repository/SKILL.md +5 -0
- package/template/.trae/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
- package/template/.trae/skills/yss-router/references/boundaries.md +2 -6
- package/template/.trae/skills/yss-router/references/router-contract.yaml +8 -12
- package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -4
- package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.trae/skills/yss-web-controller/SKILL.md +1 -0
- package/template/.trae/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
- package/template/AGENTS.md +14 -1
- package/template/CONTEXT.md +1 -3
- package/template/README.md +2 -1
- package/template/docs/agents/README.md +6 -4
- package/template/docs/agents/skills-maintenance.md +3 -1
- package/template/docs/agents/yss-skill-registry.yaml +498 -0
- package/template/docs/architecture/templates/engineering-baseline-review-template.md +2 -2
- package/template/docs/templates/build-architecture-checklist-template.md +5 -5
- package/template/docs/templates/implementation-routing-template.md +5 -5
- package/template/docs/templates/review-report-template.md +3 -3
- package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
- package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -1
- package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -2
- package/template/scripts/lib/skill-registry.mjs +198 -0
- package/template/scripts/lib/skill-supply-chain.mjs +7 -4
- package/template/scripts/verify-skill-registry +10 -0
- package/template/scripts/verify-template +3 -2
- package/template/skills-lock.json +101 -141
- package/template/yss-public-skills.json +2 -16
- package/template.snapshot.json +4 -4
- package/template/.agents/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.agents/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.agents/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.agents/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.agents/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.agents/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.agents/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.agents/skills/yss-jdbc/references/README.md +0 -55
- package/template/.agents/skills/yss-log/SKILL.md +0 -48
- package/template/.agents/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.agents/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.claude/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.claude/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.claude/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.claude/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.claude/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.claude/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.claude/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.claude/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.claude/skills/yss-jdbc/references/README.md +0 -55
- package/template/.claude/skills/yss-log/SKILL.md +0 -48
- package/template/.claude/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-log/references/source-index.md +0 -34
- package/template/.claude/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.claude/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.codex/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.codex/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.codex/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.codex/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.codex/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.codex/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.codex/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.codex/skills/yss-jdbc/references/README.md +0 -55
- package/template/.codex/skills/yss-log/SKILL.md +0 -48
- package/template/.codex/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-log/references/source-index.md +0 -34
- package/template/.codex/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.codex/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.hermes/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.hermes/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.hermes/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.hermes/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.hermes/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.hermes/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.hermes/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.hermes/skills/yss-jdbc/references/README.md +0 -55
- package/template/.hermes/skills/yss-log/SKILL.md +0 -48
- package/template/.hermes/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-log/references/source-index.md +0 -34
- package/template/.hermes/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.hermes/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.pi/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.pi/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-backend-scaffold-application/SKILL.md +0 -139
- package/template/.pi/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
- package/template/.pi/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
- package/template/.pi/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-backend-scaffold-web/SKILL.md +0 -175
- package/template/.pi/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.pi/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.pi/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.pi/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.pi/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.pi/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.pi/skills/yss-jdbc/references/README.md +0 -55
- package/template/.pi/skills/yss-jdbc/references/source-index.md +0 -33
- package/template/.pi/skills/yss-log/SKILL.md +0 -48
- package/template/.pi/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-log/references/source-index.md +0 -34
- package/template/.pi/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.pi/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.qoder/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.qoder/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-backend-scaffold-application/SKILL.md +0 -139
- package/template/.qoder/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
- package/template/.qoder/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
- package/template/.qoder/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-backend-scaffold-web/SKILL.md +0 -175
- package/template/.qoder/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.qoder/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.qoder/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.qoder/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.qoder/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.qoder/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.qoder/skills/yss-jdbc/references/README.md +0 -55
- package/template/.qoder/skills/yss-jdbc/references/source-index.md +0 -33
- package/template/.qoder/skills/yss-log/SKILL.md +0 -48
- package/template/.qoder/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-log/references/source-index.md +0 -34
- package/template/.qoder/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.qoder/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-taskflow/references/source-index.md +0 -158
- package/template/.trae/skills/product-design-prototype/SKILL.md +0 -91
- package/template/.trae/skills/product-design-prototype/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-backend-scaffold-application/SKILL.md +0 -139
- package/template/.trae/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
- package/template/.trae/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
- package/template/.trae/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-backend-scaffold-web/SKILL.md +0 -175
- package/template/.trae/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-dictionary/SKILL.md +0 -49
- package/template/.trae/skills/yss-dictionary/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-dictionary/references/source-index.md +0 -80
- package/template/.trae/skills/yss-jdbc/SKILL.md +0 -73
- package/template/.trae/skills/yss-jdbc/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
- package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
- package/template/.trae/skills/yss-jdbc/assets/DsParam.java +0 -19
- package/template/.trae/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
- package/template/.trae/skills/yss-jdbc/references/README.md +0 -55
- package/template/.trae/skills/yss-jdbc/references/source-index.md +0 -33
- package/template/.trae/skills/yss-log/SKILL.md +0 -48
- package/template/.trae/skills/yss-log/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-log/references/source-index.md +0 -34
- package/template/.trae/skills/yss-taskflow/SKILL.md +0 -58
- package/template/.trae/skills/yss-taskflow/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-taskflow/references/source-index.md +0 -158
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
本 Skill 提供了 YSS **Infrastructure (基础设施层)** 的通用开发规范。Infrastructure 层负责实现 Domain 层定义的网关接口,处理数据持久化、外部服务调用和配置管理。
|
|
2
|
+
|
|
3
|
+
## 1. 核心职责 (Core Responsibilities)
|
|
4
|
+
|
|
5
|
+
- **实现网关接口 (Gateway Implementation)**: 实现 Domain 层定义的 `Gateway` 接口。
|
|
6
|
+
- **数据持久化 (Persistence)**: 定义 `Repository` 接口和 `PO` (Persistent Object) 实体,操作数据库。
|
|
7
|
+
- **对象转换 (Conversion)**: 使用 MapStruct 实现 PO 与 Domain Model/DTO 之间的转换。
|
|
8
|
+
- **外部适配 (External Adapters)**: 集成外部服务 (如文件存储、消息队列)。
|
|
9
|
+
|
|
10
|
+
## 2. 代码结构 (Code Structure)
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
com.yss.{module}.repository
|
|
14
|
+
├── entity # 持久化对象 (PO)
|
|
15
|
+
├── gateway.impl # Domain Gateway 接口实现
|
|
16
|
+
├── convertor # MapStruct 转换器
|
|
17
|
+
├── util # 工具类
|
|
18
|
+
└── {Domain}Repository.java # MyBatis Plus Repository 接口
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 3. 开发规范 (Development Guidelines)
|
|
22
|
+
|
|
23
|
+
### 3.1 持久化对象 (PO)
|
|
24
|
+
|
|
25
|
+
- **命名**: `DomainName` + `PO` (e.g., `QualityTemplatePO`)。
|
|
26
|
+
- **继承**: 推荐继承 `AuditableEntity` 以自动处理审计字段 (`created_by`, `created_date` 等),但非强制要求。
|
|
27
|
+
- **注解**:
|
|
28
|
+
- `@TableName("t_table_name")`: 指定数据库表名。
|
|
29
|
+
- `@TableId(value = "id", type = IdType.ASSIGN_ID)`: 指定主键策略 (雪花算法)。
|
|
30
|
+
- `@TableField("column_name")`: 指定字段映射。
|
|
31
|
+
- 按 `lombok` skill 选择最小注解;PO 默认使用 `@Getter` / `@Setter`,不得无条件使用 `@Data`。继承基类时再审查 `equals/hashCode/toString` 风险。
|
|
32
|
+
|
|
33
|
+
### 3.2 Repository 接口
|
|
34
|
+
|
|
35
|
+
- **继承**: `com.yss.cloud.mybatis.support.BasePlusRepository<PO>`。
|
|
36
|
+
- **位置**: 直接位于 `com.yss.{module}.repository` 包下。
|
|
37
|
+
- **Mapper XML**: 对应的 XML 文件位于 `src/main/resources/mappers`。
|
|
38
|
+
|
|
39
|
+
### 3.3 Gateway 实现
|
|
40
|
+
|
|
41
|
+
- **位置**: `com.yss.{module}.repository.gateway.impl`。
|
|
42
|
+
- **注解**: `@Repository` 或 `@Service`。
|
|
43
|
+
- **依赖注入**: 使用 `@RequiredArgsConstructor` (Lombok) 或 `@Autowired` 注入 Repository。
|
|
44
|
+
- **查询逻辑**: 使用 `Wrappers.lambdaQuery()` 构建类型安全的查询条件。
|
|
45
|
+
- **分页处理**: 使用 `PageUtil.page(query)` 构建分页对象,返回 `PageResult.of(...)`。
|
|
46
|
+
|
|
47
|
+
### 3.4 对象转换 (Convertor)
|
|
48
|
+
|
|
49
|
+
- **工具**: MapStruct。
|
|
50
|
+
- **位置**: `com.yss.{module}.repository.convertor`。
|
|
51
|
+
- **命名**: `DomainName` + `Convertor` (e.g., `QualityTemplateConvertor`)。
|
|
52
|
+
- **规范**: 定义 `INSTANCE` 常量,使用 `Mappers.getMapper(...)` 获取实例。
|
|
53
|
+
|
|
54
|
+
## 4. 详细案例 (Detailed Examples)
|
|
55
|
+
|
|
56
|
+
### 4.1 Persistent Object (PO)
|
|
57
|
+
|
|
58
|
+
```java
|
|
59
|
+
package com.yss.quality.repository.entity;
|
|
60
|
+
|
|
61
|
+
import com.baomidou.mybatisplus.annotation.IdType;
|
|
62
|
+
import com.baomidou.mybatisplus.annotation.TableField;
|
|
63
|
+
import com.baomidou.mybatisplus.annotation.TableId;
|
|
64
|
+
import com.baomidou.mybatisplus.annotation.TableName;
|
|
65
|
+
import lombok.Getter;
|
|
66
|
+
import lombok.Setter;
|
|
67
|
+
import lombok.EqualsAndHashCode;
|
|
68
|
+
|
|
69
|
+
@Getter
|
|
70
|
+
@Setter
|
|
71
|
+
@EqualsAndHashCode(callSuper = true)
|
|
72
|
+
@TableName("t_quality_template")
|
|
73
|
+
public class QualityTemplatePO extends AuditableEntity {
|
|
74
|
+
|
|
75
|
+
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
|
76
|
+
private Long id;
|
|
77
|
+
|
|
78
|
+
@TableField("template_name")
|
|
79
|
+
private String templateName;
|
|
80
|
+
|
|
81
|
+
@TableField("template_code")
|
|
82
|
+
private String templateCode;
|
|
83
|
+
|
|
84
|
+
@TableField("status")
|
|
85
|
+
private Integer status;
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 4.2 Repository Interface
|
|
90
|
+
|
|
91
|
+
```java
|
|
92
|
+
package com.yss.quality.repository;
|
|
93
|
+
|
|
94
|
+
import com.yss.cloud.mybatis.support.BasePlusRepository;
|
|
95
|
+
import com.yss.quality.repository.entity.QualityTemplatePO;
|
|
96
|
+
|
|
97
|
+
public interface QualityTemplateRepository extends BasePlusRepository<QualityTemplatePO> {
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 4.3 Gateway Implementation
|
|
102
|
+
|
|
103
|
+
```java
|
|
104
|
+
package com.yss.quality.repository.gateway.impl;
|
|
105
|
+
|
|
106
|
+
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
107
|
+
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
108
|
+
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
109
|
+
import com.yss.cloud.dto.result.PageResult;
|
|
110
|
+
import com.yss.quality.client.dto.query.QualityTemplatePage;
|
|
111
|
+
import com.yss.quality.client.vo.QualityTemplateVO;
|
|
112
|
+
import com.yss.quality.domain.template.gateway.QualityTemplateGateway;
|
|
113
|
+
import com.yss.quality.repository.QualityTemplateRepository;
|
|
114
|
+
import com.yss.quality.repository.convertor.QualityTemplateConvertor;
|
|
115
|
+
import com.yss.quality.repository.entity.QualityTemplatePO;
|
|
116
|
+
import com.yss.quality.repository.util.PageUtil;
|
|
117
|
+
import lombok.RequiredArgsConstructor;
|
|
118
|
+
import org.springframework.stereotype.Repository;
|
|
119
|
+
import org.springframework.util.StringUtils;
|
|
120
|
+
|
|
121
|
+
import java.util.List;
|
|
122
|
+
|
|
123
|
+
@Repository
|
|
124
|
+
@RequiredArgsConstructor
|
|
125
|
+
public class QualityTemplateGatewayImpl implements QualityTemplateGateway {
|
|
126
|
+
|
|
127
|
+
private final QualityTemplateRepository qualityTemplateRepository;
|
|
128
|
+
|
|
129
|
+
@Override
|
|
130
|
+
public PageResult<QualityTemplateVO> pageQualityTemplate(QualityTemplatePage query) {
|
|
131
|
+
LambdaQueryWrapper<QualityTemplatePO> wrapper = Wrappers.lambdaQuery(QualityTemplatePO.class);
|
|
132
|
+
|
|
133
|
+
// 构建查询条件
|
|
134
|
+
if (StringUtils.hasText(query.getTemplateName())) {
|
|
135
|
+
wrapper.like(QualityTemplatePO::getTemplateName, query.getTemplateName());
|
|
136
|
+
}
|
|
137
|
+
if (query.getStatus() != null) {
|
|
138
|
+
wrapper.eq(QualityTemplatePO::getStatus, query.getStatus());
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
wrapper.orderByDesc(QualityTemplatePO::getCreatedDate);
|
|
142
|
+
|
|
143
|
+
// 执行分页查询
|
|
144
|
+
IPage<QualityTemplatePO> result = qualityTemplateRepository.selectPage(PageUtil.page(query), wrapper);
|
|
145
|
+
|
|
146
|
+
// 转换结果
|
|
147
|
+
List<QualityTemplateVO> records = QualityTemplateConvertor.INSTANCE.toQualityTemplateVOList(result.getRecords());
|
|
148
|
+
|
|
149
|
+
return PageResult.of(
|
|
150
|
+
records,
|
|
151
|
+
result.getTotal(),
|
|
152
|
+
result.getSize(),
|
|
153
|
+
result.getCurrent()
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 4.4 Convertor (MapStruct)
|
|
160
|
+
|
|
161
|
+
```java
|
|
162
|
+
package com.yss.quality.repository.convertor;
|
|
163
|
+
|
|
164
|
+
import com.yss.quality.client.vo.QualityTemplateVO;
|
|
165
|
+
import com.yss.quality.repository.entity.QualityTemplatePO;
|
|
166
|
+
import org.mapstruct.Mapper;
|
|
167
|
+
import org.mapstruct.factory.Mappers;
|
|
168
|
+
|
|
169
|
+
import java.util.List;
|
|
170
|
+
|
|
171
|
+
@Mapper
|
|
172
|
+
public interface QualityTemplateConvertor {
|
|
173
|
+
QualityTemplateConvertor INSTANCE = Mappers.getMapper(QualityTemplateConvertor.class);
|
|
174
|
+
|
|
175
|
+
QualityTemplateVO toQualityTemplateVO(QualityTemplatePO po);
|
|
176
|
+
|
|
177
|
+
List<QualityTemplateVO> toQualityTemplateVOList(List<QualityTemplatePO> pos);
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 5. 注意事项 (Notes)
|
|
182
|
+
|
|
183
|
+
1. **AuditableEntity**: 推荐业务 PO 继承此基类,以便自动维护审计信息。
|
|
184
|
+
2. **Lombok 使用**: 使用 `@RequiredArgsConstructor` 进行构造器注入是推荐的最佳实践。
|
|
185
|
+
3. **Wrapper 使用**: 优先使用 `Wrappers.lambdaQuery()` 而不是字符串列名,以提高重构安全性。
|
|
186
|
+
4. **分页工具**: 使用 `PageUtil` 统一处理分页参数,避免手动计算 offset。
|
|
187
|
+
|
|
188
|
+
## 6. 阶段 7 合同
|
|
189
|
+
|
|
190
|
+
- 前置条件是批准的数据架构、Repository 策略和 Slice Contract。
|
|
191
|
+
- PO/Repository/Convertor 骨架可受控生成;复杂查询、分页语义、数据源、事务、迁移和并发使用 `behavior-tdd`。
|
|
192
|
+
- 返回统一 `YSS Skill Execution Result`,证据包含实际文件、集成测试、MapStruct/Lombok 配置和 `./mvnw ...` 结果。
|
|
@@ -22,8 +22,8 @@ Default for a new page: first verify the approved product design, state matrix,
|
|
|
22
22
|
## Backend Boundaries
|
|
23
23
|
|
|
24
24
|
- `yss-ddd-scaffold-generator`: Create a whole multi-module backend skeleton.
|
|
25
|
-
- `yss-domain`: Domain modeling
|
|
26
|
-
- `yss-
|
|
25
|
+
- `yss-domain`: Domain modeling, domain gateway contracts, and domain-layer conventions.
|
|
26
|
+
- `yss-application`: Application use cases, transaction boundaries, and cross-aggregate orchestration.
|
|
27
27
|
- `yss-repository`: Persistence implementation, PO, Repository, Convertor, GatewayImpl.
|
|
28
28
|
- `yss-web-controller`: REST adapter layer, request/response DTOs, VO, web convertor.
|
|
29
29
|
- `yss-mybatis`: Framework behavior for MyBatis/MyBatis-Plus, BaseRepository, pagination, mapper scanning, batch, datasource issues.
|
|
@@ -39,11 +39,7 @@ Default for end-to-end backend CRUD: include Domain, Application, Infrastructure
|
|
|
39
39
|
- `yss-audit-log`: Audit annotations, SpEL summaries, async publication, subscribers.
|
|
40
40
|
- `yss-excel-mvc`: Spring MVC Excel import/export annotations and handlers.
|
|
41
41
|
- `yss-distributed-id`: ID strategies, AutoIdInterceptor, Leaf/CosId/Snowflake, batch ID injection.
|
|
42
|
-
- `yss-jdbc`: Hutool Db, dynamic datasource JDBC, JdbcSqlUtil, batch SQL execution.
|
|
43
|
-
- `yss-dictionary`: Dictionary/domain item APIs and dictionary component integration.
|
|
44
|
-
- `yss-log`: DEBUG request-parameter/success-latency logging, starter auto-configuration, and centralized collection; current `CatchAndLog` is not exception logging.
|
|
45
42
|
- `yss-resilience4j`: Circuit breaker, fallback, and gateway resilience integration.
|
|
46
|
-
- `yss-taskflow`: Task flow definition/execution component behavior.
|
|
47
43
|
- `yss-validation`: Validation engine and JSR-303 integration.
|
|
48
44
|
- `yss-security-algorithm`: RSA/AES/SM/JWT/JWK/password-encoding compatibility and production key-management safety gates.
|
|
49
45
|
- `yss-userinfo`: Current-user info propagation and starter integration.
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
schema_version: 1
|
|
2
2
|
allowed_statuses: [draft, blocked, ready-for-lifecycle-review]
|
|
3
3
|
forbidden_statuses: [approved, ready-for-agent, completed]
|
|
4
|
+
skill_aliases:
|
|
5
|
+
api-integration: yss-api-integration
|
|
6
|
+
microapp-commit: yss-microapp-commit
|
|
4
7
|
implementation_path_policy:
|
|
5
8
|
applies_to: harness-resident-runtime-code
|
|
6
9
|
project_roots:
|
|
@@ -120,24 +123,22 @@ dependency_closure:
|
|
|
120
123
|
yss-ddd-scaffold-generator:
|
|
121
124
|
always: [yss-backend-scaffold-parent, alibaba-java-code-style]
|
|
122
125
|
yss-domain:
|
|
123
|
-
always: [
|
|
126
|
+
always: [alibaba-java-code-style]
|
|
124
127
|
when_modeling: [domain-modeling]
|
|
125
128
|
when_pojo: [lombok]
|
|
126
|
-
yss-
|
|
129
|
+
yss-application:
|
|
127
130
|
always: [alibaba-java-code-style]
|
|
128
131
|
when_conversion: [mapstruct, lombok]
|
|
129
132
|
yss-repository:
|
|
130
|
-
always: [
|
|
133
|
+
always: [mapstruct, lombok, alibaba-java-code-style]
|
|
131
134
|
when_mybatis: [yss-mybatis]
|
|
132
135
|
yss-web-controller:
|
|
133
|
-
always: [yss-dto,
|
|
136
|
+
always: [yss-dto, mapstruct, lombok, alibaba-java-code-style]
|
|
134
137
|
yss-userinfo:
|
|
135
138
|
always: [yss-dto]
|
|
136
139
|
when_cache_lookup: [yss-cache]
|
|
137
140
|
yss-audit-log:
|
|
138
141
|
always: [yss-userinfo, yss-dto]
|
|
139
|
-
yss-log:
|
|
140
|
-
always: []
|
|
141
142
|
yss-validation:
|
|
142
143
|
always: [yss-exception]
|
|
143
144
|
yss-security-algorithm:
|
|
@@ -156,7 +157,6 @@ component_impact_values:
|
|
|
156
157
|
- current-user-context
|
|
157
158
|
- user-cache-lookup
|
|
158
159
|
- audit-event
|
|
159
|
-
- technical-request-logging
|
|
160
160
|
- request-validation
|
|
161
161
|
- error-mapping
|
|
162
162
|
- encryption-or-signing
|
|
@@ -165,20 +165,16 @@ component_impact_routing:
|
|
|
165
165
|
current-user-context: [yss-userinfo]
|
|
166
166
|
user-cache-lookup: [yss-userinfo, yss-cache]
|
|
167
167
|
audit-event: [yss-audit-log, yss-userinfo, yss-dto]
|
|
168
|
-
technical-request-logging: [yss-log]
|
|
169
168
|
request-validation: [yss-validation, yss-exception]
|
|
170
169
|
error-mapping: [yss-exception, yss-dto]
|
|
171
170
|
encryption-or-signing: [yss-security-algorithm, yss-exception]
|
|
172
171
|
|
|
173
172
|
end_to_end_backend_required:
|
|
174
173
|
- yss-domain
|
|
175
|
-
- yss-
|
|
176
|
-
- yss-backend-scaffold-application
|
|
174
|
+
- yss-application
|
|
177
175
|
- yss-repository
|
|
178
|
-
- yss-backend-scaffold-infrastructure
|
|
179
176
|
- yss-web-controller
|
|
180
177
|
- yss-dto
|
|
181
|
-
- yss-backend-scaffold-web
|
|
182
178
|
- mapstruct
|
|
183
179
|
- lombok
|
|
184
180
|
- alibaba-java-code-style
|
|
@@ -12,11 +12,7 @@ The refresh script maps component source path hints to skill references. These p
|
|
|
12
12
|
| `yss-audit-log` | `yss-microservice-components/yss-component-audit-log` |
|
|
13
13
|
| `yss-excel-mvc` | `yss-microservice-components/yss-component-excel-mvc`, `yss-microservice-components/yss-component-excel-starter` |
|
|
14
14
|
| `yss-distributed-id` | `yss-microservice-components/yss-component-distributed-id`, `yss-microservice-components/yss-component-leaf` |
|
|
15
|
-
| `yss-jdbc` | `yss-microservice-components/yss-component-jdbc` |
|
|
16
|
-
| `yss-dictionary` | `yss-microservice-components/yss-component-dictionary-parent` |
|
|
17
|
-
| `yss-log` | `yss-microservice-components/yss-component-log-starter` |
|
|
18
15
|
| `yss-resilience4j` | `yss-microservice-components/yss-component-resilience4j-starter` |
|
|
19
|
-
| `yss-taskflow` | `yss-microservice-components/yss-component-taskflow` |
|
|
20
16
|
| `yss-validation` | `yss-microservice-components/yss-component-validation-engine-parent`, `yss-microservice-components/yss-component-validation-jsr303` |
|
|
21
17
|
| `yss-security-algorithm` | `yss-microservice-components/yss-component-security-algorithm` |
|
|
22
18
|
| `yss-userinfo` | `yss-microservice-components/yss-component-userinfo-starter` |
|
|
@@ -5,7 +5,7 @@ import os from "node:os";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
|
|
8
|
-
const BACKEND = {"yss-cache":["yss-microservice-components/yss-component-cache-parent"],"yss-mybatis":["yss-microservice-components/yss-component-persistence"],"yss-dto":["yss-microservice-components/yss-component-dto"],"yss-audit-log":["yss-microservice-components/yss-component-audit-log"],"yss-excel-mvc":["yss-microservice-components/yss-component-excel-mvc","yss-microservice-components/yss-component-excel-starter"],"yss-distributed-id":["yss-microservice-components/yss-component-distributed-id","yss-microservice-components/yss-component-leaf"],"yss-
|
|
8
|
+
const BACKEND = {"yss-cache":["yss-microservice-components/yss-component-cache-parent"],"yss-mybatis":["yss-microservice-components/yss-component-persistence"],"yss-dto":["yss-microservice-components/yss-component-dto"],"yss-audit-log":["yss-microservice-components/yss-component-audit-log"],"yss-excel-mvc":["yss-microservice-components/yss-component-excel-mvc","yss-microservice-components/yss-component-excel-starter"],"yss-distributed-id":["yss-microservice-components/yss-component-distributed-id","yss-microservice-components/yss-component-leaf"],"yss-resilience4j":["yss-microservice-components/yss-component-resilience4j-starter"],"yss-validation":["yss-microservice-components/yss-component-validation-engine-parent","yss-microservice-components/yss-component-validation-jsr303"],"yss-security-algorithm":["yss-microservice-components/yss-component-security-algorithm"],"yss-userinfo":["yss-microservice-components/yss-component-userinfo-starter"],"yss-exception":["yss-microservice-components/yss-component-exception"]};
|
|
9
9
|
const FRONTEND={"yss-ui":["components","hooks","skills"],"yss-components":["components"],"yss-hook":["hooks"],"yss-page-module-development":["components","hooks","skills"],"yss-use-table-height":["hooks"],"yss-use-tree-height":["hooks"]};
|
|
10
10
|
const URLS={components:"http://192.168.164.27:3200/components",hooks:"http://192.168.164.27:3200/hooks",skills:"http://192.168.164.27:3200/skills"};
|
|
11
11
|
const KEYS=["Audit","Cache","Clear","Command","Configuration","Controller","DTO","Data","Enable","Excel","Handler","Interceptor","Jdbc","Mapper","Mybatis","Page","Properties","Query","Repository","Request","Response","Result","Update","Aspect","Leaf","Id","Dir","Dic","Dictionary","File","Upload","Log","Message","Mail","Liquibase","Circuit","Breaker","Sql","Tpl","Tag","Task","Flow","Report","Validation","Validator","Security","Crypto","User","Variable","Quality","Search","Similarity","Scheduler","Runner","Duck","Dynamic","Factory","Client","Feign","Gateway","Convertor","Adapter","Advice","Bridge","Route","Uploader","Sftp","Minio","Parser","Express","Rule","Template","Generator","Importer","Engine","Event","Submitter","Executor","Context","Status","Type","State"];
|
|
@@ -63,6 +63,7 @@ node scripts/generate_controller.mjs \
|
|
|
63
63
|
|
|
64
64
|
## 按需读取
|
|
65
65
|
|
|
66
|
+
- 分层开发规范:`references/web-adapter-layer-guide.md`
|
|
66
67
|
- 生成脚本:`scripts/generate_controller.mjs`
|
|
67
68
|
- Controller 模板:`assets/templates/Controller.java.template`
|
|
68
69
|
- Convertor 模板:`assets/templates/WebConvertor.java.template`
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
本技能为开发 YSS 服务的**Web 适配器层**(REST API)提供指导和框架。
|
|
2
|
+
Web 适配器负责通过 HTTP 公开业务功能、处理输入验证和格式化响应。
|
|
3
|
+
|
|
4
|
+
## 1. 核心职责 (Core Responsibilities)
|
|
5
|
+
|
|
6
|
+
- **Request Handling**: Map HTTP requests (GET, POST, PUT, DELETE) to Java methods.
|
|
7
|
+
- **Input Validation**: Validate request bodies and parameters using JSR-303/380 annotations (`@Valid`, `@NotNull`, etc.).
|
|
8
|
+
- **Response Formatting**: Wrap business results into standard `Result` objects (`SingleResult`, `PageResult`, `MultiResult`).
|
|
9
|
+
- **Orchestration Delegation**: Delegate business logic to the **Application Service**. Simple queries can be delegated directly to the **Domain Gateway** (CQRS pattern).
|
|
10
|
+
|
|
11
|
+
## 2. 代码结构 (Code Structure)
|
|
12
|
+
|
|
13
|
+
Web Adapters are typically located in the `bootstrap` module or a dedicated `web` module.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
com.yss.{module}.rest
|
|
17
|
+
├── {Domain}Controller.java # Main REST Controller
|
|
18
|
+
└── {Domain}ReportController.java # Optional: For reporting/stats APIs
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 3. 开发规范 (Development Guidelines)
|
|
22
|
+
|
|
23
|
+
### 3.1 Controller 定义
|
|
24
|
+
|
|
25
|
+
- **注解**: 使用 `@RestController`。
|
|
26
|
+
- **路径**: `@RequestMapping("/api/{module}/{domain}")` (e.g., `/api/quality/rule`).
|
|
27
|
+
- **依赖注入**: 使用 Lombok `@RequiredArgsConstructor` 进行构造器注入。
|
|
28
|
+
- **命名**: `{Domain}Controller` (e.g., `QualityRuleController`).
|
|
29
|
+
|
|
30
|
+
### 3.2 依赖注入原则
|
|
31
|
+
|
|
32
|
+
- **写操作/复杂逻辑**: 必须注入 **Application Service** (`XxxService`)。
|
|
33
|
+
- **读操作 (Query)**: 允许直接注入 **Domain Gateway** (`XxxGateway`) 以减少样板代码 (CQRS)。
|
|
34
|
+
|
|
35
|
+
### 3.3 参数与响应
|
|
36
|
+
|
|
37
|
+
- **Command (写)**: 使用 `@PostMapping`/`@PutMapping` + `@RequestBody` + `{Domain}Cmd` 对象。
|
|
38
|
+
- **Query (读)**: 使用 `@PostMapping` (for complex search) + `@RequestBody` + `{Domain}Page/Query` 对象。
|
|
39
|
+
- **Wrapper**:
|
|
40
|
+
- `SingleResult<T>`: 单个对象或基本类型。
|
|
41
|
+
- `MultiResult<T>`: 列表。
|
|
42
|
+
- `PageResult<T>`: 分页数据。
|
|
43
|
+
- **Validation**: 必须在参数前添加 `@Valid` 注解。
|
|
44
|
+
|
|
45
|
+
### 3.4 异常处理
|
|
46
|
+
|
|
47
|
+
- **不要**在 Controller 中捕获通用异常 (`Exception`)。
|
|
48
|
+
- 让全局异常处理器 (`GlobalExceptionHandler`) 统一处理运行时异常。
|
|
49
|
+
- 仅在需要特定 HTTP 状态码转换时捕获特定异常。
|
|
50
|
+
|
|
51
|
+
## 4. 代码示例 (Code Examples)
|
|
52
|
+
|
|
53
|
+
### 4.1 标准 CRUD Controller
|
|
54
|
+
|
|
55
|
+
```java
|
|
56
|
+
package com.yss.{module}.rest;
|
|
57
|
+
|
|
58
|
+
import com.yss.cloud.dto.result.MultiResult;
|
|
59
|
+
import com.yss.cloud.dto.result.PageResult;
|
|
60
|
+
import com.yss.cloud.dto.result.SingleResult;
|
|
61
|
+
import com.yss.{module}.client.dto.cmd.{Domain}AddCmd;
|
|
62
|
+
import com.yss.{module}.client.dto.cmd.{Domain}UpdateCmd;
|
|
63
|
+
import com.yss.{module}.client.dto.cmd.{Domain}StatusCmd;
|
|
64
|
+
import com.yss.{module}.client.dto.query.{Domain}Page;
|
|
65
|
+
import com.yss.{module}.client.vo.{Domain}VO;
|
|
66
|
+
import com.yss.{module}.core.service.{Domain}Service;
|
|
67
|
+
// Optional: Import Gateway for direct queries
|
|
68
|
+
// import com.yss.{module}.domain.gateway.{Domain}Gateway;
|
|
69
|
+
import lombok.RequiredArgsConstructor;
|
|
70
|
+
import org.springframework.web.bind.annotation.*;
|
|
71
|
+
|
|
72
|
+
import javax.validation.Valid;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* {Domain} 管理控制器
|
|
76
|
+
*
|
|
77
|
+
* @author {User}
|
|
78
|
+
*/
|
|
79
|
+
@RestController
|
|
80
|
+
@RequestMapping("/api/{module}/{domain-path}")
|
|
81
|
+
@RequiredArgsConstructor
|
|
82
|
+
public class {Domain}Controller {
|
|
83
|
+
|
|
84
|
+
private final {Domain}Service {domainVar}Service;
|
|
85
|
+
// private final {Domain}Gateway {domainVar}Gateway; // For CQRS if needed
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* 分页查询 {Domain}
|
|
89
|
+
*
|
|
90
|
+
* @param query 查询条件
|
|
91
|
+
* @return 分页结果
|
|
92
|
+
*/
|
|
93
|
+
@PostMapping("/page")
|
|
94
|
+
public PageResult<{Domain}VO> page(@Valid @RequestBody {Domain}Page query) {
|
|
95
|
+
return {domainVar}Service.page(query);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 根据ID查询详情
|
|
100
|
+
*
|
|
101
|
+
* @param id 主键ID
|
|
102
|
+
* @return 详情对象
|
|
103
|
+
*/
|
|
104
|
+
@GetMapping("/detail/{id}")
|
|
105
|
+
public SingleResult<{Domain}VO> detail(@PathVariable String id) {
|
|
106
|
+
return SingleResult.of({domainVar}Service.detail(id));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* 新增 {Domain}
|
|
111
|
+
*
|
|
112
|
+
* @param cmd 新增命令
|
|
113
|
+
* @return 新增结果 (通常是ID或完整对象)
|
|
114
|
+
*/
|
|
115
|
+
@PostMapping
|
|
116
|
+
public SingleResult<Long> add(@Valid @RequestBody {Domain}AddCmd cmd) {
|
|
117
|
+
return SingleResult.of({domainVar}Service.add(cmd));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* 更新 {Domain}
|
|
122
|
+
*
|
|
123
|
+
* @param cmd 更新命令
|
|
124
|
+
* @return 更新结果
|
|
125
|
+
*/
|
|
126
|
+
@PutMapping
|
|
127
|
+
public SingleResult<Boolean> update(@Valid @RequestBody {Domain}UpdateCmd cmd) {
|
|
128
|
+
{domainVar}Service.update(cmd);
|
|
129
|
+
return SingleResult.of(true);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* 状态变更 (启用/禁用)
|
|
134
|
+
*
|
|
135
|
+
* @param cmd 状态命令
|
|
136
|
+
* @return 变更后的状态
|
|
137
|
+
*/
|
|
138
|
+
@PostMapping("/enabled")
|
|
139
|
+
public SingleResult<Integer> switchStatus(@Valid @RequestBody {Domain}StatusCmd cmd) {
|
|
140
|
+
{domainVar}Service.switchStatus(cmd);
|
|
141
|
+
return SingleResult.of(cmd.getStatus());
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 4.2 复杂业务操作示例
|
|
147
|
+
|
|
148
|
+
```java
|
|
149
|
+
/**
|
|
150
|
+
* 执行业务操作 (e.g. 立即运行检查)
|
|
151
|
+
*
|
|
152
|
+
* @param cmd 执行命令
|
|
153
|
+
* @return 执行结果ID
|
|
154
|
+
*/
|
|
155
|
+
@PostMapping("/execute")
|
|
156
|
+
public SingleResult<String> execute(@Valid @RequestBody {Domain}ExecuteCmd cmd) {
|
|
157
|
+
// 调用 Service 处理复杂业务逻辑
|
|
158
|
+
return SingleResult.of(
|
|
159
|
+
{domainVar}Service.execute(cmd)
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 5. 阶段 7 合同
|
|
165
|
+
|
|
166
|
+
- 只消费冻结 OpenAPI/no-impact record 和批准合同;Controller 不得穿透 Application/Domain 边界。
|
|
167
|
+
- Controller/DTO/Convertor 骨架可受控生成;权限、校验、错误映射和接口行为使用 `behavior-tdd`。
|
|
168
|
+
- 返回统一 `YSS Skill Execution Result`,包含代码、契约/API 测试、实际验证和新增 API/权限影响。
|
|
@@ -8,9 +8,15 @@ disable-model-invocation: true
|
|
|
8
8
|
|
|
9
9
|
You don't remember every skill, so ask.
|
|
10
10
|
|
|
11
|
+
## YSS default (read this first)
|
|
12
|
+
|
|
13
|
+
In this template, **`yss-product-lifecycle` is the default orchestrator**. Native work-units own Spec, tickets, implementation authorization, and gates.
|
|
14
|
+
|
|
15
|
+
This skill is a **Matt compatibility map**. Use `/grill-with-docs`, `/to-spec`, `/to-tickets`, and `/implement` only when the user **explicitly** names them. Do not treat the idea→ship list below as the YSS default. `/implement` does not grant git commit/push. Spec drafts from `/to-spec` stay `ready-for-human` until a human approves the Spec baseline.
|
|
16
|
+
|
|
11
17
|
A **flow** is a path through the skills. Most paths run along one **main flow**, and two **on-ramps** merge onto it. Everything else is standalone, or a vocabulary layer that runs underneath.
|
|
12
18
|
|
|
13
|
-
##
|
|
19
|
+
## Matt compatibility flow: idea → ship
|
|
14
20
|
|
|
15
21
|
The route most work travels. You have an idea and want it built.
|
|
16
22
|
|
|
@@ -23,7 +29,7 @@ The route most work travels. You have an idea and want it built.
|
|
|
23
29
|
- **Yes** → **`/to-spec`** (turn the thread into a spec), then **`/to-tickets`** to split it into tracer-bullet tickets, each declaring its **blocking edges**. On a local tracker that's one file per ticket under `docs/.scratch/<feature>/issues/`, worked blockers-first by hand; on a real tracker the edges become native blocking links, so any ticket whose blockers are done can be grabbed — kick off **`/implement`** per ticket, **`/clear`ing context between each one**. Each ticket is self-contained, so the last one's context is disposable.
|
|
24
30
|
- **No** → **`/implement`** right here, in the same context window.
|
|
25
31
|
|
|
26
|
-
Either way, **`/implement`** builds each issue by driving **`/tdd`** internally — one red-green slice at a time — then closes out by running **`/code-review
|
|
32
|
+
Either way, **`/implement`** builds each issue by driving **`/tdd`** internally — one red-green slice at a time — then closes out by running **`/code-review`** (Standards + Spec, plus UI fidelity when UI is in scope). Do not commit or push from `/implement`. Reach for **`/tdd`** on its own when you just want to build a concrete behaviour test-first without a full spec, and **`/code-review`** on its own whenever you want to review a branch or PR against a fixed point.
|
|
27
33
|
|
|
28
34
|
### Context hygiene
|
|
29
35
|
|
|
@@ -3,12 +3,13 @@ name: code-review
|
|
|
3
3
|
description: Use when the user wants to review a branch, PR, committed candidate, uncommitted work-in-progress changes, or changes since a fixed point.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Review of a pinned candidate against a fixed point on two core axes, plus UI fidelity when UI is in scope:
|
|
7
7
|
|
|
8
8
|
- **Standards** — does the code conform to this repo's documented coding standards?
|
|
9
9
|
- **Spec** — does the code faithfully implement the originating issue / spec?
|
|
10
|
+
- **UI fidelity** (only when the change has UI impact) — does the candidate match the confirmed prototype and `yss-design-system` / `yss-ui`? Type-check or claiming "already aligned" is not a pass. Invoke those skills' verification notes; do not collapse this axis into Standards or Spec.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Standards and Spec run as **parallel sub-agents** so they don't pollute each other's context, then this skill aggregates their findings. When UI is in scope, add a separate UI fidelity pass after those two reports (do not merge it into either axis).
|
|
12
13
|
|
|
13
14
|
If `docs/agents/issue-tracker.md` is missing, tell the user to run `/setup-matt-pocock-skills`; do not invoke another user-invoked skill yourself.
|
|
14
15
|
|
|
@@ -99,17 +100,18 @@ If the spec is missing, skip the Spec sub-agent and note this in the final repor
|
|
|
99
100
|
|
|
100
101
|
### 5. Aggregate
|
|
101
102
|
|
|
102
|
-
Present the
|
|
103
|
+
Present the reports under `## Standards` and `## Spec` headings, verbatim or lightly cleaned. If UI is in scope, add `## UI fidelity` from the separate pass. Do **not** merge or rerank findings — the axes are deliberately separate (see _Why separate axes_).
|
|
103
104
|
|
|
104
105
|
For Worktree mode, recapture the candidate digest after both reports return. If it differs from `candidate_digest`, mark both reports as reviewing a **stale candidate** and return `blocked`; the caller may start a new review against a new capture, but this invocation must not aggregate findings from different bytes. Recheck the same digest again at the completion/checkpoint boundary.
|
|
105
106
|
|
|
106
107
|
State the reviewed `review_mode`, fixed point, candidate digest and coverage before the two reports. End with a one-line summary: total findings per axis, and the worst issue _within each axis_ (if any). Don't pick a single winner across axes — that's the reranking the separation exists to prevent.
|
|
107
108
|
|
|
108
|
-
## Why
|
|
109
|
+
## Why separate axes
|
|
109
110
|
|
|
110
111
|
A change can pass one axis and fail the other:
|
|
111
112
|
|
|
112
113
|
- Code that follows every standard but implements the wrong thing → **Standards pass, Spec fail.**
|
|
113
114
|
- Code that does exactly what the issue asked but breaks the project's conventions → **Spec pass, Standards fail.**
|
|
115
|
+
- Code that implements the spec but diverges from the confirmed prototype or design system → **Spec pass, UI fidelity fail.**
|
|
114
116
|
|
|
115
117
|
Reporting them separately stops one axis from masking the other.
|
|
@@ -102,5 +102,5 @@ High-fidelity HTML prototype
|
|
|
102
102
|
- <yes/no; list blocking gaps>
|
|
103
103
|
|
|
104
104
|
### 下一步
|
|
105
|
-
- <Spec calibration / return to high-fidelity prototype / return to
|
|
105
|
+
- <Spec calibration / return to high-fidelity prototype / return to yss-prototype-stage>
|
|
106
106
|
```
|
|
@@ -12,4 +12,4 @@ Run typechecking regularly, single test files regularly, and the full test suite
|
|
|
12
12
|
|
|
13
13
|
Once done, use /code-review to review the work.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Do not commit or push. Implementation authorization does not include git commit/push. Natural language such as "do it and commit" is not structured Git authorization. Stop after review unless a structured Git authorization is already present.
|
|
@@ -16,7 +16,7 @@ If the issue tracker or triage label vocabulary is missing, tell the user to run
|
|
|
16
16
|
|
|
17
17
|
Check with the user that these seams match their expectations.
|
|
18
18
|
|
|
19
|
-
3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-
|
|
19
|
+
3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-human` triage label. Spec drafts need a human baseline approval before they are `approved`, and before implementation tickets may become `ready-for-agent`. Do not label the Spec itself `ready-for-agent`.
|
|
20
20
|
|
|
21
21
|
<spec-template>
|
|
22
22
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: yss-application
|
|
3
|
+
description: Use when implementing YSS application use cases, transaction boundaries, cross-aggregate orchestration, idempotency, or application-level DTO conversion.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# yss-application
|
|
7
|
+
|
|
8
|
+
Application 层用例编排 skill。负责协调 Domain 与 Gateway,定义事务边界和跨聚合流程,不承载核心领域规则。
|
|
9
|
+
|
|
10
|
+
## 何时使用
|
|
11
|
+
|
|
12
|
+
- 用户要实现 Application Service、用例编排或 `@Transactional` 边界。
|
|
13
|
+
- 用户要补 App 层 MapStruct Convertor 或跨聚合协调逻辑。
|
|
14
|
+
- 脚手架生成完成后进入业务实现,Router 按 `backend_impact` 加载本 skill。
|
|
15
|
+
|
|
16
|
+
## 不适用
|
|
17
|
+
|
|
18
|
+
- 只做领域建模时,优先 `yss-domain`。
|
|
19
|
+
- 只做持久层时,优先 `yss-repository`。
|
|
20
|
+
- 只做 Controller 时,优先 `yss-web-controller`。
|
|
21
|
+
|
|
22
|
+
## 工作方式
|
|
23
|
+
|
|
24
|
+
1. 先探测工程是新 DDD `application/domain/infrastructure/adapter` 还是 legacy `core/client/repository` profile。
|
|
25
|
+
2. 确认 Use Case、Application 边界、事务边界已在批准合同中写明。
|
|
26
|
+
3. 实现 AppService 时调用 Domain Service / Gateway,核心规则下沉 Domain。
|
|
27
|
+
4. 涉及 POJO 样板加载 `lombok`;涉及 App 层转换加载 `mapstruct`。
|
|
28
|
+
5. 详细包结构、注解、示例和 legacy 兼容说明见 `references/application-layer-guide.md`。
|
|
29
|
+
|
|
30
|
+
## 产物范围
|
|
31
|
+
|
|
32
|
+
- `application/.../service/*Service.java`(或 legacy `core/service`)
|
|
33
|
+
- `application/.../service/impl/*ServiceImpl.java`
|
|
34
|
+
- `application/.../service/convertor/*Convertor.java`(MapStruct)
|
|
35
|
+
|
|
36
|
+
## 协同顺序
|
|
37
|
+
|
|
38
|
+
- 领域建模:`yss-domain`
|
|
39
|
+
- 持久层:`yss-repository`
|
|
40
|
+
- Web 适配:`yss-web-controller`
|
|
41
|
+
- DTO 契约:`yss-dto`
|
|
42
|
+
|
|
43
|
+
## 阶段 7 合同
|
|
44
|
+
|
|
45
|
+
- 只消费批准后的 `Slice Implementation Contract` 和当前 `work_unit`。
|
|
46
|
+
- AppService 骨架可 `controlled-generation`;用例编排、事务、幂等、权限和失败行为必须 `behavior-tdd`。
|
|
47
|
+
- 按 `yss-router/references/yss-skill-execution-result.md` 返回统一 `YSS Skill Execution Result`。
|
|
48
|
+
- 发现新 API、权限、状态机或跨上下文影响时填入 `new_impacts` 并暂停。
|
|
49
|
+
|
|
50
|
+
## 按需读取
|
|
51
|
+
|
|
52
|
+
- 分层开发规范:`references/application-layer-guide.md`
|