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
|
@@ -67,7 +67,7 @@ node scripts/generate_scaffold.mjs \
|
|
|
67
67
|
- Harness 内多项目布局必须使用 `apps/backend/<project>/`;`apps/backend/` 只能是生成器的父容器,`app/backend/`、`app/frontend/` 及其子路径一律拒绝。
|
|
68
68
|
- 不要在 skill 里硬编码用户业务字段或真实连接信息。
|
|
69
69
|
- 生成后要检查依赖关系是否仍符合分层约束。
|
|
70
|
-
- 生成后必须继续使用 `yss-backend-scaffold-parent` 校验工程基线,再按垂直切片加载 `yss-domain`、`yss-repository`、`yss-web-controller`
|
|
70
|
+
- 生成后必须继续使用 `yss-backend-scaffold-parent` 校验工程基线,再按垂直切片加载 `yss-domain`、`yss-application`、`yss-repository`、`yss-web-controller` 等行为 skill;各 skill 的 `references/*-layer-guide.md` 承载分层开发规范。
|
|
71
71
|
- 当前脚手架第一阶段仅支持经过验证的 `mysql`;未提供完整模板和验证的数据库类型不得伪装成已支持。
|
|
72
72
|
- 生成后的后端工程必须使用项目根目录 `./mvnw ...` 执行构建、测试、运行和 CI 验证;不得在 README、实施记录、Ticket、Review 或 Release 中默认写裸 `mvn ...`。既有仓库确实无法使用 wrapper 时,必须记录受控例外。
|
|
73
73
|
- 原型确认后,`scaffold_status=required` 才能进入本 skill;本 skill 的生成边界是工程结构、POM、配置、Wrapper 和机械模板,不是业务实现。
|
|
@@ -188,7 +188,7 @@ Controller -> Service -> Gateway -> Repository -> Database
|
|
|
188
188
|
## 7. 参考资料
|
|
189
189
|
|
|
190
190
|
- [YSS 后端开发规范](./yss-backend-scaffold-parent/SKILL.md)
|
|
191
|
-
- [Domain 层开发指南](./yss-backend-scaffold-domain/SKILL.md)
|
|
192
|
-
- [Application 层开发指南](./yss-backend-scaffold-application/SKILL.md)
|
|
193
|
-
- [Infrastructure 层开发指南](./yss-backend-scaffold-infrastructure/SKILL.md)
|
|
194
|
-
- [Web Adapter 开发指南](./yss-backend-scaffold-web/SKILL.md)
|
|
191
|
+
- [Domain 层开发指南](./yss-backend-scaffold-domain/SKILL.md) → `yss-domain`
|
|
192
|
+
- [Application 层开发指南](./yss-backend-scaffold-application/SKILL.md) → `yss-application`
|
|
193
|
+
- [Infrastructure 层开发指南](./yss-backend-scaffold-infrastructure/SKILL.md) → `yss-repository`
|
|
194
|
+
- [Web Adapter 开发指南](./yss-backend-scaffold-web/SKILL.md) → `yss-web-controller`
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: yss-
|
|
2
|
+
name: yss-application-layer-reference
|
|
3
3
|
description: Use when the YSS DDD scaffold workflow reaches Application-layer implementation and needs the shared Application skill.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Application Layer Reference
|
|
7
7
|
|
|
8
|
-
**REQUIRED SUB-SKILL:** Use `yss-
|
|
8
|
+
**REQUIRED SUB-SKILL:** Use `yss-application` as the single authoritative Application-layer implementation guide (`references/application-layer-guide.md`). Do not maintain a second copy under the scaffold generator.
|
|
@@ -2,4 +2,4 @@ version: 1
|
|
|
2
2
|
interface:
|
|
3
3
|
display_name: "YSS Scaffold Application"
|
|
4
4
|
short_description: "YSS 后端脚手架应用层、用例编排与 DTO 规范"
|
|
5
|
-
default_prompt: "Use $yss-
|
|
5
|
+
default_prompt: "Use $yss-application to implement the application layer for a YSS backend scaffold module."
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: yss-
|
|
2
|
+
name: yss-domain-layer-reference
|
|
3
3
|
description: Use when the YSS DDD scaffold workflow reaches Domain-layer implementation and needs the shared Domain skill.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Domain Layer Reference
|
|
7
7
|
|
|
8
|
-
**REQUIRED SUB-SKILL:** Use `yss-
|
|
8
|
+
**REQUIRED SUB-SKILL:** Use `yss-domain` as the single authoritative Domain-layer implementation guide (`references/domain-layer-guide.md`). Do not maintain a second copy under the scaffold generator.
|
|
@@ -2,4 +2,4 @@ version: 1
|
|
|
2
2
|
interface:
|
|
3
3
|
display_name: "YSS Scaffold Domain"
|
|
4
4
|
short_description: "YSS 后端脚手架领域层、聚合与规则建模实践落地规范"
|
|
5
|
-
default_prompt: "Use $yss-
|
|
5
|
+
default_prompt: "Use $yss-domain to implement the domain layer for a YSS backend scaffold module."
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: yss-
|
|
3
|
-
description: Use when the YSS DDD scaffold workflow reaches Infrastructure-layer implementation and needs the shared
|
|
2
|
+
name: yss-infrastructure-layer-reference
|
|
3
|
+
description: Use when the YSS DDD scaffold workflow reaches Infrastructure-layer implementation and needs the shared Repository skill.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Infrastructure Layer Reference
|
|
7
7
|
|
|
8
|
-
**REQUIRED SUB-SKILL:** Use `yss-
|
|
8
|
+
**REQUIRED SUB-SKILL:** Use `yss-repository` as the single authoritative Infrastructure-layer implementation guide (`references/infrastructure-layer-guide.md`). Do not maintain a second copy under the scaffold generator.
|
|
@@ -2,4 +2,4 @@ version: 1
|
|
|
2
2
|
interface:
|
|
3
3
|
display_name: "YSS Scaffold Infrastructure"
|
|
4
4
|
short_description: "YSS 后端脚手架基础设施层与持久化实现设计落地规范"
|
|
5
|
-
default_prompt: "Use $yss-
|
|
5
|
+
default_prompt: "Use $yss-repository to implement the infrastructure layer for a YSS backend scaffold module."
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: yss-
|
|
3
|
-
description: Use when the YSS DDD scaffold workflow reaches Web
|
|
2
|
+
name: yss-web-layer-reference
|
|
3
|
+
description: Use when the YSS DDD scaffold workflow reaches Web Adapter implementation and needs the shared Web Controller skill.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Web Layer Reference
|
|
6
|
+
# Web Adapter Layer Reference
|
|
7
7
|
|
|
8
|
-
**REQUIRED SUB-SKILL:** Use `yss-
|
|
8
|
+
**REQUIRED SUB-SKILL:** Use `yss-web-controller` as the single authoritative Web-layer implementation guide (`references/web-adapter-layer-guide.md`). Do not maintain a second copy under the scaffold generator.
|
|
@@ -2,4 +2,4 @@ version: 1
|
|
|
2
2
|
interface:
|
|
3
3
|
display_name: "YSS Scaffold Web"
|
|
4
4
|
short_description: "YSS 后端脚手架 Web 层、DTO 与控制器规范"
|
|
5
|
-
default_prompt: "Use $yss-
|
|
5
|
+
default_prompt: "Use $yss-web-controller to implement the web adapter layer for a YSS backend scaffold module."
|
|
@@ -51,10 +51,15 @@ description: 用于构建或重构 YSS 领域层代码。当用户要求设计
|
|
|
51
51
|
|
|
52
52
|
## 协同顺序
|
|
53
53
|
|
|
54
|
+
- 需要用例编排时,再接 `yss-application`
|
|
54
55
|
- 需要持久层时,再接 `yss-repository`
|
|
55
56
|
- 需要 Web 层时,再接 `yss-web-controller`
|
|
56
57
|
- 需要完整工程时,先 `yss-ddd-scaffold-generator`
|
|
57
58
|
|
|
59
|
+
## 分层开发规范
|
|
60
|
+
|
|
61
|
+
脚手架生成或进入 Domain 实现前,必须加载 `references/domain-layer-guide.md`:其中定义 DTO/Gateway/Domain Service 包结构、命名、校验与示例,与本 skill 的建模约束一并生效。
|
|
62
|
+
|
|
58
63
|
## 阶段 7 合同
|
|
59
64
|
|
|
60
65
|
- 只消费生命周期已批准的 `Slice Implementation Contract` 和当前 `work_unit`;不得扩大 `allowed_write_paths`。
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "yss-backend-scaffold-domain"
|
|
3
|
-
description: "YSS 管理服务领域层的脚手架和最佳实践。在实现业务逻辑、定义数据网关或创建领域模型时调用。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Domain 层开发规范 (Domain Layer Development Guide)
|
|
7
|
-
|
|
8
1
|
本 Skill 提供了 YSS 数据质量管理服务 **Domain (领域层)** 的开发规范。Domain 层是系统的核心,包含业务逻辑、领域模型和接口定义。
|
|
9
2
|
|
|
10
3
|
## 1. 核心职责 (Core Responsibilities)
|
|
@@ -5,6 +5,8 @@ description: Use when committing or analyzing changes in a YSS micro-frontend ap
|
|
|
5
5
|
|
|
6
6
|
# 微应用提交规范 Skill
|
|
7
7
|
|
|
8
|
+
目录与锁文件身份是 `yss-microapp-commit`;Agent 发现名是 `microapp-commit`。二者指向同一技能,注册表以 alias 对齐。
|
|
9
|
+
|
|
8
10
|
## 📋 目标
|
|
9
11
|
|
|
10
12
|
帮助 AI 为微应用项目生成符合 **Conventional Commits** 规范的 Git 提交信息,支持智能分析变更内容并处理复杂提交场景。
|
|
@@ -111,7 +111,7 @@ skill_source_contract:
|
|
|
111
111
|
lock_version: 3
|
|
112
112
|
source_revisions_required: [mattpocock/skills]
|
|
113
113
|
adaptation_ref_required_when_effective_diff: true
|
|
114
|
-
retired_shared_skills: [batch-grill-me]
|
|
114
|
+
retired_shared_skills: [batch-grill-me, product-design-prototype, yss-dictionary, yss-jdbc, yss-log, yss-taskflow, yss-backend-scaffold-application, yss-backend-scaffold-domain, yss-backend-scaffold-infrastructure, yss-backend-scaffold-web]
|
|
115
115
|
|
|
116
116
|
# 生命周期默认走原生工作单元;Matt user-invoked skill 仅保留为兼容入口。
|
|
117
117
|
lifecycle_native_entries:
|
|
@@ -11,7 +11,7 @@ description: Use when a YSS feature has product-design impact on a primary flow,
|
|
|
11
11
|
|
|
12
12
|
- 先由 `yss-product-lifecycle` 判断产品设计影响;无行为变化的孤立视觉修复记录 `not-applicable`,不创建空资产。
|
|
13
13
|
- Codex 的产出主入口是 `product-design:index`;其他 Agent 使用等价的产品设计能力,但必须产出本技能规定的相同资产和证据。能力或证据不能等价时,暂停并回到人工确认。
|
|
14
|
-
- `
|
|
14
|
+
- `high-fidelity-html-prototype` 仅为历史兼容入口;从它进入时立即回到本合同。已退休的原型技能(含 `product-design-prototype`)不得继续路由。
|
|
15
15
|
|
|
16
16
|
## 资产与门禁顺序
|
|
17
17
|
|
|
@@ -59,10 +59,15 @@ description: Use when generating or refactoring YSS persistence models, BaseRepo
|
|
|
59
59
|
|
|
60
60
|
- metadata / DDL 输入准备:确认输入完整
|
|
61
61
|
- 领域建模:`yss-domain`
|
|
62
|
+
- 用例编排:`yss-application`
|
|
62
63
|
- POJO 样板代码:`lombok`
|
|
63
64
|
- 对象转换:`mapstruct`
|
|
64
65
|
- Web 补齐:`yss-web-controller`
|
|
65
66
|
|
|
67
|
+
## 分层开发规范
|
|
68
|
+
|
|
69
|
+
实现 PO / Repository / GatewayImpl 前,必须加载 `references/infrastructure-layer-guide.md`:其中定义持久化对象、Repository、Convertor 与 Gateway 实现的结构与示例。
|
|
70
|
+
|
|
66
71
|
## 阶段 7 合同
|
|
67
72
|
|
|
68
73
|
- 前置条件:数据架构、领域元数据、实现仓库和批准后的 `Slice Implementation Contract` 均可用;否则不执行本 skill,由 Router 返回 `blocked`。
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "yss-backend-scaffold-infrastructure"
|
|
3
|
-
description: "YSS 服务的基础设施层开发框架和技术指南。在实现数据访问层、数据库实体、外部服务适配器时需要用到。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Infrastructure 层开发规范 (Infrastructure Layer Development Guide)
|
|
7
|
-
|
|
8
1
|
本 Skill 提供了 YSS **Infrastructure (基础设施层)** 的通用开发规范。Infrastructure 层负责实现 Domain 层定义的网关接口,处理数据持久化、外部服务调用和配置管理。
|
|
9
2
|
|
|
10
3
|
## 1. 核心职责 (Core Responsibilities)
|
|
@@ -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`
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "yss-backend-scaffold-web"
|
|
3
|
-
description: "YSS 管理服务的 Web Adapter 开发框架和技术指南。在实现 REST API 控制器、请求处理和响应格式化时需要用到。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Web Adapter Layer Development Guide
|
|
7
|
-
|
|
8
1
|
本技能为开发 YSS 服务的**Web 适配器层**(REST API)提供指导和框架。
|
|
9
2
|
Web 适配器负责通过 HTTP 公开业务功能、处理输入验证和格式化响应。
|
|
10
3
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alibaba-java-code-style
|
|
3
|
+
description: Apply Alibaba Java Development Manual conventions when implementing, refactoring, or reviewing Java/JVM code, Spring-style services, MyBatis/ORM mappings, SQL, Maven dependencies, unit tests, exception/logging behavior, security checks, and design documentation. Use when the user asks for Java code规范, 阿里规范, P3C-style review, Java code style, or compliance with Alibaba Java coding guidelines.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Alibaba Java Code Style
|
|
7
|
+
|
|
8
|
+
This skill distills the provided `阿里巴巴 Java 开发手册` 1.4.0 PDF into execution rules for Codex. Treat rules marked mandatory as review blockers unless the repository's own `AGENTS.md`, security constraints, or existing framework conventions explicitly require a different pattern.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. Identify the touched surface:
|
|
13
|
+
- Java source, naming, constants, OOP, collections, concurrency, control flow, comments: read `references/java-programming.md`.
|
|
14
|
+
- Exceptions, logging, unit tests, or security: read `references/reliability-test-security.md`.
|
|
15
|
+
- MySQL, ORM/MyBatis, Maven dependencies, layering, server/JVM settings, or design artifacts: read `references/database-engineering-design.md`.
|
|
16
|
+
2. Apply mandatory rules first, then use recommended rules to improve maintainability, performance, and readability.
|
|
17
|
+
3. When reviewing, report mandatory violations as findings. Mention recommended violations when they create real risk or are already in the changed area.
|
|
18
|
+
4. When implementing, prefer the repository's existing framework helpers and code generation skills over inventing new local infrastructure.
|
|
19
|
+
5. If a rule touches a project safety boundary such as auth, payment, encryption, raw SQL, database migration scripts, or public base library API changes, produce a draft or `TODO-HUMAN-REVIEW` rather than silently finalizing risky code.
|
|
20
|
+
|
|
21
|
+
## Core Priorities
|
|
22
|
+
|
|
23
|
+
- Keep names readable, English, and consistent with Java layer conventions.
|
|
24
|
+
- Avoid null, equality, wrapper comparison, collection, and concurrency traps that compile cleanly but fail at runtime.
|
|
25
|
+
- Make logs useful without wasting CPU, disk, or alert budget.
|
|
26
|
+
- Keep unit tests automatic, independent, repeatable, and close to public behavior.
|
|
27
|
+
- Bind SQL parameters, define explicit ORM mappings, and never rely on string-concatenated SQL.
|
|
28
|
+
- Preserve layering: web/controller code validates and adapts; service/manager code owns business orchestration; DAO/repository code owns persistence.
|
|
29
|
+
|
|
30
|
+
## Review Checklist
|
|
31
|
+
|
|
32
|
+
- Naming and formatting are consistent: camel case, constants, package names, braces, spacing, line length, UTF-8/Unix line endings.
|
|
33
|
+
- POJO, DTO, DO, VO, Query, enum, interface, implementation, and test names follow the expected suffixes and boolean naming rules.
|
|
34
|
+
- `equals`, `hashCode`, wrapper comparisons, `toString`, `serialVersionUID`, constructors, access modifiers, and getters/setters avoid known pitfalls.
|
|
35
|
+
- Collection code avoids unsafe `subList`, `Arrays.asList`, raw `toArray`, foreach removal, null-unsafe maps, and invalid comparators.
|
|
36
|
+
- Thread code uses named thread pools, avoids `Executors` factories in production code, and handles locking order, date formatting, and scheduled tasks safely.
|
|
37
|
+
- Exceptions are handled at the right layer, logged once with context and stack, and never swallowed or used for normal control flow.
|
|
38
|
+
- Tests use assertions, avoid external dependence, live under `src/test/java`, and cover boundaries, correct cases, design cases, and error cases.
|
|
39
|
+
- Security-sensitive inputs are validated, authorized, escaped, CSRF-protected, rate-limited, and never concatenated into SQL.
|
|
40
|
+
- MySQL DDL/SQL/ORM code uses explicit fields, mappings, indexes, timestamps, `#{}`
|
|
41
|
+
parameter binding, and avoids dangerous cascades, stored procedures, `select *`, and uncontrolled pagination.
|
|
42
|
+
|
|
43
|
+
## Source
|
|
44
|
+
|
|
45
|
+
Based on the user-provided PDF: `阿里巴巴 Java 开发手册` version 1.4.0, Alibaba Group technical team, update date 2018-05-20.
|
|
46
|
+
|
|
47
|
+
## 阶段 7 执行结果
|
|
48
|
+
|
|
49
|
+
- 消费当前合同版本、changed files 和 verification results,只审查合同允许范围。
|
|
50
|
+
- 必须把 mandatory violation 返回为 `violation`,并提供文件/位置/规则证据;高风险项保留 `TODO-HUMAN-REVIEW`。
|
|
51
|
+
- 按统一 `YSS Skill Execution Result` 返回审查证据、偏离和新增安全/SQL/公共 API 影响,不得仅输出“符合规范”。
|
package/template/.cursor/skills/alibaba-java-code-style/references/database-engineering-design.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Database, Engineering, And Design Rules
|
|
2
|
+
|
|
3
|
+
Use this reference for MySQL DDL/SQL, ORM mappings, Maven/library dependency rules, application layering, server/JVM settings, and design artifacts.
|
|
4
|
+
|
|
5
|
+
## MySQL Table Design
|
|
6
|
+
|
|
7
|
+
Mandatory:
|
|
8
|
+
|
|
9
|
+
- Boolean database fields must be named `is_xxx` and use `unsigned tinyint`, where `1` means yes and `0` means no. POJO boolean fields must not use `is` prefix, so define explicit ORM mappings.
|
|
10
|
+
- Table and field names must be lowercase letters or digits. Do not start with digits, use uppercase, or use patterns such as `level_3_name`.
|
|
11
|
+
- Table names must be singular.
|
|
12
|
+
- Do not use MySQL reserved words such as `desc`, `range`, `match`, or `delayed`.
|
|
13
|
+
- Index names: primary key `pk_字段名`, unique index `uk_字段名`, normal index `idx_字段名`.
|
|
14
|
+
- Use `decimal` for decimals. Do not use `float` or `double` for precise stored values.
|
|
15
|
+
- Use `char` for nearly fixed-length strings.
|
|
16
|
+
- `varchar` length must not exceed 5000. For longer content, use `text` in a separate table keyed by the primary key to avoid hurting other index efficiency.
|
|
17
|
+
- Every table must include `id`, `gmt_create`, and `gmt_modified`. `id` is `bigint unsigned` primary key with auto-increment step 1 for single tables; timestamps are `datetime`.
|
|
18
|
+
|
|
19
|
+
Recommended/reference:
|
|
20
|
+
|
|
21
|
+
- Prefer table names like `业务名称_表作用`.
|
|
22
|
+
- Keep database name aligned with application name where possible.
|
|
23
|
+
- Update field comments when field meaning or status values change.
|
|
24
|
+
- Redundant fields are allowed for performance only when consistency is considered, the value is not frequently changed, and the field is not long `varchar` or `text`.
|
|
25
|
+
- Consider sharding only when a single table exceeds about 5 million rows or 2 GB, or when projections clearly require it.
|
|
26
|
+
- Choose compact unsigned integer types where domain ranges allow.
|
|
27
|
+
|
|
28
|
+
## Indexes
|
|
29
|
+
|
|
30
|
+
Mandatory:
|
|
31
|
+
|
|
32
|
+
- Business-unique fields must have unique indexes, even when uniqueness is also checked in application code.
|
|
33
|
+
- Do not join more than 3 tables. Join column types must be exactly consistent and associated columns must have indexes.
|
|
34
|
+
- When indexing `varchar`, specify an index length based on real selectivity instead of indexing the whole field.
|
|
35
|
+
- Page search must not use left fuzzy or full fuzzy queries such as `%keyword` or `%keyword%`; use a search engine when needed.
|
|
36
|
+
|
|
37
|
+
Recommended/reference:
|
|
38
|
+
|
|
39
|
+
- For `order by`, align the ordered field with the last part of the composite index where possible, such as `where a=? and b=? order by c` with index `a_b_c`.
|
|
40
|
+
- Use covering indexes to avoid table lookups where suitable.
|
|
41
|
+
- For deep pagination, use delayed join/subquery techniques to locate IDs first, or cap total pages.
|
|
42
|
+
- SQL optimization target: at least `range`, preferably `ref`, best `const`.
|
|
43
|
+
- Put the most selective equality column on the left side of composite indexes. When mixed with range conditions, place equality conditions first.
|
|
44
|
+
- Avoid implicit type conversion, which can invalidate indexes.
|
|
45
|
+
- Avoid both extremes: indexing every query and resisting necessary indexes such as unique indexes.
|
|
46
|
+
|
|
47
|
+
## SQL And ORM
|
|
48
|
+
|
|
49
|
+
Mandatory:
|
|
50
|
+
|
|
51
|
+
- Use `count(*)` for row counts, not `count(column)` or `count(constant)`.
|
|
52
|
+
- Know `count(distinct col)` ignores nulls; `sum(col)` over all-null rows returns null, so guard against NPE.
|
|
53
|
+
- Use `ISNULL()` or the project-standard equivalent to test nulls; direct equality comparisons with null do not behave as true/false.
|
|
54
|
+
- In pagination code, return immediately when count is 0 instead of running the page query.
|
|
55
|
+
- Do not use foreign keys or cascades; model those relationships in application logic for distributed/high-concurrency systems.
|
|
56
|
+
- Do not use stored procedures in application code.
|
|
57
|
+
- For data correction, especially delete/update, select first and confirm before mutating.
|
|
58
|
+
- In queries, never use `*`; explicitly list required fields.
|
|
59
|
+
- POJO boolean fields must not use `is` prefix, while database fields must use `is_`; define explicit result mappings.
|
|
60
|
+
- Do not rely on `resultClass` for ORM returns. Define `resultMap` or equivalent explicit mappings.
|
|
61
|
+
- MyBatis/iBATIS XML parameters must use `#{}`. Do not use `${}` for user-controlled values because it risks SQL injection.
|
|
62
|
+
- Do not return raw `HashMap`/`Hashtable` as query results; use typed objects.
|
|
63
|
+
- Every update to a table record must update `gmt_modified` to the current time.
|
|
64
|
+
|
|
65
|
+
Recommended/reference:
|
|
66
|
+
|
|
67
|
+
- Avoid large `IN` lists; keep them under about 1000 items if unavoidable.
|
|
68
|
+
- For internationalized storage, use UTF-8; use `utf8mb4` when storing emoji.
|
|
69
|
+
- Avoid `TRUNCATE TABLE` in application code; it has no transaction and does not trigger delete behavior.
|
|
70
|
+
- Do not create a large all-fields update API. Update only changed target fields to reduce mistakes, binlog size, and work.
|
|
71
|
+
- Do not overuse `@Transactional`; consider database QPS and rollback/compensation for cache, search, messages, and statistics.
|
|
72
|
+
|
|
73
|
+
## Application Layering
|
|
74
|
+
|
|
75
|
+
Recommended/reference:
|
|
76
|
+
|
|
77
|
+
- Follow downward dependencies:
|
|
78
|
+
- Open API layer: exposes service methods as RPC/HTTP, handles gateway security and traffic controls.
|
|
79
|
+
- Terminal display layer: templates, JavaScript rendering, JSP, or mobile display.
|
|
80
|
+
- Web layer: forwarding, access control, basic parameter validation, and simple non-reused business handling.
|
|
81
|
+
- Service layer: concrete business logic.
|
|
82
|
+
- Manager layer: common business handling, third-party platform adaptation, service common capability extraction, cache/middleware handling, and DAO composition.
|
|
83
|
+
- DAO layer: persistence interaction with MySQL, Oracle, HBase, etc.
|
|
84
|
+
- External interfaces: other departments' RPC APIs, base platforms, or third-party HTTP APIs.
|
|
85
|
+
- Exception handling by layer:
|
|
86
|
+
- DAO catches broad persistence exceptions and wraps them as `DAOException`; do not log again if the upper layer will log.
|
|
87
|
+
- Service logs exceptions with parameters and context.
|
|
88
|
+
- Manager follows DAO behavior when deployed with Service, or Service behavior when independently deployed.
|
|
89
|
+
- Web should not keep throwing to users; render friendly errors when the page cannot proceed.
|
|
90
|
+
- Open API converts exceptions to error code and message.
|
|
91
|
+
- Domain model meanings:
|
|
92
|
+
- `DO`: database table object, passed upward by DAO.
|
|
93
|
+
- `DTO`: transfer object from Service/Manager outward.
|
|
94
|
+
- `BO`: business object output by Service.
|
|
95
|
+
- `AO`: application object between Web and Service, close to display and not highly reusable.
|
|
96
|
+
- `VO`: view object for Web/template rendering.
|
|
97
|
+
- `Query`: query request object. If a query has more than 2 parameters, wrap them; do not pass `Map`.
|
|
98
|
+
|
|
99
|
+
## Maven And Library Dependencies
|
|
100
|
+
|
|
101
|
+
Mandatory:
|
|
102
|
+
|
|
103
|
+
- Use GAV conventions where applicable: `GroupId` as `com.{company/BU}.business[.subBusiness]`, `ArtifactId` as `product-module`, version as `major.minor.patch`.
|
|
104
|
+
- Version meaning: major for direction/large incompatibility/architecture changes, minor for mostly compatible major features, patch for compatible bugfixes/minor features. Initial formal release should be `1.0.0`.
|
|
105
|
+
- Online applications must not depend on `SNAPSHOT` versions except explicitly allowed security packages.
|
|
106
|
+
- Adding/upgrading a library must preserve dependency mediation outside the intended functional change. Compare `dependency:resolve`/`dependency:tree` and exclude accidental differences.
|
|
107
|
+
- Library APIs may define enum types and accept enum parameters, but should not return enum values or POJOs containing enum values across external library boundaries.
|
|
108
|
+
- Define one version variable for a group of related libraries to avoid version drift.
|
|
109
|
+
- Do not declare the same `GroupId` and `ArtifactId` with different versions across subprojects.
|
|
110
|
+
|
|
111
|
+
Recommended/reference:
|
|
112
|
+
|
|
113
|
+
- Put dependency declarations under `<dependencies>` and version mediation under `<dependencyManagement>`.
|
|
114
|
+
- Avoid adding configuration items to reusable libraries unless truly necessary.
|
|
115
|
+
- Library publishers should keep APIs/dependencies minimal and behavior stable/traceable.
|
|
116
|
+
|
|
117
|
+
## Server And JVM
|
|
118
|
+
|
|
119
|
+
Recommended/reference:
|
|
120
|
+
|
|
121
|
+
- For high-concurrency servers, reduce TCP `time_wait` timeout where operations policy allows.
|
|
122
|
+
- Increase maximum file descriptors for high concurrent connection counts.
|
|
123
|
+
- Set `-XX:+HeapDumpOnOutOfMemoryError` so OOM events produce diagnostic dumps.
|
|
124
|
+
- In production, set JVM `Xms` and `Xmx` to the same size to avoid heap resizing pressure after GC.
|
|
125
|
+
- Use `forward` for internal redirects. Generate external redirect URLs through URL builder utilities to avoid inconsistent maintenance and potential security risk.
|
|
126
|
+
|
|
127
|
+
## Design Rules
|
|
128
|
+
|
|
129
|
+
Mandatory:
|
|
130
|
+
|
|
131
|
+
- Storage schemes and base data structures must pass review and be documented before production execution. Data structure changes such as adding fields also need review.
|
|
132
|
+
- If more than one user type interacts with the system and related use cases exceed 5, use a use-case diagram.
|
|
133
|
+
- If a business object's states exceed 3, use a state diagram and define trigger conditions for state transitions.
|
|
134
|
+
- If a feature call chain involves more than 3 objects, use a sequence diagram and define inputs/outputs at each call.
|
|
135
|
+
- If model classes exceed 5 and dependencies are complex, use a class diagram.
|
|
136
|
+
- If more than 2 objects collaborate and the process is complex, use an activity diagram with swimlanes where useful.
|
|
137
|
+
|
|
138
|
+
Recommended/reference:
|
|
139
|
+
|
|
140
|
+
- Consider exception flows and business boundaries during requirements analysis and system design.
|
|
141
|
+
- Classes should follow single responsibility.
|
|
142
|
+
- Prefer composition/aggregation over inheritance. If inheritance is necessary, obey Liskov substitution.
|
|
143
|
+
- Depend on abstractions and interfaces where it improves extension and maintenance.
|
|
144
|
+
- Design for extension and closed modification in stable business domains.
|
|
145
|
+
- Extract common business behavior or public behavior into shared modules, config, classes, or methods to avoid duplicated code/config.
|
|
146
|
+
- Do not treat agile as only stories plus coding plus release; keep necessary design and documentation for key decisions.
|
|
147
|
+
- Design identifies hard parts, variation points, boundaries, module relations, evolution principles, and nonfunctional requirements such as security, availability, and extensibility.
|