oh-my-customcode 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -129
- package/dist/cli/index.js +95 -95
- package/dist/index.js +7 -32
- package/package.json +1 -1
- package/templates/{agents/sw-architect/documenter/AGENT.md → .claude/agents/arch-documenter.md} +7 -39
- package/templates/{agents/sw-architect/speckit-agent/AGENT.md → .claude/agents/arch-speckit-agent.md} +61 -63
- package/templates/.claude/agents/be-express-expert.md +71 -0
- package/templates/.claude/agents/be-fastapi-expert.md +33 -0
- package/templates/.claude/agents/be-go-backend-expert.md +33 -0
- package/templates/.claude/agents/be-nestjs-expert.md +51 -0
- package/templates/.claude/agents/be-springboot-expert.md +75 -0
- package/templates/.claude/agents/db-supabase-expert.md +63 -0
- package/templates/{agents/sw-engineer/frontend/svelte-agent/AGENT.md → .claude/agents/fe-svelte-agent.md} +16 -31
- package/templates/.claude/agents/fe-vercel-agent.md +57 -0
- package/templates/{agents/sw-engineer/frontend/vuejs-agent/AGENT.md → .claude/agents/fe-vuejs-agent.md} +16 -31
- package/templates/.claude/agents/infra-aws-expert.md +37 -0
- package/templates/.claude/agents/infra-docker-expert.md +37 -0
- package/templates/.claude/agents/lang-golang-expert.md +33 -0
- package/templates/.claude/agents/lang-java21-expert.md +56 -0
- package/templates/.claude/agents/lang-kotlin-expert.md +33 -0
- package/templates/.claude/agents/lang-python-expert.md +33 -0
- package/templates/.claude/agents/lang-rust-expert.md +33 -0
- package/templates/.claude/agents/lang-typescript-expert.md +33 -0
- package/templates/.claude/agents/mgr-creator.md +102 -0
- package/templates/{agents/manager/gitnerd/AGENT.md → .claude/agents/mgr-gitnerd.md} +8 -17
- package/templates/.claude/agents/mgr-sauron.md +139 -0
- package/templates/{agents/manager/supplier/AGENT.md → .claude/agents/mgr-supplier.md} +14 -46
- package/templates/.claude/agents/mgr-sync-checker.md +89 -0
- package/templates/{agents/manager/updater/AGENT.md → .claude/agents/mgr-updater.md} +21 -53
- package/templates/{agents/qa-team/qa-engineer/AGENT.md → .claude/agents/qa-engineer.md} +13 -24
- package/templates/{agents/qa-team/qa-planner/AGENT.md → .claude/agents/qa-planner.md} +10 -20
- package/templates/{agents/qa-team/qa-writer/AGENT.md → .claude/agents/qa-writer.md} +10 -20
- package/templates/.claude/agents/sys-memory-keeper.md +105 -0
- package/templates/.claude/agents/sys-naggy.md +81 -0
- package/templates/{agents/sw-engineer/tooling/bun-expert/AGENT.md → .claude/agents/tool-bun-expert.md} +28 -39
- package/templates/.claude/agents/tool-npm-expert.md +76 -0
- package/templates/.claude/agents/tool-optimizer.md +75 -0
- package/templates/{agents/tutor/go-tutor/AGENT.md → .claude/agents/tutor-go.md} +16 -27
- package/templates/.claude/contexts/ecomode.md +5 -5
- package/templates/.claude/rules/MUST-agent-design.md +60 -42
- package/templates/.claude/rules/MUST-agent-identification.md +11 -11
- package/templates/.claude/rules/MUST-continuous-improvement.md +2 -2
- package/templates/.claude/rules/MUST-intent-transparency.md +18 -18
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +197 -111
- package/templates/.claude/rules/MUST-parallel-execution.md +86 -29
- package/templates/.claude/rules/MUST-sync-verification.md +52 -45
- package/templates/.claude/rules/MUST-tool-identification.md +79 -19
- package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
- package/templates/.claude/rules/SHOULD-hud-statusline.md +12 -5
- package/templates/.claude/rules/SHOULD-memory-integration.md +4 -4
- package/templates/.claude/rules/SHOULD-pipeline-mode.md +1 -1
- package/templates/.claude/skills/audit-agents/SKILL.md +116 -0
- package/templates/{skills/infrastructure → .claude/skills}/aws-best-practices/SKILL.md +4 -4
- package/templates/.claude/skills/create-agent/SKILL.md +91 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +238 -0
- package/templates/{commands/dev/refactor.md → .claude/skills/dev-refactor/SKILL.md} +17 -20
- package/templates/{commands/dev/review.md → .claude/skills/dev-review/SKILL.md} +16 -17
- package/templates/{agents/manager/supplier/refs/skills/infrastructure → .claude/skills}/docker-best-practices/SKILL.md +4 -4
- package/templates/{agents/manager/supplier/refs/skills/backend → .claude/skills}/fastapi-best-practices/SKILL.md +4 -4
- package/templates/.claude/skills/fix-refs/SKILL.md +107 -0
- package/templates/{skills/backend → .claude/skills}/go-backend-best-practices/SKILL.md +4 -4
- package/templates/{skills/development → .claude/skills}/go-best-practices/SKILL.md +4 -4
- package/templates/{commands/system/help.md → .claude/skills/help/SKILL.md} +34 -46
- package/templates/{skills/orchestration → .claude/skills}/intent-detection/SKILL.md +14 -14
- package/templates/{agents/manager/supplier/refs/skills/orchestration → .claude/skills}/intent-detection/patterns/agent-triggers.yaml +117 -110
- package/templates/{agents/sw-engineer/language/kotlin-expert/refs → .claude/skills}/kotlin-best-practices/SKILL.md +4 -4
- package/templates/{commands/system/lists.md → .claude/skills/lists/SKILL.md} +25 -33
- package/templates/{agents/manager/supplier/refs/skills/system → .claude/skills}/memory-management/SKILL.md +10 -10
- package/templates/{commands/memory/recall.md → .claude/skills/memory-recall/SKILL.md} +31 -43
- package/templates/{commands/memory/save.md → .claude/skills/memory-save/SKILL.md} +27 -29
- package/templates/.claude/skills/npm-audit/SKILL.md +72 -0
- package/templates/.claude/skills/npm-publish/SKILL.md +63 -0
- package/templates/.claude/skills/npm-version/SKILL.md +75 -0
- package/templates/.claude/skills/optimize-analyze/SKILL.md +55 -0
- package/templates/.claude/skills/optimize-bundle/SKILL.md +67 -0
- package/templates/.claude/skills/optimize-report/SKILL.md +74 -0
- package/templates/{skills/orchestration → .claude/skills}/pipeline-execution/SKILL.md +4 -4
- package/templates/{commands/pipeline/list.md → .claude/skills/pipeline-list/SKILL.md} +11 -18
- package/templates/{commands/pipeline/run.md → .claude/skills/pipeline-run/SKILL.md} +38 -22
- package/templates/{agents/sw-engineer/language/python-expert/refs → .claude/skills}/python-best-practices/SKILL.md +4 -4
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +277 -0
- package/templates/{skills/development → .claude/skills}/react-best-practices/SKILL.md +4 -4
- package/templates/{skills/system → .claude/skills}/result-aggregation/SKILL.md +17 -17
- package/templates/{agents/sw-engineer/language/rust-expert/refs → .claude/skills}/rust-best-practices/SKILL.md +4 -4
- package/templates/.claude/skills/sauron-watch/SKILL.md +144 -0
- package/templates/.claude/skills/secretary-routing/SKILL.md +178 -0
- package/templates/{skills/backend → .claude/skills}/springboot-best-practices/SKILL.md +4 -4
- package/templates/{commands/system/status.md → .claude/skills/status/SKILL.md} +29 -39
- package/templates/.claude/skills/supabase-postgres-best-practices/SKILL.md +98 -0
- package/templates/{skills/development → .claude/skills}/typescript-best-practices/SKILL.md +4 -4
- package/templates/{commands/updater/docs.md → .claude/skills/update-docs/SKILL.md} +71 -96
- package/templates/{commands/updater/external.md → .claude/skills/update-external/SKILL.md} +34 -99
- package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/vercel-deploy/SKILL.md +4 -4
- package/templates/{agents/manager/supplier/refs/skills/development → .claude/skills}/web-design-guidelines/SKILL.md +4 -4
- package/templates/CLAUDE.md.en +71 -70
- package/templates/CLAUDE.md.ko +64 -64
- package/templates/examples/code-review.yaml +66 -0
- package/templates/guides/aws/index.yaml +1 -1
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/guides/docker/index.yaml +1 -1
- package/templates/guides/fastapi/index.yaml +1 -1
- package/templates/guides/go-backend/index.yaml +1 -1
- package/templates/guides/golang/index.yaml +1 -1
- package/templates/guides/index.yaml +9 -0
- package/templates/guides/kotlin/index.yaml +1 -1
- package/templates/guides/python/index.yaml +1 -1
- package/templates/guides/rust/index.yaml +1 -1
- package/templates/guides/springboot/index.yaml +1 -1
- package/templates/guides/supabase-postgres/README.md +32 -0
- package/templates/guides/supabase-postgres/index.yaml +19 -0
- package/templates/guides/typescript/index.yaml +1 -1
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +11 -17
- package/templates/pipelines/examples/code-review.yaml +1 -1
- package/templates/templates/pipeline-template.yaml +50 -0
- package/templates/agents/index.yaml +0 -243
- package/templates/agents/infra-engineer/aws-expert/AGENT.md +0 -47
- package/templates/agents/infra-engineer/aws-expert/index.yaml +0 -27
- package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +0 -169
- package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +0 -26
- package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +0 -143
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +0 -279
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +0 -27
- package/templates/agents/infra-engineer/docker-expert/AGENT.md +0 -47
- package/templates/agents/infra-engineer/docker-expert/index.yaml +0 -27
- package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +0 -284
- package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +0 -262
- package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +0 -26
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +0 -274
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +0 -26
- package/templates/agents/manager/creator/AGENT.md +0 -274
- package/templates/agents/manager/creator/index.yaml +0 -66
- package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +0 -93
- package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +0 -107
- package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +0 -108
- package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +0 -132
- package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +0 -199
- package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +0 -62
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +0 -291
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -341
- package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +0 -84
- package/templates/agents/manager/creator/refs/rules/MUST-safety.md +0 -69
- package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +0 -219
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +0 -112
- package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +0 -145
- package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +0 -102
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +0 -89
- package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +0 -103
- package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +0 -114
- package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +0 -165
- package/templates/agents/manager/creator/refs/rules/index.yaml +0 -125
- package/templates/agents/manager/gitnerd/index.yaml +0 -55
- package/templates/agents/manager/sauron/AGENT.md +0 -153
- package/templates/agents/manager/sauron/index.yaml +0 -52
- package/templates/agents/manager/supplier/index.yaml +0 -31
- package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +0 -169
- package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +0 -143
- package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +0 -42
- package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +0 -107
- package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +0 -90
- package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +0 -129
- package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +0 -165
- package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +0 -100
- package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +0 -58
- package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +0 -80
- package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +0 -89
- package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +0 -51
- package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +0 -284
- package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +0 -262
- package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +0 -232
- package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +0 -21
- package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +0 -243
- package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +0 -212
- package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +0 -282
- package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +0 -309
- package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +0 -250
- package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +0 -27
- package/templates/agents/manager/supplier/refs/guides/index.yaml +0 -101
- package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +0 -247
- package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +0 -234
- package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/python/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +0 -202
- package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +0 -79
- package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +0 -262
- package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +0 -180
- package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +0 -361
- package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +0 -22
- package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +0 -225
- package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +0 -219
- package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +0 -66
- package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +0 -20
- package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +0 -102
- package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +0 -93
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +0 -107
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +0 -108
- package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +0 -132
- package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +0 -199
- package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +0 -62
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +0 -291
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -341
- package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +0 -84
- package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +0 -69
- package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +0 -219
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +0 -112
- package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +0 -145
- package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +0 -102
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +0 -89
- package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +0 -103
- package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +0 -114
- package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +0 -165
- package/templates/agents/manager/supplier/refs/rules/index.yaml +0 -125
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +0 -25
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +0 -337
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +0 -356
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +0 -27
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +0 -202
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +0 -25
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +0 -255
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +0 -27
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +0 -221
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +0 -25
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +0 -100
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +0 -39
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +0 -266
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +0 -320
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +0 -28
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +0 -30
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +0 -34
- package/templates/agents/manager/supplier/refs/skills/index.yaml +0 -129
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +0 -279
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +0 -27
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +0 -26
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +0 -214
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +0 -30
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +0 -188
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +0 -27
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +0 -30
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +0 -163
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +0 -36
- package/templates/agents/manager/sync-checker/AGENT.md +0 -34
- package/templates/agents/manager/sync-checker/index.yaml +0 -32
- package/templates/agents/manager/updater/index.yaml +0 -31
- package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +0 -93
- package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +0 -107
- package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +0 -108
- package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +0 -132
- package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +0 -199
- package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +0 -62
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +0 -291
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -341
- package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +0 -84
- package/templates/agents/manager/updater/refs/rules/MUST-safety.md +0 -69
- package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +0 -219
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +0 -112
- package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +0 -145
- package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +0 -102
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +0 -89
- package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +0 -103
- package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +0 -114
- package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +0 -165
- package/templates/agents/manager/updater/refs/rules/index.yaml +0 -125
- package/templates/agents/orchestrator/dev-lead/AGENT.md +0 -116
- package/templates/agents/orchestrator/dev-lead/index.yaml +0 -73
- package/templates/agents/orchestrator/planner/AGENT.md +0 -102
- package/templates/agents/orchestrator/planner/index.yaml +0 -38
- package/templates/agents/orchestrator/qa-lead/AGENT.md +0 -92
- package/templates/agents/orchestrator/qa-lead/index.yaml +0 -40
- package/templates/agents/orchestrator/secretary/AGENT.md +0 -132
- package/templates/agents/orchestrator/secretary/index.yaml +0 -55
- package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +0 -93
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +0 -107
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +0 -108
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +0 -132
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +0 -199
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +0 -62
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +0 -291
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -341
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +0 -84
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +0 -69
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +0 -219
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +0 -112
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +0 -145
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +0 -102
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +0 -89
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +0 -103
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +0 -114
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +0 -165
- package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +0 -125
- package/templates/agents/qa-team/qa-engineer/index.yaml +0 -59
- package/templates/agents/qa-team/qa-planner/index.yaml +0 -47
- package/templates/agents/qa-team/qa-writer/index.yaml +0 -44
- package/templates/agents/sw-architect/documenter/index.yaml +0 -39
- package/templates/agents/sw-architect/speckit-agent/index.yaml +0 -78
- package/templates/agents/sw-engineer/backend/express-expert/AGENT.md +0 -132
- package/templates/agents/sw-engineer/backend/express-expert/index.yaml +0 -36
- package/templates/agents/sw-engineer/backend/fastapi-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/backend/fastapi-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +0 -232
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +0 -21
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +0 -269
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +0 -25
- package/templates/agents/sw-engineer/backend/go-backend-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/backend/go-backend-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +0 -26
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +0 -243
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +0 -212
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +0 -337
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +0 -26
- package/templates/agents/sw-engineer/backend/nestjs-expert/AGENT.md +0 -107
- package/templates/agents/sw-engineer/backend/nestjs-expert/index.yaml +0 -43
- package/templates/agents/sw-engineer/backend/springboot-expert/AGENT.md +0 -103
- package/templates/agents/sw-engineer/backend/springboot-expert/index.yaml +0 -69
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +0 -361
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +0 -22
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +0 -356
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +0 -27
- package/templates/agents/sw-engineer/frontend/svelte-agent/index.yaml +0 -41
- package/templates/agents/sw-engineer/frontend/vercel-agent/AGENT.md +0 -67
- package/templates/agents/sw-engineer/frontend/vercel-agent/index.yaml +0 -43
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +0 -100
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +0 -39
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +0 -73
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +0 -30
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +0 -66
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +0 -20
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +0 -102
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +0 -117
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +0 -34
- package/templates/agents/sw-engineer/frontend/vuejs-agent/index.yaml +0 -48
- package/templates/agents/sw-engineer/language/golang-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/language/golang-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +0 -202
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +0 -25
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +0 -282
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +0 -309
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +0 -250
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/java21-expert/AGENT.md +0 -122
- package/templates/agents/sw-engineer/language/java21-expert/index.yaml +0 -51
- package/templates/agents/sw-engineer/language/kotlin-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/language/kotlin-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +0 -247
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +0 -234
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +0 -26
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/python-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/language/python-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +0 -26
- package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +0 -202
- package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +0 -79
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +0 -25
- package/templates/agents/sw-engineer/language/rust-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/language/rust-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +0 -262
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +0 -26
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +0 -180
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +0 -26
- package/templates/agents/sw-engineer/language/typescript-expert/AGENT.md +0 -47
- package/templates/agents/sw-engineer/language/typescript-expert/index.yaml +0 -27
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +0 -225
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +0 -26
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +0 -219
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +0 -320
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +0 -28
- package/templates/agents/sw-engineer/tooling/bun-expert/index.yaml +0 -46
- package/templates/agents/sw-engineer/tooling/npm-expert/AGENT.md +0 -160
- package/templates/agents/sw-engineer/tooling/npm-expert/index.yaml +0 -45
- package/templates/agents/sw-engineer/tooling/optimizer/AGENT.md +0 -170
- package/templates/agents/sw-engineer/tooling/optimizer/index.yaml +0 -45
- package/templates/agents/system/memory-keeper/AGENT.md +0 -126
- package/templates/agents/system/memory-keeper/index.yaml +0 -45
- package/templates/agents/system/naggy/AGENT.md +0 -72
- package/templates/agents/system/naggy/index.yaml +0 -35
- package/templates/agents/tutor/go-tutor/index.yaml +0 -48
- package/templates/commands/COMMANDS.md +0 -136
- package/templates/commands/creator/agent.md +0 -121
- package/templates/commands/git/branch.yaml +0 -8
- package/templates/commands/git/commit.yaml +0 -4
- package/templates/commands/git/pr.yaml +0 -4
- package/templates/commands/git/status.yaml +0 -4
- package/templates/commands/git/sync.yaml +0 -4
- package/templates/commands/index.yaml +0 -225
- package/templates/commands/intent/explain.md +0 -144
- package/templates/commands/naggy/add.yaml +0 -8
- package/templates/commands/naggy/done.yaml +0 -8
- package/templates/commands/naggy/list.yaml +0 -4
- package/templates/commands/naggy/priority.yaml +0 -11
- package/templates/commands/naggy/remind.yaml +0 -4
- package/templates/commands/npm/audit.yaml +0 -62
- package/templates/commands/npm/publish.yaml +0 -52
- package/templates/commands/npm/version.yaml +0 -62
- package/templates/commands/optimize/analyze.yaml +0 -34
- package/templates/commands/optimize/bundle.yaml +0 -50
- package/templates/commands/optimize/report.yaml +0 -56
- package/templates/commands/sauron/quick.yaml +0 -4
- package/templates/commands/sauron/report.yaml +0 -4
- package/templates/commands/sauron/watch.yaml +0 -4
- package/templates/commands/supplier/audit.md +0 -133
- package/templates/commands/supplier/fix.md +0 -121
- package/templates/commands/sync/agents.yaml +0 -4
- package/templates/commands/sync/check.yaml +0 -4
- package/templates/commands/sync/commands.yaml +0 -4
- package/templates/commands/sync/docs.yaml +0 -4
- package/templates/commands/sync/fix.yaml +0 -4
- package/templates/skills/backend/fastapi-best-practices/SKILL.md +0 -269
- package/templates/skills/backend/fastapi-best-practices/index.yaml +0 -25
- package/templates/skills/backend/go-backend-best-practices/index.yaml +0 -26
- package/templates/skills/backend/springboot-best-practices/index.yaml +0 -27
- package/templates/skills/development/go-best-practices/index.yaml +0 -25
- package/templates/skills/development/kotlin-best-practices/SKILL.md +0 -255
- package/templates/skills/development/kotlin-best-practices/index.yaml +0 -27
- package/templates/skills/development/python-best-practices/SKILL.md +0 -221
- package/templates/skills/development/python-best-practices/index.yaml +0 -25
- package/templates/skills/development/react-best-practices/index.yaml +0 -39
- package/templates/skills/development/rust-best-practices/SKILL.md +0 -266
- package/templates/skills/development/rust-best-practices/index.yaml +0 -26
- package/templates/skills/development/typescript-best-practices/index.yaml +0 -28
- package/templates/skills/development/vercel-deploy/SKILL.md +0 -73
- package/templates/skills/development/vercel-deploy/index.yaml +0 -30
- package/templates/skills/development/web-design-guidelines/SKILL.md +0 -117
- package/templates/skills/development/web-design-guidelines/index.yaml +0 -34
- package/templates/skills/index.yaml +0 -129
- package/templates/skills/infrastructure/aws-best-practices/index.yaml +0 -27
- package/templates/skills/infrastructure/docker-best-practices/SKILL.md +0 -274
- package/templates/skills/infrastructure/docker-best-practices/index.yaml +0 -26
- package/templates/skills/orchestration/intent-detection/index.yaml +0 -30
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +0 -342
- package/templates/skills/orchestration/pipeline-execution/index.yaml +0 -27
- package/templates/skills/system/memory-management/SKILL.md +0 -194
- package/templates/skills/system/memory-management/index.yaml +0 -30
- package/templates/skills/system/result-aggregation/index.yaml +0 -36
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Rust Guide
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: rust
|
|
5
|
-
description: Rust language reference documentation
|
|
6
|
-
|
|
7
|
-
source:
|
|
8
|
-
type: external
|
|
9
|
-
origin: rust-lang.org
|
|
10
|
-
urls:
|
|
11
|
-
- https://doc.rust-lang.org/book/
|
|
12
|
-
- https://rust-lang.github.io/api-guidelines/
|
|
13
|
-
- https://doc.rust-lang.org/nightly/style-guide/
|
|
14
|
-
last_fetched: "2026-01-22"
|
|
15
|
-
|
|
16
|
-
documents:
|
|
17
|
-
- name: ownership
|
|
18
|
-
path: ./ownership.md
|
|
19
|
-
description: Ownership, borrowing, and lifetimes
|
|
20
|
-
|
|
21
|
-
- name: error-handling
|
|
22
|
-
path: ./error-handling.md
|
|
23
|
-
description: Error handling patterns in Rust
|
|
24
|
-
|
|
25
|
-
used_by:
|
|
26
|
-
- rust-expert
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
# Rust Ownership
|
|
2
|
-
|
|
3
|
-
> Reference for ownership, borrowing, and lifetimes
|
|
4
|
-
|
|
5
|
-
## Ownership Rules
|
|
6
|
-
|
|
7
|
-
1. Each value has exactly one owner
|
|
8
|
-
2. When the owner goes out of scope, the value is dropped
|
|
9
|
-
3. Values can be moved or borrowed
|
|
10
|
-
|
|
11
|
-
## Move Semantics
|
|
12
|
-
|
|
13
|
-
```rust
|
|
14
|
-
// Move ownership
|
|
15
|
-
let s1 = String::from("hello");
|
|
16
|
-
let s2 = s1; // s1 is moved to s2
|
|
17
|
-
// s1 is no longer valid
|
|
18
|
-
|
|
19
|
-
// Clone to copy
|
|
20
|
-
let s1 = String::from("hello");
|
|
21
|
-
let s2 = s1.clone(); // s1 is still valid
|
|
22
|
-
|
|
23
|
-
// Copy types (stack-only data)
|
|
24
|
-
let x = 5;
|
|
25
|
-
let y = x; // x is still valid (i32 implements Copy)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Borrowing
|
|
29
|
-
|
|
30
|
-
### Immutable References
|
|
31
|
-
|
|
32
|
-
```rust
|
|
33
|
-
fn main() {
|
|
34
|
-
let s1 = String::from("hello");
|
|
35
|
-
let len = calculate_length(&s1); // borrow s1
|
|
36
|
-
println!("The length of '{}' is {}.", s1, len);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
fn calculate_length(s: &String) -> usize {
|
|
40
|
-
s.len()
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Mutable References
|
|
45
|
-
|
|
46
|
-
```rust
|
|
47
|
-
fn main() {
|
|
48
|
-
let mut s = String::from("hello");
|
|
49
|
-
change(&mut s);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
fn change(some_string: &mut String) {
|
|
53
|
-
some_string.push_str(", world");
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Borrowing Rules
|
|
58
|
-
|
|
59
|
-
```rust
|
|
60
|
-
// Rule 1: At any time, either ONE mutable reference
|
|
61
|
-
// OR any number of immutable references
|
|
62
|
-
let mut s = String::from("hello");
|
|
63
|
-
|
|
64
|
-
let r1 = &s; // OK
|
|
65
|
-
let r2 = &s; // OK
|
|
66
|
-
// let r3 = &mut s; // ERROR: cannot borrow as mutable
|
|
67
|
-
|
|
68
|
-
let r3 = &mut s; // OK after r1 and r2 are done
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Lifetimes
|
|
72
|
-
|
|
73
|
-
### Basic Syntax
|
|
74
|
-
|
|
75
|
-
```rust
|
|
76
|
-
// Lifetime annotation
|
|
77
|
-
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
|
|
78
|
-
if x.len() > y.len() {
|
|
79
|
-
x
|
|
80
|
-
} else {
|
|
81
|
-
y
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Struct Lifetimes
|
|
87
|
-
|
|
88
|
-
```rust
|
|
89
|
-
struct ImportantExcerpt<'a> {
|
|
90
|
-
part: &'a str,
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
impl<'a> ImportantExcerpt<'a> {
|
|
94
|
-
fn level(&self) -> i32 {
|
|
95
|
-
3
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
fn announce_and_return_part(&self, announcement: &str) -> &str {
|
|
99
|
-
println!("Attention please: {}", announcement);
|
|
100
|
-
self.part
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Lifetime Elision
|
|
106
|
-
|
|
107
|
-
```rust
|
|
108
|
-
// These are equivalent:
|
|
109
|
-
fn first_word(s: &str) -> &str { ... }
|
|
110
|
-
fn first_word<'a>(s: &'a str) -> &'a str { ... }
|
|
111
|
-
|
|
112
|
-
// Elision rules:
|
|
113
|
-
// 1. Each reference parameter gets its own lifetime
|
|
114
|
-
// 2. If exactly one input lifetime, it's assigned to all outputs
|
|
115
|
-
// 3. If &self or &mut self, its lifetime is assigned to outputs
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Static Lifetime
|
|
119
|
-
|
|
120
|
-
```rust
|
|
121
|
-
// 'static: lives for entire program duration
|
|
122
|
-
let s: &'static str = "I have a static lifetime.";
|
|
123
|
-
|
|
124
|
-
// All string literals have 'static lifetime
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Common Patterns
|
|
128
|
-
|
|
129
|
-
### Returning References
|
|
130
|
-
|
|
131
|
-
```rust
|
|
132
|
-
// Cannot return reference to local variable
|
|
133
|
-
fn dangle() -> &String { // ERROR
|
|
134
|
-
let s = String::from("hello");
|
|
135
|
-
&s // s goes out of scope!
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Return owned value instead
|
|
139
|
-
fn no_dangle() -> String {
|
|
140
|
-
let s = String::from("hello");
|
|
141
|
-
s
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Struct with References
|
|
146
|
-
|
|
147
|
-
```rust
|
|
148
|
-
// Struct holding reference must have lifetime
|
|
149
|
-
struct Config<'a> {
|
|
150
|
-
query: &'a str,
|
|
151
|
-
filename: &'a str,
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Implementation with lifetime
|
|
155
|
-
impl<'a> Config<'a> {
|
|
156
|
-
fn new(args: &'a [String]) -> Config<'a> {
|
|
157
|
-
Config {
|
|
158
|
-
query: &args[1],
|
|
159
|
-
filename: &args[2],
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Multiple Lifetimes
|
|
166
|
-
|
|
167
|
-
```rust
|
|
168
|
-
fn longest_with_announcement<'a, 'b>(
|
|
169
|
-
x: &'a str,
|
|
170
|
-
y: &'a str,
|
|
171
|
-
ann: &'b str,
|
|
172
|
-
) -> &'a str {
|
|
173
|
-
println!("Announcement: {}", ann);
|
|
174
|
-
if x.len() > y.len() {
|
|
175
|
-
x
|
|
176
|
-
} else {
|
|
177
|
-
y
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
```
|
package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Rust Best Practices Skill
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: rust-best-practices
|
|
5
|
-
category: development
|
|
6
|
-
description: Idiomatic Rust patterns from official guidelines
|
|
7
|
-
|
|
8
|
-
source:
|
|
9
|
-
type: internal
|
|
10
|
-
reference:
|
|
11
|
-
- https://doc.rust-lang.org/book/
|
|
12
|
-
- https://rust-lang.github.io/api-guidelines/
|
|
13
|
-
- https://doc.rust-lang.org/nightly/style-guide/
|
|
14
|
-
|
|
15
|
-
provides:
|
|
16
|
-
- Rust naming conventions
|
|
17
|
-
- Ownership and borrowing patterns
|
|
18
|
-
- Error handling patterns
|
|
19
|
-
- Trait and generic design
|
|
20
|
-
- Memory management guidelines
|
|
21
|
-
- Concurrency patterns
|
|
22
|
-
- API design guidelines
|
|
23
|
-
- Documentation standards
|
|
24
|
-
|
|
25
|
-
used_by:
|
|
26
|
-
- rust-expert
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# TypeScript Expert Agent
|
|
2
|
-
|
|
3
|
-
> **Type**: SW Engineer
|
|
4
|
-
> **Source**: Internal
|
|
5
|
-
|
|
6
|
-
## Purpose
|
|
7
|
-
|
|
8
|
-
Expert TypeScript developer specialized in writing type-safe, maintainable, and scalable TypeScript code following industry best practices.
|
|
9
|
-
|
|
10
|
-
## Capabilities
|
|
11
|
-
|
|
12
|
-
1. Write type-safe TypeScript code with proper type annotations
|
|
13
|
-
2. Design robust type systems using advanced TypeScript features
|
|
14
|
-
3. Leverage generics, conditional types, and mapped types
|
|
15
|
-
4. Implement proper error handling patterns
|
|
16
|
-
5. Optimize for both development experience and runtime performance
|
|
17
|
-
6. Apply Node.js and browser-specific patterns
|
|
18
|
-
|
|
19
|
-
## When to Use
|
|
20
|
-
|
|
21
|
-
- Writing new TypeScript applications or libraries
|
|
22
|
-
- Reviewing existing TypeScript code for type safety
|
|
23
|
-
- Designing APIs with strong type contracts
|
|
24
|
-
- Migrating JavaScript to TypeScript
|
|
25
|
-
- Implementing Node.js backend services
|
|
26
|
-
|
|
27
|
-
## Skills
|
|
28
|
-
|
|
29
|
-
| Skill | Purpose |
|
|
30
|
-
|-------|---------|
|
|
31
|
-
| typescript-best-practices | Core TypeScript development guidelines |
|
|
32
|
-
|
|
33
|
-
## Guides
|
|
34
|
-
|
|
35
|
-
| Guide | Purpose |
|
|
36
|
-
|-------|---------|
|
|
37
|
-
| typescript | Reference documentation from official TypeScript docs |
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
1. Understand requirements
|
|
43
|
-
2. Apply typescript-best-practices skill
|
|
44
|
-
3. Reference typescript guide for specific patterns
|
|
45
|
-
4. Write/review code with type safety
|
|
46
|
-
5. Ensure proper type inference and explicit annotations
|
|
47
|
-
```
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# TypeScript Expert Agent
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: typescript-expert
|
|
5
|
-
type: sw-engineer/language
|
|
6
|
-
description: Expert TypeScript developer with focus on type safety
|
|
7
|
-
|
|
8
|
-
source:
|
|
9
|
-
type: internal
|
|
10
|
-
|
|
11
|
-
capabilities:
|
|
12
|
-
- Write type-safe TypeScript code
|
|
13
|
-
- Design robust type systems
|
|
14
|
-
- Leverage generics and advanced types
|
|
15
|
-
- Implement error handling patterns
|
|
16
|
-
- Optimize for DX and performance
|
|
17
|
-
- Node.js and browser patterns
|
|
18
|
-
|
|
19
|
-
skills:
|
|
20
|
-
- name: typescript-best-practices
|
|
21
|
-
path: ../../../../skills/development/typescript-best-practices/
|
|
22
|
-
required: true
|
|
23
|
-
|
|
24
|
-
guides:
|
|
25
|
-
- name: typescript
|
|
26
|
-
path: ../../../../guides/typescript/
|
|
27
|
-
required: true
|
package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md
DELETED
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
# TypeScript Advanced Types
|
|
2
|
-
|
|
3
|
-
> Reference for advanced TypeScript type patterns
|
|
4
|
-
|
|
5
|
-
## Utility Types
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
// Partial - make all properties optional
|
|
9
|
-
type PartialUser = Partial<User>;
|
|
10
|
-
|
|
11
|
-
// Required - make all properties required
|
|
12
|
-
type RequiredUser = Required<User>;
|
|
13
|
-
|
|
14
|
-
// Readonly - make all properties readonly
|
|
15
|
-
type ReadonlyUser = Readonly<User>;
|
|
16
|
-
|
|
17
|
-
// Pick - select specific properties
|
|
18
|
-
type UserName = Pick<User, 'name' | 'email'>;
|
|
19
|
-
|
|
20
|
-
// Omit - exclude specific properties
|
|
21
|
-
type UserWithoutId = Omit<User, 'id'>;
|
|
22
|
-
|
|
23
|
-
// Record - create object type with key-value pairs
|
|
24
|
-
type UserMap = Record<string, User>;
|
|
25
|
-
|
|
26
|
-
// Exclude - exclude types from union
|
|
27
|
-
type NonNullStatus = Exclude<Status | null, null>;
|
|
28
|
-
|
|
29
|
-
// Extract - extract types from union
|
|
30
|
-
type StringStatus = Extract<Status, string>;
|
|
31
|
-
|
|
32
|
-
// NonNullable - remove null and undefined
|
|
33
|
-
type DefinedValue = NonNullable<string | null | undefined>;
|
|
34
|
-
|
|
35
|
-
// ReturnType - get function return type
|
|
36
|
-
type Result = ReturnType<typeof fetchUser>;
|
|
37
|
-
|
|
38
|
-
// Parameters - get function parameter types
|
|
39
|
-
type Params = Parameters<typeof fetchUser>;
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Mapped Types
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
// Make all properties optional
|
|
46
|
-
type Optional<T> = {
|
|
47
|
-
[P in keyof T]?: T[P];
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// Make all properties readonly
|
|
51
|
-
type Immutable<T> = {
|
|
52
|
-
readonly [P in keyof T]: T[P];
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
// Make all properties nullable
|
|
56
|
-
type Nullable<T> = {
|
|
57
|
-
[P in keyof T]: T[P] | null;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
// Remap keys
|
|
61
|
-
type Getters<T> = {
|
|
62
|
-
[P in keyof T as `get${Capitalize<string & P>}`]: () => T[P];
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Filter properties by type
|
|
66
|
-
type OnlyStrings<T> = {
|
|
67
|
-
[P in keyof T as T[P] extends string ? P : never]: T[P];
|
|
68
|
-
};
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Conditional Types
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
// Basic conditional
|
|
75
|
-
type IsString<T> = T extends string ? true : false;
|
|
76
|
-
|
|
77
|
-
// With infer
|
|
78
|
-
type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
|
|
79
|
-
|
|
80
|
-
// Array element type
|
|
81
|
-
type ElementType<T> = T extends (infer E)[] ? E : never;
|
|
82
|
-
|
|
83
|
-
// Function return type
|
|
84
|
-
type GetReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
|
|
85
|
-
|
|
86
|
-
// Distributive conditional
|
|
87
|
-
type ToArray<T> = T extends any ? T[] : never;
|
|
88
|
-
// ToArray<string | number> = string[] | number[]
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Template Literal Types
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
// Simple template
|
|
95
|
-
type Greeting = `Hello, ${string}!`;
|
|
96
|
-
|
|
97
|
-
// With union
|
|
98
|
-
type EventHandler = `on${Capitalize<'click' | 'hover' | 'focus'>}`;
|
|
99
|
-
// 'onClick' | 'onHover' | 'onFocus'
|
|
100
|
-
|
|
101
|
-
// Extract from string
|
|
102
|
-
type ExtractRouteParams<T extends string> =
|
|
103
|
-
T extends `${string}:${infer Param}/${infer Rest}`
|
|
104
|
-
? Param | ExtractRouteParams<Rest>
|
|
105
|
-
: T extends `${string}:${infer Param}`
|
|
106
|
-
? Param
|
|
107
|
-
: never;
|
|
108
|
-
|
|
109
|
-
// ExtractRouteParams<'/users/:id/posts/:postId'>
|
|
110
|
-
// = 'id' | 'postId'
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Discriminated Unions
|
|
114
|
-
|
|
115
|
-
```typescript
|
|
116
|
-
interface Circle {
|
|
117
|
-
kind: 'circle';
|
|
118
|
-
radius: number;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
interface Square {
|
|
122
|
-
kind: 'square';
|
|
123
|
-
side: number;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
interface Rectangle {
|
|
127
|
-
kind: 'rectangle';
|
|
128
|
-
width: number;
|
|
129
|
-
height: number;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
type Shape = Circle | Square | Rectangle;
|
|
133
|
-
|
|
134
|
-
function getArea(shape: Shape): number {
|
|
135
|
-
switch (shape.kind) {
|
|
136
|
-
case 'circle':
|
|
137
|
-
return Math.PI * shape.radius ** 2;
|
|
138
|
-
case 'square':
|
|
139
|
-
return shape.side ** 2;
|
|
140
|
-
case 'rectangle':
|
|
141
|
-
return shape.width * shape.height;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## Index Signatures
|
|
147
|
-
|
|
148
|
-
```typescript
|
|
149
|
-
// String index
|
|
150
|
-
interface Dictionary {
|
|
151
|
-
[key: string]: string;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Number index
|
|
155
|
-
interface NumberMap {
|
|
156
|
-
[index: number]: string;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// With specific properties
|
|
160
|
-
interface User {
|
|
161
|
-
id: string;
|
|
162
|
-
name: string;
|
|
163
|
-
[key: string]: string; // additional properties
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// Template literal index
|
|
167
|
-
type Handlers = {
|
|
168
|
-
[K in `on${Capitalize<string>}`]: (event: Event) => void;
|
|
169
|
-
};
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Type Narrowing
|
|
173
|
-
|
|
174
|
-
```typescript
|
|
175
|
-
// Control flow analysis
|
|
176
|
-
function process(value: string | number | null) {
|
|
177
|
-
if (value === null) {
|
|
178
|
-
return; // value is null
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
if (typeof value === 'string') {
|
|
182
|
-
console.log(value.toUpperCase()); // value is string
|
|
183
|
-
} else {
|
|
184
|
-
console.log(value.toFixed(2)); // value is number
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// Assertion functions
|
|
189
|
-
function assertIsString(value: unknown): asserts value is string {
|
|
190
|
-
if (typeof value !== 'string') {
|
|
191
|
-
throw new Error('Not a string');
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
// Type predicates
|
|
196
|
-
function isNonNull<T>(value: T): value is NonNullable<T> {
|
|
197
|
-
return value !== null && value !== undefined;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
const filtered = items.filter(isNonNull);
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
## Brand Types
|
|
204
|
-
|
|
205
|
-
```typescript
|
|
206
|
-
// Create distinct types for same underlying type
|
|
207
|
-
type UserId = string & { readonly brand: unique symbol };
|
|
208
|
-
type PostId = string & { readonly brand: unique symbol };
|
|
209
|
-
|
|
210
|
-
function createUserId(id: string): UserId {
|
|
211
|
-
return id as UserId;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
function createPostId(id: string): PostId {
|
|
215
|
-
return id as PostId;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
function getUser(id: UserId): User { ... }
|
|
219
|
-
|
|
220
|
-
const userId = createUserId('123');
|
|
221
|
-
const postId = createPostId('456');
|
|
222
|
-
|
|
223
|
-
getUser(userId); // OK
|
|
224
|
-
getUser(postId); // Error: PostId not assignable to UserId
|
|
225
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# TypeScript Guide
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: typescript
|
|
5
|
-
description: TypeScript language reference documentation
|
|
6
|
-
|
|
7
|
-
source:
|
|
8
|
-
type: external
|
|
9
|
-
origin: typescriptlang.org
|
|
10
|
-
urls:
|
|
11
|
-
- https://www.typescriptlang.org/docs/handbook/
|
|
12
|
-
- https://google.github.io/styleguide/tsguide.html
|
|
13
|
-
- https://basarat.gitbook.io/typescript/
|
|
14
|
-
last_fetched: "2026-01-22"
|
|
15
|
-
|
|
16
|
-
documents:
|
|
17
|
-
- name: type-system
|
|
18
|
-
path: ./type-system.md
|
|
19
|
-
description: TypeScript type system fundamentals
|
|
20
|
-
|
|
21
|
-
- name: advanced-types
|
|
22
|
-
path: ./advanced-types.md
|
|
23
|
-
description: Advanced TypeScript type patterns
|
|
24
|
-
|
|
25
|
-
used_by:
|
|
26
|
-
- typescript-expert
|