oh-my-customcode 0.1.4 → 0.2.1
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 +273 -100
- package/dist/index.js +11 -53
- 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 +192 -113
- package/templates/.claude/rules/MUST-parallel-execution.md +28 -28
- package/templates/.claude/rules/MUST-sync-verification.md +52 -45
- package/templates/.claude/rules/MUST-tool-identification.md +12 -14
- package/templates/.claude/rules/SHOULD-ecomode.md +3 -3
- package/templates/.claude/rules/SHOULD-hud-statusline.md +4 -4
- 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/{agents/manager/supplier/refs/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 +75 -100
- package/templates/CLAUDE.md.ko +74 -99
- package/templates/guides/aws/index.yaml +1 -1
- 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/manifest.json +9 -15
- package/templates/pipelines/examples/code-review.yaml +1 -1
- 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 -334
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +0 -398
- 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 -174
- 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 -96
- 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/11-sub-agents.md +0 -159
- 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 -334
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +0 -398
- 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 -174
- 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 -96
- 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/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 -334
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +0 -398
- 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 -174
- 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 -96
- 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 -163
- 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 -181
- 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 -334
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +0 -398
- 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 -174
- 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 -96
- 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/SKILL.md +0 -337
- 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,51 +0,0 @@
|
|
|
1
|
-
# Java 21 Expert Agent
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: java21-expert
|
|
5
|
-
type: sw-engineer/language
|
|
6
|
-
description: Expert Java 21 developer specialized in modern Java features
|
|
7
|
-
|
|
8
|
-
source:
|
|
9
|
-
type: internal
|
|
10
|
-
|
|
11
|
-
capabilities:
|
|
12
|
-
- Write modern Java 21 code
|
|
13
|
-
- Implement Virtual Threads (JEP 444)
|
|
14
|
-
- Apply Pattern Matching for switch
|
|
15
|
-
- Use Record Patterns (JEP 440)
|
|
16
|
-
- Leverage Sequenced Collections (JEP 431)
|
|
17
|
-
- Follow Google Java Style Guide
|
|
18
|
-
- Migrate legacy Java to Java 21
|
|
19
|
-
|
|
20
|
-
features:
|
|
21
|
-
- name: Virtual Threads
|
|
22
|
-
jep: JEP 444
|
|
23
|
-
description: Lightweight threads for scalable concurrency
|
|
24
|
-
- name: Pattern Matching for switch
|
|
25
|
-
description: Exhaustive switch with type patterns
|
|
26
|
-
- name: Record Patterns
|
|
27
|
-
jep: JEP 440
|
|
28
|
-
description: Deconstruct record values in patterns
|
|
29
|
-
- name: Sequenced Collections
|
|
30
|
-
jep: JEP 431
|
|
31
|
-
description: Collections with defined encounter order
|
|
32
|
-
|
|
33
|
-
references:
|
|
34
|
-
- name: JDK 21 Documentation
|
|
35
|
-
url: https://docs.oracle.com/en/java/javase/21/
|
|
36
|
-
- name: JDK 21 Guides
|
|
37
|
-
url: https://docs.oracle.com/en/java/javase/21/books.html
|
|
38
|
-
- name: JEPs since JDK 17
|
|
39
|
-
url: https://openjdk.org/projects/jdk/21/jeps-since-jdk-17
|
|
40
|
-
- name: Google Java Style Guide
|
|
41
|
-
url: https://google.github.io/styleguide/javaguide.html
|
|
42
|
-
|
|
43
|
-
skills:
|
|
44
|
-
- name: java21-best-practices
|
|
45
|
-
path: ../../../../skills/development/java21-best-practices/
|
|
46
|
-
required: true
|
|
47
|
-
|
|
48
|
-
guides:
|
|
49
|
-
- name: java21
|
|
50
|
-
path: ../../../../guides/java21/
|
|
51
|
-
required: true
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Kotlin Expert Agent
|
|
2
|
-
|
|
3
|
-
> **Type**: SW Engineer
|
|
4
|
-
> **Source**: Internal
|
|
5
|
-
|
|
6
|
-
## Purpose
|
|
7
|
-
|
|
8
|
-
Expert Kotlin developer specialized in writing idiomatic, concise, and safe Kotlin code following JetBrains official conventions.
|
|
9
|
-
|
|
10
|
-
## Capabilities
|
|
11
|
-
|
|
12
|
-
1. Write idiomatic Kotlin code following official conventions
|
|
13
|
-
2. Design null-safe APIs using Kotlin's type system
|
|
14
|
-
3. Leverage functional programming features effectively
|
|
15
|
-
4. Implement coroutines for asynchronous programming
|
|
16
|
-
5. Optimize for Android and multiplatform development
|
|
17
|
-
6. Apply Kotlin-specific design patterns
|
|
18
|
-
|
|
19
|
-
## When to Use
|
|
20
|
-
|
|
21
|
-
- Writing new Kotlin applications or libraries
|
|
22
|
-
- Reviewing existing Kotlin code for improvements
|
|
23
|
-
- Designing Android applications
|
|
24
|
-
- Implementing Kotlin multiplatform projects
|
|
25
|
-
- Migrating Java code to Kotlin
|
|
26
|
-
|
|
27
|
-
## Skills
|
|
28
|
-
|
|
29
|
-
| Skill | Purpose |
|
|
30
|
-
|-------|---------|
|
|
31
|
-
| kotlin-best-practices | Core Kotlin development guidelines |
|
|
32
|
-
|
|
33
|
-
## Guides
|
|
34
|
-
|
|
35
|
-
| Guide | Purpose |
|
|
36
|
-
|-------|---------|
|
|
37
|
-
| kotlin | Reference documentation from official Kotlin docs |
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
1. Understand requirements
|
|
43
|
-
2. Apply kotlin-best-practices skill
|
|
44
|
-
3. Reference kotlin guide for specific patterns
|
|
45
|
-
4. Write/review code with idiomatic Kotlin style
|
|
46
|
-
5. Ensure null safety and functional patterns
|
|
47
|
-
```
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Kotlin Expert Agent
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: kotlin-expert
|
|
5
|
-
type: sw-engineer/language
|
|
6
|
-
description: Expert Kotlin developer following JetBrains conventions
|
|
7
|
-
|
|
8
|
-
source:
|
|
9
|
-
type: internal
|
|
10
|
-
|
|
11
|
-
capabilities:
|
|
12
|
-
- Write idiomatic Kotlin code
|
|
13
|
-
- Design null-safe APIs
|
|
14
|
-
- Leverage functional features
|
|
15
|
-
- Implement coroutines
|
|
16
|
-
- Android development
|
|
17
|
-
- Multiplatform projects
|
|
18
|
-
|
|
19
|
-
skills:
|
|
20
|
-
- name: kotlin-best-practices
|
|
21
|
-
path: ../../../../skills/development/kotlin-best-practices/
|
|
22
|
-
required: true
|
|
23
|
-
|
|
24
|
-
guides:
|
|
25
|
-
- name: kotlin
|
|
26
|
-
path: ../../../../guides/kotlin/
|
|
27
|
-
required: true
|
package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md
DELETED
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
# Kotlin Coding Conventions
|
|
2
|
-
|
|
3
|
-
> Source: https://kotlinlang.org/docs/coding-conventions.html
|
|
4
|
-
|
|
5
|
-
## Source Code Organization
|
|
6
|
-
|
|
7
|
-
### Directory Structure
|
|
8
|
-
|
|
9
|
-
Follow package structure with common root omitted:
|
|
10
|
-
- `org.example.kotlin.network.socket` → `network/socket` subdirectory
|
|
11
|
-
|
|
12
|
-
### Source File Names
|
|
13
|
-
|
|
14
|
-
| Content | File Name |
|
|
15
|
-
|---------|-----------|
|
|
16
|
-
| Single class | `MyClass.kt` |
|
|
17
|
-
| Multiple declarations | `ProcessDeclarations.kt` |
|
|
18
|
-
| Platform-specific | `Platform.jvm.kt` |
|
|
19
|
-
|
|
20
|
-
### Class Layout
|
|
21
|
-
|
|
22
|
-
1. Property declarations and initializer blocks
|
|
23
|
-
2. Secondary constructors
|
|
24
|
-
3. Method declarations
|
|
25
|
-
4. Companion object
|
|
26
|
-
|
|
27
|
-
```kotlin
|
|
28
|
-
class MyClass(val name: String) {
|
|
29
|
-
// 1. Properties
|
|
30
|
-
private val items = mutableListOf<Item>()
|
|
31
|
-
|
|
32
|
-
init {
|
|
33
|
-
// initializer block
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// 2. Secondary constructors
|
|
37
|
-
constructor() : this("default")
|
|
38
|
-
|
|
39
|
-
// 3. Methods
|
|
40
|
-
fun doSomething() { }
|
|
41
|
-
|
|
42
|
-
// 4. Companion object
|
|
43
|
-
companion object {
|
|
44
|
-
const val TAG = "MyClass"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Naming Conventions
|
|
50
|
-
|
|
51
|
-
| Element | Style | Example |
|
|
52
|
-
|---------|-------|---------|
|
|
53
|
-
| Packages | lowercase | `org.example.project` |
|
|
54
|
-
| Classes | UpperCamelCase | `DeclarationProcessor` |
|
|
55
|
-
| Functions | lowerCamelCase | `processDeclarations()` |
|
|
56
|
-
| Properties | lowerCamelCase | `declarationCount` |
|
|
57
|
-
| Constants | UPPER_SNAKE_CASE | `MAX_COUNT` |
|
|
58
|
-
| Backing properties | underscore prefix | `_elementList` |
|
|
59
|
-
|
|
60
|
-
### Acronyms
|
|
61
|
-
|
|
62
|
-
- 2 letters: both uppercase (`IOStream`)
|
|
63
|
-
- 3+ letters: capitalize first only (`XmlFormatter`)
|
|
64
|
-
|
|
65
|
-
## Formatting
|
|
66
|
-
|
|
67
|
-
### Indentation
|
|
68
|
-
|
|
69
|
-
```kotlin
|
|
70
|
-
if (elements != null) {
|
|
71
|
-
for (element in elements) {
|
|
72
|
-
// 4 spaces indentation
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Horizontal Whitespace
|
|
78
|
-
|
|
79
|
-
```kotlin
|
|
80
|
-
// Binary operators with spaces
|
|
81
|
-
val sum = a + b
|
|
82
|
-
|
|
83
|
-
// No space around range
|
|
84
|
-
for (i in 0..n) { }
|
|
85
|
-
|
|
86
|
-
// No space around dot
|
|
87
|
-
foo.bar().filter { it > 2 }
|
|
88
|
-
|
|
89
|
-
// Space after control keywords
|
|
90
|
-
if (condition) { }
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Colons
|
|
94
|
-
|
|
95
|
-
```kotlin
|
|
96
|
-
// Type and supertype: space before
|
|
97
|
-
abstract class Foo<out T : Any> : IFoo {
|
|
98
|
-
// Declaration and type: no space before
|
|
99
|
-
abstract fun foo(a: Int): T
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Function Signatures
|
|
104
|
-
|
|
105
|
-
```kotlin
|
|
106
|
-
// Short: single line
|
|
107
|
-
fun foo(a: Int): String = a.toString()
|
|
108
|
-
|
|
109
|
-
// Long: break parameters
|
|
110
|
-
fun longMethodName(
|
|
111
|
-
argument: ArgumentType = defaultValue,
|
|
112
|
-
argument2: AnotherArgumentType,
|
|
113
|
-
): ReturnType {
|
|
114
|
-
// body
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Trailing Commas
|
|
119
|
-
|
|
120
|
-
```kotlin
|
|
121
|
-
class Person(
|
|
122
|
-
val firstName: String,
|
|
123
|
-
val lastName: String,
|
|
124
|
-
val age: Int, // trailing comma
|
|
125
|
-
)
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Idiomatic Patterns
|
|
129
|
-
|
|
130
|
-
### Immutability
|
|
131
|
-
|
|
132
|
-
```kotlin
|
|
133
|
-
// Prefer val
|
|
134
|
-
val name = "Kotlin"
|
|
135
|
-
|
|
136
|
-
// Prefer immutable collections
|
|
137
|
-
val items = listOf(1, 2, 3)
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Default Parameters
|
|
141
|
-
|
|
142
|
-
```kotlin
|
|
143
|
-
// Prefer over overloads
|
|
144
|
-
fun read(
|
|
145
|
-
b: ByteArray,
|
|
146
|
-
off: Int = 0,
|
|
147
|
-
len: Int = b.size,
|
|
148
|
-
) { }
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Expression Bodies
|
|
152
|
-
|
|
153
|
-
```kotlin
|
|
154
|
-
// Prefer for simple functions
|
|
155
|
-
fun square(x: Int) = x * x
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Conditionals
|
|
159
|
-
|
|
160
|
-
```kotlin
|
|
161
|
-
// Use if for binary
|
|
162
|
-
return if (x) foo() else bar()
|
|
163
|
-
|
|
164
|
-
// Use when for multiple
|
|
165
|
-
return when (x) {
|
|
166
|
-
0 -> "zero"
|
|
167
|
-
1 -> "one"
|
|
168
|
-
else -> "many"
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Functional Operations
|
|
173
|
-
|
|
174
|
-
```kotlin
|
|
175
|
-
// Prefer
|
|
176
|
-
list.filter { it > 10 }
|
|
177
|
-
.map { it * 2 }
|
|
178
|
-
.take(5)
|
|
179
|
-
|
|
180
|
-
// Over manual loops
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Ranges
|
|
184
|
-
|
|
185
|
-
```kotlin
|
|
186
|
-
// Good: open-ended range
|
|
187
|
-
for (i in 0..<n) { }
|
|
188
|
-
|
|
189
|
-
// Avoid
|
|
190
|
-
for (i in 0..n - 1) { }
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
## Null Safety
|
|
194
|
-
|
|
195
|
-
```kotlin
|
|
196
|
-
// Safe call
|
|
197
|
-
val length = text?.length
|
|
198
|
-
|
|
199
|
-
// Elvis operator
|
|
200
|
-
val name = user?.name ?: "Unknown"
|
|
201
|
-
|
|
202
|
-
// Let for non-null
|
|
203
|
-
user?.let {
|
|
204
|
-
println("Hello, ${it.name}")
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// Not-null assertion (use sparingly)
|
|
208
|
-
val name = user!!.name
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
## Documentation
|
|
212
|
-
|
|
213
|
-
```kotlin
|
|
214
|
-
/**
|
|
215
|
-
* Returns the absolute value of the given [number].
|
|
216
|
-
*/
|
|
217
|
-
fun abs(number: Int): Int = if (number < 0) -number else number
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* A group of *members*.
|
|
221
|
-
*
|
|
222
|
-
* This class has no useful logic; it's just a documentation example.
|
|
223
|
-
*
|
|
224
|
-
* @property name the name of this group.
|
|
225
|
-
* @constructor Creates an empty group.
|
|
226
|
-
*/
|
|
227
|
-
class Group(val name: String) {
|
|
228
|
-
/**
|
|
229
|
-
* Adds a [member] to this group.
|
|
230
|
-
* @return the new size of the group.
|
|
231
|
-
*/
|
|
232
|
-
fun add(member: Member): Int { ... }
|
|
233
|
-
}
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
## Avoid Redundant Constructs
|
|
237
|
-
|
|
238
|
-
```kotlin
|
|
239
|
-
// Avoid explicit Unit return
|
|
240
|
-
fun foo() { } // not: fun foo(): Unit { }
|
|
241
|
-
|
|
242
|
-
// Avoid semicolons
|
|
243
|
-
val x = 1 // not: val x = 1;
|
|
244
|
-
|
|
245
|
-
// Use simple string templates
|
|
246
|
-
"$name" // not: "${name}"
|
|
247
|
-
```
|
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
# Kotlin Idioms
|
|
2
|
-
|
|
3
|
-
> Source: https://kotlinlang.org/docs/idioms.html
|
|
4
|
-
|
|
5
|
-
## Data Classes
|
|
6
|
-
|
|
7
|
-
```kotlin
|
|
8
|
-
data class Customer(val name: String, val email: String)
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Provides:
|
|
12
|
-
- `equals()` / `hashCode()`
|
|
13
|
-
- `toString()`: `"Customer(name=John, email=john@example.com)"`
|
|
14
|
-
- `copy()` function
|
|
15
|
-
- `componentN()` functions
|
|
16
|
-
|
|
17
|
-
## Default Parameter Values
|
|
18
|
-
|
|
19
|
-
```kotlin
|
|
20
|
-
fun foo(a: Int = 0, b: String = "") { }
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Filtering Collections
|
|
24
|
-
|
|
25
|
-
```kotlin
|
|
26
|
-
val positives = list.filter { it > 0 }
|
|
27
|
-
|
|
28
|
-
// or with explicit type
|
|
29
|
-
val positives = list.filter { x -> x > 0 }
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Checking Element Presence
|
|
33
|
-
|
|
34
|
-
```kotlin
|
|
35
|
-
if ("john@example.com" in emailsList) { }
|
|
36
|
-
if ("jane@example.com" !in emailsList) { }
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## String Interpolation
|
|
40
|
-
|
|
41
|
-
```kotlin
|
|
42
|
-
println("Name: $name")
|
|
43
|
-
println("Age: ${person.age}")
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Instance Checks
|
|
47
|
-
|
|
48
|
-
```kotlin
|
|
49
|
-
when (x) {
|
|
50
|
-
is Foo -> ...
|
|
51
|
-
is Bar -> ...
|
|
52
|
-
else -> ...
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Read-only Collections
|
|
57
|
-
|
|
58
|
-
```kotlin
|
|
59
|
-
val list = listOf("a", "b", "c")
|
|
60
|
-
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Accessing Maps
|
|
64
|
-
|
|
65
|
-
```kotlin
|
|
66
|
-
val map = mapOf("a" to 1)
|
|
67
|
-
println(map["a"]) // prints 1
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Traversing Maps
|
|
71
|
-
|
|
72
|
-
```kotlin
|
|
73
|
-
for ((k, v) in map) {
|
|
74
|
-
println("$k -> $v")
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Ranges
|
|
79
|
-
|
|
80
|
-
```kotlin
|
|
81
|
-
for (i in 1..100) { } // closed range: 1 to 100
|
|
82
|
-
for (i in 1..<100) { } // half-open: 1 to 99
|
|
83
|
-
for (i in 2..10 step 2) { }
|
|
84
|
-
for (i in 10 downTo 1) { }
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Lazy Property
|
|
88
|
-
|
|
89
|
-
```kotlin
|
|
90
|
-
val p: String by lazy {
|
|
91
|
-
// compute the string
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Extension Functions
|
|
96
|
-
|
|
97
|
-
```kotlin
|
|
98
|
-
fun String.spaceToCamelCase() { }
|
|
99
|
-
"Convert this to camelcase".spaceToCamelCase()
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Singleton
|
|
103
|
-
|
|
104
|
-
```kotlin
|
|
105
|
-
object Resource {
|
|
106
|
-
val name = "Name"
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Instantiate Abstract Class
|
|
111
|
-
|
|
112
|
-
```kotlin
|
|
113
|
-
abstract class MyAbstractClass {
|
|
114
|
-
abstract fun doSomething()
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
val myObject = object : MyAbstractClass() {
|
|
118
|
-
override fun doSomething() { }
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## if-not-null Shorthand
|
|
123
|
-
|
|
124
|
-
```kotlin
|
|
125
|
-
// Simple
|
|
126
|
-
val length = files?.size
|
|
127
|
-
|
|
128
|
-
// With else
|
|
129
|
-
val length = files?.size ?: 0
|
|
130
|
-
|
|
131
|
-
// With let
|
|
132
|
-
files?.let {
|
|
133
|
-
println(it.size)
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Return on when
|
|
138
|
-
|
|
139
|
-
```kotlin
|
|
140
|
-
fun transform(color: String): Int {
|
|
141
|
-
return when (color) {
|
|
142
|
-
"Red" -> 0
|
|
143
|
-
"Green" -> 1
|
|
144
|
-
"Blue" -> 2
|
|
145
|
-
else -> throw IllegalArgumentException("Invalid color")
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## try-catch Expression
|
|
151
|
-
|
|
152
|
-
```kotlin
|
|
153
|
-
val result = try {
|
|
154
|
-
count()
|
|
155
|
-
} catch (e: ArithmeticException) {
|
|
156
|
-
throw IllegalStateException(e)
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## if Expression
|
|
161
|
-
|
|
162
|
-
```kotlin
|
|
163
|
-
val y = if (x == 1) {
|
|
164
|
-
"one"
|
|
165
|
-
} else if (x == 2) {
|
|
166
|
-
"two"
|
|
167
|
-
} else {
|
|
168
|
-
"other"
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Builder-style Usage
|
|
173
|
-
|
|
174
|
-
```kotlin
|
|
175
|
-
fun arrayOfMinusOnes(size: Int): IntArray {
|
|
176
|
-
return IntArray(size).apply { fill(-1) }
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## Single-expression Functions
|
|
181
|
-
|
|
182
|
-
```kotlin
|
|
183
|
-
fun theAnswer() = 42
|
|
184
|
-
|
|
185
|
-
// equivalent to
|
|
186
|
-
fun theAnswer(): Int {
|
|
187
|
-
return 42
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Call Multiple Methods (with)
|
|
192
|
-
|
|
193
|
-
```kotlin
|
|
194
|
-
class Turtle {
|
|
195
|
-
fun penDown()
|
|
196
|
-
fun penUp()
|
|
197
|
-
fun turn(degrees: Double)
|
|
198
|
-
fun forward(pixels: Double)
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
val myTurtle = Turtle()
|
|
202
|
-
with(myTurtle) {
|
|
203
|
-
penDown()
|
|
204
|
-
for (i in 1..4) {
|
|
205
|
-
forward(100.0)
|
|
206
|
-
turn(90.0)
|
|
207
|
-
}
|
|
208
|
-
penUp()
|
|
209
|
-
}
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
## Configure Object (apply)
|
|
213
|
-
|
|
214
|
-
```kotlin
|
|
215
|
-
val myRectangle = Rectangle().apply {
|
|
216
|
-
length = 4
|
|
217
|
-
breadth = 5
|
|
218
|
-
color = 0xFAFAFA
|
|
219
|
-
}
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
## Swap Variables
|
|
223
|
-
|
|
224
|
-
```kotlin
|
|
225
|
-
var a = 1
|
|
226
|
-
var b = 2
|
|
227
|
-
a = b.also { b = a }
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## TODO: Marking Incomplete
|
|
231
|
-
|
|
232
|
-
```kotlin
|
|
233
|
-
fun calcTaxes(): BigDecimal = TODO("Waiting for feedback from accounting")
|
|
234
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Kotlin Guide
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: kotlin
|
|
5
|
-
description: Kotlin language reference documentation
|
|
6
|
-
|
|
7
|
-
source:
|
|
8
|
-
type: external
|
|
9
|
-
origin: kotlinlang.org
|
|
10
|
-
urls:
|
|
11
|
-
- https://kotlinlang.org/docs/coding-conventions.html
|
|
12
|
-
- https://kotlinlang.org/docs/idioms.html
|
|
13
|
-
- https://developer.android.com/kotlin/style-guide
|
|
14
|
-
last_fetched: "2026-01-22"
|
|
15
|
-
|
|
16
|
-
documents:
|
|
17
|
-
- name: coding-conventions
|
|
18
|
-
path: ./coding-conventions.md
|
|
19
|
-
description: Official Kotlin coding conventions
|
|
20
|
-
|
|
21
|
-
- name: idioms
|
|
22
|
-
path: ./idioms.md
|
|
23
|
-
description: Idiomatic Kotlin patterns
|
|
24
|
-
|
|
25
|
-
used_by:
|
|
26
|
-
- kotlin-expert
|
package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Kotlin Best Practices Skill
|
|
2
|
-
|
|
3
|
-
metadata:
|
|
4
|
-
name: kotlin-best-practices
|
|
5
|
-
category: development
|
|
6
|
-
description: Idiomatic Kotlin patterns from JetBrains conventions
|
|
7
|
-
|
|
8
|
-
source:
|
|
9
|
-
type: internal
|
|
10
|
-
reference:
|
|
11
|
-
- https://kotlinlang.org/docs/coding-conventions.html
|
|
12
|
-
- https://kotlinlang.org/docs/idioms.html
|
|
13
|
-
- https://developer.android.com/kotlin/style-guide
|
|
14
|
-
|
|
15
|
-
provides:
|
|
16
|
-
- Kotlin naming conventions
|
|
17
|
-
- Source file organization
|
|
18
|
-
- Formatting standards
|
|
19
|
-
- Function design patterns
|
|
20
|
-
- Null safety patterns
|
|
21
|
-
- Idiomatic expressions
|
|
22
|
-
- Lambda best practices
|
|
23
|
-
- Coroutine patterns
|
|
24
|
-
- Documentation guidelines
|
|
25
|
-
|
|
26
|
-
used_by:
|
|
27
|
-
- kotlin-expert
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Python Expert Agent
|
|
2
|
-
|
|
3
|
-
> **Type**: SW Engineer
|
|
4
|
-
> **Source**: Internal
|
|
5
|
-
|
|
6
|
-
## Purpose
|
|
7
|
-
|
|
8
|
-
Expert Python developer specialized in writing Pythonic, clean, and maintainable code following PEP 8 and The Zen of Python.
|
|
9
|
-
|
|
10
|
-
## Capabilities
|
|
11
|
-
|
|
12
|
-
1. Write idiomatic Python code following PEP 8
|
|
13
|
-
2. Review and refactor Python code for best practices
|
|
14
|
-
3. Design clean APIs and module structures
|
|
15
|
-
4. Implement proper exception handling patterns
|
|
16
|
-
5. Optimize Python applications for performance
|
|
17
|
-
6. Apply The Zen of Python principles
|
|
18
|
-
|
|
19
|
-
## When to Use
|
|
20
|
-
|
|
21
|
-
- Writing new Python applications or packages
|
|
22
|
-
- Reviewing existing Python code for improvements
|
|
23
|
-
- Designing Python APIs and libraries
|
|
24
|
-
- Debugging issues in Python code
|
|
25
|
-
- Learning Python best practices
|
|
26
|
-
|
|
27
|
-
## Skills
|
|
28
|
-
|
|
29
|
-
| Skill | Purpose |
|
|
30
|
-
|-------|---------|
|
|
31
|
-
| python-best-practices | Core Python development guidelines from PEP 8 |
|
|
32
|
-
|
|
33
|
-
## Guides
|
|
34
|
-
|
|
35
|
-
| Guide | Purpose |
|
|
36
|
-
|-------|---------|
|
|
37
|
-
| python | Reference documentation from official Python docs |
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
1. Understand requirements
|
|
43
|
-
2. Apply python-best-practices skill
|
|
44
|
-
3. Reference python guide for specific patterns
|
|
45
|
-
4. Write/review code with Pythonic style
|
|
46
|
-
5. Ensure PEP 8 compliance and readability
|
|
47
|
-
```
|