@agents-inc/cli 0.32.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/CHANGELOG.md +462 -0
- package/LICENSE +21 -0
- package/README.md +179 -0
- package/config/skills-matrix.yaml +926 -0
- package/config/stacks.yaml +2186 -0
- package/dist/chunk-3ZOIOVKT.js +365 -0
- package/dist/chunk-3ZOIOVKT.js.map +1 -0
- package/dist/chunk-4RAY5AOI.js +78 -0
- package/dist/chunk-4RAY5AOI.js.map +1 -0
- package/dist/chunk-5PIKNCZX.js +234 -0
- package/dist/chunk-5PIKNCZX.js.map +1 -0
- package/dist/chunk-66UDJBF6.js +96 -0
- package/dist/chunk-66UDJBF6.js.map +1 -0
- package/dist/chunk-7SOPVGDV.js +24 -0
- package/dist/chunk-7SOPVGDV.js.map +1 -0
- package/dist/chunk-A27LOC4Z.js +95 -0
- package/dist/chunk-A27LOC4Z.js.map +1 -0
- package/dist/chunk-B2UBHA66.js +301 -0
- package/dist/chunk-B2UBHA66.js.map +1 -0
- package/dist/chunk-BZN2Z5P7.js +882 -0
- package/dist/chunk-BZN2Z5P7.js.map +1 -0
- package/dist/chunk-BZQBJP34.js +186 -0
- package/dist/chunk-BZQBJP34.js.map +1 -0
- package/dist/chunk-DC5AK3LW.js +105 -0
- package/dist/chunk-DC5AK3LW.js.map +1 -0
- package/dist/chunk-DHET7RCE.js +50 -0
- package/dist/chunk-DHET7RCE.js.map +1 -0
- package/dist/chunk-EMJ2ZKS7.js +346 -0
- package/dist/chunk-EMJ2ZKS7.js.map +1 -0
- package/dist/chunk-FJQRVFMB.js +48 -0
- package/dist/chunk-FJQRVFMB.js.map +1 -0
- package/dist/chunk-FZGYSLJL.js +85 -0
- package/dist/chunk-FZGYSLJL.js.map +1 -0
- package/dist/chunk-H566H3MQ.js +87 -0
- package/dist/chunk-H566H3MQ.js.map +1 -0
- package/dist/chunk-IYG2LAIM.js +90 -0
- package/dist/chunk-IYG2LAIM.js.map +1 -0
- package/dist/chunk-IZZ4IIEG.js +29 -0
- package/dist/chunk-IZZ4IIEG.js.map +1 -0
- package/dist/chunk-JMVWYAHT.js +63 -0
- package/dist/chunk-JMVWYAHT.js.map +1 -0
- package/dist/chunk-LAPCUV4D.js +191 -0
- package/dist/chunk-LAPCUV4D.js.map +1 -0
- package/dist/chunk-LGUI3PMO.js +109 -0
- package/dist/chunk-LGUI3PMO.js.map +1 -0
- package/dist/chunk-MM7NK5N2.js +4542 -0
- package/dist/chunk-MM7NK5N2.js.map +1 -0
- package/dist/chunk-N6S7ZRIL.js +31 -0
- package/dist/chunk-N6S7ZRIL.js.map +1 -0
- package/dist/chunk-O4D67NN7.js +24 -0
- package/dist/chunk-O4D67NN7.js.map +1 -0
- package/dist/chunk-ODUOU55D.js +56 -0
- package/dist/chunk-ODUOU55D.js.map +1 -0
- package/dist/chunk-OGJIZ6QH.js +497 -0
- package/dist/chunk-OGJIZ6QH.js.map +1 -0
- package/dist/chunk-OMV7TLWD.js +340 -0
- package/dist/chunk-OMV7TLWD.js.map +1 -0
- package/dist/chunk-PBEHPQLK.js +146 -0
- package/dist/chunk-PBEHPQLK.js.map +1 -0
- package/dist/chunk-QPTOIZAT.js +32 -0
- package/dist/chunk-QPTOIZAT.js.map +1 -0
- package/dist/chunk-R3XFQKPG.js +111 -0
- package/dist/chunk-R3XFQKPG.js.map +1 -0
- package/dist/chunk-R74PZWQS.js +69 -0
- package/dist/chunk-R74PZWQS.js.map +1 -0
- package/dist/chunk-SO22IQPY.js +45 -0
- package/dist/chunk-SO22IQPY.js.map +1 -0
- package/dist/chunk-T4EXUIBY.js +19 -0
- package/dist/chunk-T4EXUIBY.js.map +1 -0
- package/dist/chunk-U3IGFMCY.js +31 -0
- package/dist/chunk-U3IGFMCY.js.map +1 -0
- package/dist/chunk-UICL22RT.js +318 -0
- package/dist/chunk-UICL22RT.js.map +1 -0
- package/dist/chunk-UX2H2K2G.js +183 -0
- package/dist/chunk-UX2H2K2G.js.map +1 -0
- package/dist/chunk-W2ZSCZ2U.js +93 -0
- package/dist/chunk-W2ZSCZ2U.js.map +1 -0
- package/dist/chunk-WEUVWHMA.js +189 -0
- package/dist/chunk-WEUVWHMA.js.map +1 -0
- package/dist/chunk-XY3XDVMI.js +15599 -0
- package/dist/chunk-XY3XDVMI.js.map +1 -0
- package/dist/chunk-YND42IXK.js +233 -0
- package/dist/chunk-YND42IXK.js.map +1 -0
- package/dist/chunk-YZTWZVGX.js +41 -0
- package/dist/chunk-YZTWZVGX.js.map +1 -0
- package/dist/chunk-Z4TWOP3H.js +81 -0
- package/dist/chunk-Z4TWOP3H.js.map +1 -0
- package/dist/cli/defaults/agent-mappings.yaml +271 -0
- package/dist/commands/build/marketplace.js +252 -0
- package/dist/commands/build/marketplace.js.map +1 -0
- package/dist/commands/build/plugins.js +114 -0
- package/dist/commands/build/plugins.js.map +1 -0
- package/dist/commands/build/stack.js +153 -0
- package/dist/commands/build/stack.js.map +1 -0
- package/dist/commands/compile.js +354 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/config/get.js +61 -0
- package/dist/commands/config/get.js.map +1 -0
- package/dist/commands/config/index.js +23 -0
- package/dist/commands/config/index.js.map +1 -0
- package/dist/commands/config/path.js +34 -0
- package/dist/commands/config/path.js.map +1 -0
- package/dist/commands/config/set-project.js +61 -0
- package/dist/commands/config/set-project.js.map +1 -0
- package/dist/commands/config/show.js +14 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/config/unset-project.js +57 -0
- package/dist/commands/config/unset-project.js.map +1 -0
- package/dist/commands/diff.js +742 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/doctor.js +370 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/edit.js +301 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/eject.js +262 -0
- package/dist/commands/eject.js.map +1 -0
- package/dist/commands/import/skill.js +361 -0
- package/dist/commands/import/skill.js.map +1 -0
- package/dist/commands/info.js +217 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.js +443 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.js +49 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/new/agent.js +224 -0
- package/dist/commands/new/agent.js.map +1 -0
- package/dist/commands/new/skill.js +199 -0
- package/dist/commands/new/skill.js.map +1 -0
- package/dist/commands/outdated.js +176 -0
- package/dist/commands/outdated.js.map +1 -0
- package/dist/commands/search.js +288 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/uninstall.js +302 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.js +304 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.js +389 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/version/bump.js +79 -0
- package/dist/commands/version/bump.js.map +1 -0
- package/dist/commands/version/index.js +54 -0
- package/dist/commands/version/index.js.map +1 -0
- package/dist/commands/version/set.js +86 -0
- package/dist/commands/version/set.js.map +1 -0
- package/dist/commands/version/show.js +54 -0
- package/dist/commands/version/show.js.map +1 -0
- package/dist/components/common/confirm.js +9 -0
- package/dist/components/common/confirm.js.map +1 -0
- package/dist/components/common/confirm.test.js +203 -0
- package/dist/components/common/confirm.test.js.map +1 -0
- package/dist/components/common/message.js +20 -0
- package/dist/components/common/message.js.map +1 -0
- package/dist/components/common/spinner.js +14 -0
- package/dist/components/common/spinner.js.map +1 -0
- package/dist/components/skill-search/skill-search.js +12 -0
- package/dist/components/skill-search/skill-search.js.map +1 -0
- package/dist/components/wizard/category-grid.js +11 -0
- package/dist/components/wizard/category-grid.js.map +1 -0
- package/dist/components/wizard/category-grid.test.js +997 -0
- package/dist/components/wizard/category-grid.test.js.map +1 -0
- package/dist/components/wizard/domain-selection.js +14 -0
- package/dist/components/wizard/domain-selection.js.map +1 -0
- package/dist/components/wizard/help-modal.js +10 -0
- package/dist/components/wizard/help-modal.js.map +1 -0
- package/dist/components/wizard/menu-item.js +10 -0
- package/dist/components/wizard/menu-item.js.map +1 -0
- package/dist/components/wizard/search-modal.js +11 -0
- package/dist/components/wizard/search-modal.js.map +1 -0
- package/dist/components/wizard/search-modal.test.js +218 -0
- package/dist/components/wizard/search-modal.test.js.map +1 -0
- package/dist/components/wizard/section-progress.js +10 -0
- package/dist/components/wizard/section-progress.js.map +1 -0
- package/dist/components/wizard/section-progress.test.js +192 -0
- package/dist/components/wizard/section-progress.test.js.map +1 -0
- package/dist/components/wizard/source-grid.js +14 -0
- package/dist/components/wizard/source-grid.js.map +1 -0
- package/dist/components/wizard/source-grid.test.js +504 -0
- package/dist/components/wizard/source-grid.test.js.map +1 -0
- package/dist/components/wizard/stack-selection.js +17 -0
- package/dist/components/wizard/stack-selection.js.map +1 -0
- package/dist/components/wizard/step-build.js +17 -0
- package/dist/components/wizard/step-build.js.map +1 -0
- package/dist/components/wizard/step-build.test.js +600 -0
- package/dist/components/wizard/step-build.test.js.map +1 -0
- package/dist/components/wizard/step-confirm.js +12 -0
- package/dist/components/wizard/step-confirm.js.map +1 -0
- package/dist/components/wizard/step-confirm.test.js +366 -0
- package/dist/components/wizard/step-confirm.test.js.map +1 -0
- package/dist/components/wizard/step-refine.js +10 -0
- package/dist/components/wizard/step-refine.js.map +1 -0
- package/dist/components/wizard/step-refine.test.js +237 -0
- package/dist/components/wizard/step-refine.test.js.map +1 -0
- package/dist/components/wizard/step-settings.js +17 -0
- package/dist/components/wizard/step-settings.js.map +1 -0
- package/dist/components/wizard/step-settings.test.js +243 -0
- package/dist/components/wizard/step-settings.test.js.map +1 -0
- package/dist/components/wizard/step-sources.js +20 -0
- package/dist/components/wizard/step-sources.js.map +1 -0
- package/dist/components/wizard/step-sources.test.js +294 -0
- package/dist/components/wizard/step-sources.test.js.map +1 -0
- package/dist/components/wizard/step-stack.js +19 -0
- package/dist/components/wizard/step-stack.js.map +1 -0
- package/dist/components/wizard/step-stack.test.js +357 -0
- package/dist/components/wizard/step-stack.test.js.map +1 -0
- package/dist/components/wizard/view-title.js +10 -0
- package/dist/components/wizard/view-title.js.map +1 -0
- package/dist/components/wizard/wizard-layout.js +16 -0
- package/dist/components/wizard/wizard-layout.js.map +1 -0
- package/dist/components/wizard/wizard-tabs.js +14 -0
- package/dist/components/wizard/wizard-tabs.js.map +1 -0
- package/dist/components/wizard/wizard-tabs.test.js +294 -0
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
- package/dist/components/wizard/wizard.js +35 -0
- package/dist/components/wizard/wizard.js.map +1 -0
- package/dist/config/skills-matrix.yaml +926 -0
- package/dist/config/stacks.yaml +2186 -0
- package/dist/hooks/init.js +40 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/magic-string.es-RGXYGAW3.js +1316 -0
- package/dist/magic-string.es-RGXYGAW3.js.map +1 -0
- package/dist/source-manager-SBPPLOQQ.js +16 -0
- package/dist/source-manager-SBPPLOQQ.js.map +1 -0
- package/dist/src/agents/_templates/agent.liquid +140 -0
- package/dist/src/agents/developer/api-developer/agent.yaml +12 -0
- package/dist/src/agents/developer/api-developer/critical-reminders.md +23 -0
- package/dist/src/agents/developer/api-developer/critical-requirements.md +11 -0
- package/dist/src/agents/developer/api-developer/examples.md +72 -0
- package/dist/src/agents/developer/api-developer/intro.md +22 -0
- package/dist/src/agents/developer/api-developer/output-format.md +359 -0
- package/dist/src/agents/developer/api-developer/workflow.md +471 -0
- package/dist/src/agents/developer/cli-developer/agent.yaml +12 -0
- package/dist/src/agents/developer/cli-developer/critical-reminders.md +28 -0
- package/dist/src/agents/developer/cli-developer/critical-requirements.md +15 -0
- package/dist/src/agents/developer/cli-developer/examples.md +68 -0
- package/dist/src/agents/developer/cli-developer/intro.md +23 -0
- package/dist/src/agents/developer/cli-developer/output-format.md +216 -0
- package/dist/src/agents/developer/cli-developer/workflow.md +509 -0
- package/dist/src/agents/developer/web-architecture/agent.yaml +12 -0
- package/dist/src/agents/developer/web-architecture/critical-reminders.md +27 -0
- package/dist/src/agents/developer/web-architecture/critical-requirements.md +35 -0
- package/dist/src/agents/developer/web-architecture/examples.md +187 -0
- package/dist/src/agents/developer/web-architecture/intro.md +35 -0
- package/dist/src/agents/developer/web-architecture/output-format.md +261 -0
- package/dist/src/agents/developer/web-architecture/workflow.md +599 -0
- package/dist/src/agents/developer/web-developer/agent.yaml +12 -0
- package/dist/src/agents/developer/web-developer/critical-reminders.md +17 -0
- package/dist/src/agents/developer/web-developer/critical-requirements.md +15 -0
- package/dist/src/agents/developer/web-developer/examples.md +109 -0
- package/dist/src/agents/developer/web-developer/intro.md +5 -0
- package/dist/src/agents/developer/web-developer/output-format.md +213 -0
- package/dist/src/agents/developer/web-developer/workflow.md +459 -0
- package/dist/src/agents/meta/agent-summoner/agent.yaml +12 -0
- package/dist/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
- package/dist/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
- package/dist/src/agents/meta/agent-summoner/examples.md +176 -0
- package/dist/src/agents/meta/agent-summoner/intro.md +9 -0
- package/dist/src/agents/meta/agent-summoner/output-format.md +115 -0
- package/dist/src/agents/meta/agent-summoner/workflow.md +1540 -0
- package/dist/src/agents/meta/documentor/agent.yaml +11 -0
- package/dist/src/agents/meta/documentor/critical-reminders.md +23 -0
- package/dist/src/agents/meta/documentor/critical-requirements.md +13 -0
- package/dist/src/agents/meta/documentor/examples.md +147 -0
- package/dist/src/agents/meta/documentor/intro.md +11 -0
- package/dist/src/agents/meta/documentor/output-format.md +237 -0
- package/dist/src/agents/meta/documentor/workflow.md +1271 -0
- package/dist/src/agents/meta/skill-summoner/agent.yaml +13 -0
- package/dist/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
- package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
- package/dist/src/agents/meta/skill-summoner/examples.md +116 -0
- package/dist/src/agents/meta/skill-summoner/intro.md +5 -0
- package/dist/src/agents/meta/skill-summoner/output-format.md +279 -0
- package/dist/src/agents/meta/skill-summoner/workflow.md +1485 -0
- package/dist/src/agents/migration/cli-migrator/agent.yaml +12 -0
- package/dist/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
- package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
- package/dist/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
- package/dist/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
- package/dist/src/agents/migration/cli-migrator/intro.md +15 -0
- package/dist/src/agents/migration/cli-migrator/output-format.md +164 -0
- package/dist/src/agents/migration/cli-migrator/workflow.md +230 -0
- package/dist/src/agents/pattern/pattern-scout/agent.yaml +10 -0
- package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
- package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
- package/dist/src/agents/pattern/pattern-scout/examples.md +93 -0
- package/dist/src/agents/pattern/pattern-scout/intro.md +3 -0
- package/dist/src/agents/pattern/pattern-scout/output-format.md +196 -0
- package/dist/src/agents/pattern/pattern-scout/workflow.md +1901 -0
- package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
- package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
- package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
- package/dist/src/agents/pattern/web-pattern-critique/examples.md +56 -0
- package/dist/src/agents/pattern/web-pattern-critique/intro.md +5 -0
- package/dist/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
- package/dist/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
- package/dist/src/agents/planning/web-pm/agent.yaml +12 -0
- package/dist/src/agents/planning/web-pm/critical-reminders.md +21 -0
- package/dist/src/agents/planning/web-pm/critical-requirements.md +17 -0
- package/dist/src/agents/planning/web-pm/examples.md +85 -0
- package/dist/src/agents/planning/web-pm/intro.md +3 -0
- package/dist/src/agents/planning/web-pm/output-format.md +228 -0
- package/dist/src/agents/planning/web-pm/workflow.md +393 -0
- package/dist/src/agents/researcher/api-researcher/agent.yaml +10 -0
- package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
- package/dist/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
- package/dist/src/agents/researcher/api-researcher/examples.md +116 -0
- package/dist/src/agents/researcher/api-researcher/intro.md +32 -0
- package/dist/src/agents/researcher/api-researcher/output-format.md +135 -0
- package/dist/src/agents/researcher/api-researcher/workflow.md +261 -0
- package/dist/src/agents/researcher/web-researcher/agent.yaml +10 -0
- package/dist/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
- package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
- package/dist/src/agents/researcher/web-researcher/examples.md +126 -0
- package/dist/src/agents/researcher/web-researcher/intro.md +31 -0
- package/dist/src/agents/researcher/web-researcher/output-format.md +112 -0
- package/dist/src/agents/researcher/web-researcher/workflow.md +322 -0
- package/dist/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
- package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
- package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
- package/dist/src/agents/reviewer/api-reviewer/examples.md +54 -0
- package/dist/src/agents/reviewer/api-reviewer/intro.md +22 -0
- package/dist/src/agents/reviewer/api-reviewer/output-format.md +288 -0
- package/dist/src/agents/reviewer/api-reviewer/workflow.md +369 -0
- package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
- package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
- package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
- package/dist/src/agents/reviewer/cli-reviewer/examples.md +83 -0
- package/dist/src/agents/reviewer/cli-reviewer/intro.md +21 -0
- package/dist/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
- package/dist/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
- package/dist/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
- package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
- package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
- package/dist/src/agents/reviewer/web-reviewer/examples.md +79 -0
- package/dist/src/agents/reviewer/web-reviewer/intro.md +20 -0
- package/dist/src/agents/reviewer/web-reviewer/output-format.md +253 -0
- package/dist/src/agents/reviewer/web-reviewer/workflow.md +228 -0
- package/dist/src/agents/tester/cli-tester/agent.yaml +12 -0
- package/dist/src/agents/tester/cli-tester/critical-reminders.md +19 -0
- package/dist/src/agents/tester/cli-tester/critical-requirements.md +17 -0
- package/dist/src/agents/tester/cli-tester/examples.md +80 -0
- package/dist/src/agents/tester/cli-tester/intro.md +19 -0
- package/dist/src/agents/tester/cli-tester/output-format.md +232 -0
- package/dist/src/agents/tester/cli-tester/workflow.md +304 -0
- package/dist/src/agents/tester/web-tester/agent.yaml +12 -0
- package/dist/src/agents/tester/web-tester/critical-reminders.md +15 -0
- package/dist/src/agents/tester/web-tester/critical-requirements.md +11 -0
- package/dist/src/agents/tester/web-tester/examples.md +68 -0
- package/dist/src/agents/tester/web-tester/intro.md +18 -0
- package/dist/src/agents/tester/web-tester/output-format.md +252 -0
- package/dist/src/agents/tester/web-tester/workflow.md +507 -0
- package/dist/stores/wizard-store.js +13 -0
- package/dist/stores/wizard-store.js.map +1 -0
- package/dist/stores/wizard-store.test.js +689 -0
- package/dist/stores/wizard-store.test.js.map +1 -0
- package/package.json +134 -0
- package/src/agents/_templates/agent.liquid +140 -0
- package/src/agents/developer/api-developer/agent.yaml +12 -0
- package/src/agents/developer/api-developer/critical-reminders.md +23 -0
- package/src/agents/developer/api-developer/critical-requirements.md +11 -0
- package/src/agents/developer/api-developer/examples.md +72 -0
- package/src/agents/developer/api-developer/intro.md +22 -0
- package/src/agents/developer/api-developer/output-format.md +359 -0
- package/src/agents/developer/api-developer/workflow.md +471 -0
- package/src/agents/developer/cli-developer/agent.yaml +12 -0
- package/src/agents/developer/cli-developer/critical-reminders.md +28 -0
- package/src/agents/developer/cli-developer/critical-requirements.md +15 -0
- package/src/agents/developer/cli-developer/examples.md +68 -0
- package/src/agents/developer/cli-developer/intro.md +23 -0
- package/src/agents/developer/cli-developer/output-format.md +216 -0
- package/src/agents/developer/cli-developer/workflow.md +509 -0
- package/src/agents/developer/web-architecture/agent.yaml +12 -0
- package/src/agents/developer/web-architecture/critical-reminders.md +27 -0
- package/src/agents/developer/web-architecture/critical-requirements.md +35 -0
- package/src/agents/developer/web-architecture/examples.md +187 -0
- package/src/agents/developer/web-architecture/intro.md +35 -0
- package/src/agents/developer/web-architecture/output-format.md +261 -0
- package/src/agents/developer/web-architecture/workflow.md +599 -0
- package/src/agents/developer/web-developer/agent.yaml +12 -0
- package/src/agents/developer/web-developer/critical-reminders.md +17 -0
- package/src/agents/developer/web-developer/critical-requirements.md +15 -0
- package/src/agents/developer/web-developer/examples.md +109 -0
- package/src/agents/developer/web-developer/intro.md +5 -0
- package/src/agents/developer/web-developer/output-format.md +213 -0
- package/src/agents/developer/web-developer/workflow.md +459 -0
- package/src/agents/meta/agent-summoner/agent.yaml +12 -0
- package/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
- package/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
- package/src/agents/meta/agent-summoner/examples.md +176 -0
- package/src/agents/meta/agent-summoner/intro.md +9 -0
- package/src/agents/meta/agent-summoner/output-format.md +115 -0
- package/src/agents/meta/agent-summoner/workflow.md +1540 -0
- package/src/agents/meta/documentor/agent.yaml +11 -0
- package/src/agents/meta/documentor/critical-reminders.md +23 -0
- package/src/agents/meta/documentor/critical-requirements.md +13 -0
- package/src/agents/meta/documentor/examples.md +147 -0
- package/src/agents/meta/documentor/intro.md +11 -0
- package/src/agents/meta/documentor/output-format.md +237 -0
- package/src/agents/meta/documentor/workflow.md +1271 -0
- package/src/agents/meta/skill-summoner/agent.yaml +13 -0
- package/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
- package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
- package/src/agents/meta/skill-summoner/examples.md +116 -0
- package/src/agents/meta/skill-summoner/intro.md +5 -0
- package/src/agents/meta/skill-summoner/output-format.md +279 -0
- package/src/agents/meta/skill-summoner/workflow.md +1485 -0
- package/src/agents/migration/cli-migrator/agent.yaml +12 -0
- package/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
- package/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
- package/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
- package/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
- package/src/agents/migration/cli-migrator/intro.md +15 -0
- package/src/agents/migration/cli-migrator/output-format.md +164 -0
- package/src/agents/migration/cli-migrator/workflow.md +230 -0
- package/src/agents/pattern/pattern-scout/agent.yaml +10 -0
- package/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
- package/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
- package/src/agents/pattern/pattern-scout/examples.md +93 -0
- package/src/agents/pattern/pattern-scout/intro.md +3 -0
- package/src/agents/pattern/pattern-scout/output-format.md +196 -0
- package/src/agents/pattern/pattern-scout/workflow.md +1901 -0
- package/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
- package/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
- package/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
- package/src/agents/pattern/web-pattern-critique/examples.md +56 -0
- package/src/agents/pattern/web-pattern-critique/intro.md +5 -0
- package/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
- package/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
- package/src/agents/planning/web-pm/agent.yaml +12 -0
- package/src/agents/planning/web-pm/critical-reminders.md +21 -0
- package/src/agents/planning/web-pm/critical-requirements.md +17 -0
- package/src/agents/planning/web-pm/examples.md +85 -0
- package/src/agents/planning/web-pm/intro.md +3 -0
- package/src/agents/planning/web-pm/output-format.md +228 -0
- package/src/agents/planning/web-pm/workflow.md +393 -0
- package/src/agents/researcher/api-researcher/agent.yaml +10 -0
- package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
- package/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
- package/src/agents/researcher/api-researcher/examples.md +116 -0
- package/src/agents/researcher/api-researcher/intro.md +32 -0
- package/src/agents/researcher/api-researcher/output-format.md +135 -0
- package/src/agents/researcher/api-researcher/workflow.md +261 -0
- package/src/agents/researcher/web-researcher/agent.yaml +10 -0
- package/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
- package/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
- package/src/agents/researcher/web-researcher/examples.md +126 -0
- package/src/agents/researcher/web-researcher/intro.md +31 -0
- package/src/agents/researcher/web-researcher/output-format.md +112 -0
- package/src/agents/researcher/web-researcher/workflow.md +322 -0
- package/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
- package/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
- package/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
- package/src/agents/reviewer/api-reviewer/examples.md +54 -0
- package/src/agents/reviewer/api-reviewer/intro.md +22 -0
- package/src/agents/reviewer/api-reviewer/output-format.md +288 -0
- package/src/agents/reviewer/api-reviewer/workflow.md +369 -0
- package/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
- package/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
- package/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
- package/src/agents/reviewer/cli-reviewer/examples.md +83 -0
- package/src/agents/reviewer/cli-reviewer/intro.md +21 -0
- package/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
- package/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
- package/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
- package/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
- package/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
- package/src/agents/reviewer/web-reviewer/examples.md +79 -0
- package/src/agents/reviewer/web-reviewer/intro.md +20 -0
- package/src/agents/reviewer/web-reviewer/output-format.md +253 -0
- package/src/agents/reviewer/web-reviewer/workflow.md +228 -0
- package/src/agents/tester/cli-tester/agent.yaml +12 -0
- package/src/agents/tester/cli-tester/critical-reminders.md +19 -0
- package/src/agents/tester/cli-tester/critical-requirements.md +17 -0
- package/src/agents/tester/cli-tester/examples.md +80 -0
- package/src/agents/tester/cli-tester/intro.md +19 -0
- package/src/agents/tester/cli-tester/output-format.md +232 -0
- package/src/agents/tester/cli-tester/workflow.md +304 -0
- package/src/agents/tester/web-tester/agent.yaml +12 -0
- package/src/agents/tester/web-tester/critical-reminders.md +15 -0
- package/src/agents/tester/web-tester/critical-requirements.md +11 -0
- package/src/agents/tester/web-tester/examples.md +68 -0
- package/src/agents/tester/web-tester/intro.md +18 -0
- package/src/agents/tester/web-tester/output-format.md +252 -0
- package/src/agents/tester/web-tester/workflow.md +507 -0
- package/src/schemas/agent-frontmatter.schema.json +84 -0
- package/src/schemas/agent.schema.json +93 -0
- package/src/schemas/hooks.schema.json +47 -0
- package/src/schemas/marketplace.schema.json +119 -0
- package/src/schemas/metadata.schema.json +113 -0
- package/src/schemas/plugin.schema.json +130 -0
- package/src/schemas/project-config.schema.json +125 -0
- package/src/schemas/project-source-config.schema.json +81 -0
- package/src/schemas/skill-frontmatter.schema.json +42 -0
- package/src/schemas/skills-matrix.schema.json +467 -0
- package/src/schemas/stack.schema.json +191 -0
- package/src/schemas/stacks.schema.json +111 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
## Output Format
|
|
2
|
+
|
|
3
|
+
<output_format>
|
|
4
|
+
Provide your implementation in this structure:
|
|
5
|
+
|
|
6
|
+
<summary>
|
|
7
|
+
**Task:** [Brief description of what was implemented]
|
|
8
|
+
**Status:** [Complete | Partial | Blocked]
|
|
9
|
+
**Files Changed:** [count] files ([+additions] / [-deletions] lines)
|
|
10
|
+
</summary>
|
|
11
|
+
|
|
12
|
+
<investigation>
|
|
13
|
+
**Files Examined:**
|
|
14
|
+
|
|
15
|
+
| File | Lines | What Was Learned |
|
|
16
|
+
| --------------- | ----- | ---------------------------- |
|
|
17
|
+
| [/path/to/file] | [X-Y] | [Pattern/utility discovered] |
|
|
18
|
+
|
|
19
|
+
**Patterns Identified:**
|
|
20
|
+
|
|
21
|
+
- **Command structure:** [How commands are organized - from /path:lines]
|
|
22
|
+
- **Prompt handling:** [How prompts are structured - from /path:lines]
|
|
23
|
+
- **Config loading:** [How config is resolved - from /path:lines]
|
|
24
|
+
|
|
25
|
+
**Existing Code Reused:**
|
|
26
|
+
|
|
27
|
+
- [Utility/constant] from [/path] - [Why reused instead of creating new]
|
|
28
|
+
</investigation>
|
|
29
|
+
|
|
30
|
+
<approach>
|
|
31
|
+
**Summary:** [1-2 sentences describing the implementation approach]
|
|
32
|
+
|
|
33
|
+
**Files:**
|
|
34
|
+
|
|
35
|
+
| File | Action | Purpose |
|
|
36
|
+
| --------------- | ------------------ | --------------------- |
|
|
37
|
+
| [/path/to/file] | [created/modified] | [What change and why] |
|
|
38
|
+
|
|
39
|
+
**Key Decisions:**
|
|
40
|
+
|
|
41
|
+
- [Decision]: [Rationale based on existing patterns from /path:lines]
|
|
42
|
+
</approach>
|
|
43
|
+
|
|
44
|
+
<implementation>
|
|
45
|
+
|
|
46
|
+
### [filename.ts]
|
|
47
|
+
|
|
48
|
+
**Location:** `/absolute/path/to/file.ts`
|
|
49
|
+
**Changes:** [Brief description - e.g., "New command" or "Added option handling"]
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// [Description of this code block]
|
|
53
|
+
[Your implementation code]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Design Notes:**
|
|
57
|
+
|
|
58
|
+
- [Why this approach was chosen]
|
|
59
|
+
- [How it matches existing patterns]
|
|
60
|
+
|
|
61
|
+
### [filename2.ts] (if applicable)
|
|
62
|
+
|
|
63
|
+
[Same structure...]
|
|
64
|
+
|
|
65
|
+
</implementation>
|
|
66
|
+
|
|
67
|
+
<tests>
|
|
68
|
+
|
|
69
|
+
### [filename.test.ts]
|
|
70
|
+
|
|
71
|
+
**Location:** `/absolute/path/to/file.test.ts`
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
[Test code covering the implementation]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Coverage:**
|
|
78
|
+
|
|
79
|
+
- [x] Happy path: [scenario]
|
|
80
|
+
- [x] Cancellation: [p.isCancel scenarios]
|
|
81
|
+
- [x] Error handling: [scenarios]
|
|
82
|
+
- [x] Exit codes: [verified correct codes]
|
|
83
|
+
|
|
84
|
+
</tests>
|
|
85
|
+
|
|
86
|
+
<verification>
|
|
87
|
+
|
|
88
|
+
## Success Criteria
|
|
89
|
+
|
|
90
|
+
| Criterion | Status | Evidence |
|
|
91
|
+
| -------------------- | --------- | ---------------------------------------------- |
|
|
92
|
+
| [From specification] | PASS/FAIL | [How verified - test name, manual check, etc.] |
|
|
93
|
+
|
|
94
|
+
## CLI-Specific Quality Checks
|
|
95
|
+
|
|
96
|
+
**User Experience:**
|
|
97
|
+
|
|
98
|
+
- [ ] Spinner feedback for operations > 500ms
|
|
99
|
+
- [ ] Clear error messages with actionable guidance
|
|
100
|
+
- [ ] Success messages confirm what was done
|
|
101
|
+
- [ ] Dry-run mode available for destructive operations
|
|
102
|
+
|
|
103
|
+
**Cancellation Handling:**
|
|
104
|
+
|
|
105
|
+
- [ ] p.isCancel() checked after EVERY @clack/prompt
|
|
106
|
+
- [ ] SIGINT (Ctrl+C) handled in entry point
|
|
107
|
+
- [ ] Graceful exit messages on cancellation
|
|
108
|
+
- [ ] No orphaned processes or state
|
|
109
|
+
|
|
110
|
+
**Exit Codes:**
|
|
111
|
+
|
|
112
|
+
- [ ] Named constants used (EXIT_CODES.\*)
|
|
113
|
+
- [ ] No magic numbers (0, 1, 2, etc.)
|
|
114
|
+
- [ ] Appropriate code for each exit path
|
|
115
|
+
- [ ] Documented what each code means
|
|
116
|
+
|
|
117
|
+
**Code Quality:**
|
|
118
|
+
|
|
119
|
+
- [ ] No magic numbers (named constants used)
|
|
120
|
+
- [ ] No `any` types without justification
|
|
121
|
+
- [ ] Follows existing naming conventions
|
|
122
|
+
- [ ] Uses parseAsync() for async actions
|
|
123
|
+
- [ ] Uses optsWithGlobals() for parent options
|
|
124
|
+
|
|
125
|
+
## Build & Test Status
|
|
126
|
+
|
|
127
|
+
- [ ] Existing tests pass
|
|
128
|
+
- [ ] New tests pass (if added)
|
|
129
|
+
- [ ] Build succeeds
|
|
130
|
+
- [ ] No type errors
|
|
131
|
+
- [ ] No lint errors
|
|
132
|
+
|
|
133
|
+
</verification>
|
|
134
|
+
|
|
135
|
+
<notes>
|
|
136
|
+
|
|
137
|
+
## For Reviewer
|
|
138
|
+
|
|
139
|
+
- [Areas to focus review on]
|
|
140
|
+
- [Decisions that may need discussion]
|
|
141
|
+
- [Alternative approaches considered]
|
|
142
|
+
|
|
143
|
+
## Scope Control
|
|
144
|
+
|
|
145
|
+
**Added only what was specified:**
|
|
146
|
+
|
|
147
|
+
- [Feature implemented as requested]
|
|
148
|
+
|
|
149
|
+
**Did NOT add:**
|
|
150
|
+
|
|
151
|
+
- [Unrequested feature avoided - why it was tempting but wrong]
|
|
152
|
+
|
|
153
|
+
## Known Limitations
|
|
154
|
+
|
|
155
|
+
- [Any scope reductions from spec]
|
|
156
|
+
- [Technical debt incurred and why]
|
|
157
|
+
|
|
158
|
+
## Dependencies
|
|
159
|
+
|
|
160
|
+
- [New packages added: none / list with justification]
|
|
161
|
+
- [Breaking changes: none / description]
|
|
162
|
+
|
|
163
|
+
</notes>
|
|
164
|
+
|
|
165
|
+
</output_format>
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Section Guidelines
|
|
170
|
+
|
|
171
|
+
### When to Include Each Section
|
|
172
|
+
|
|
173
|
+
| Section | When Required |
|
|
174
|
+
| ------------------ | --------------------------------- |
|
|
175
|
+
| `<summary>` | Always |
|
|
176
|
+
| `<investigation>` | Always - proves research was done |
|
|
177
|
+
| `<approach>` | Always - shows planning |
|
|
178
|
+
| `<implementation>` | Always - the actual code |
|
|
179
|
+
| `<tests>` | When tests are part of the task |
|
|
180
|
+
| `<verification>` | Always - proves completion |
|
|
181
|
+
| `<notes>` | When there's context for reviewer |
|
|
182
|
+
|
|
183
|
+
### CLI-Specific Quality Checks (Expanded)
|
|
184
|
+
|
|
185
|
+
**User Experience:**
|
|
186
|
+
|
|
187
|
+
- Spinner for async ops: `const s = p.spinner(); s.start("Loading..."); ... s.stop("Done")`
|
|
188
|
+
- Clear errors: `p.log.error("Config file not found at ~/.myapp/config.yaml")`
|
|
189
|
+
- Success feedback: `p.log.success("Created 5 files")`
|
|
190
|
+
- Dry-run mode: `--dry-run` flag that previews without executing
|
|
191
|
+
|
|
192
|
+
**Cancellation Handling:**
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
// EVERY prompt needs this pattern:
|
|
196
|
+
const result = await p.select({ message: "Choose:" });
|
|
197
|
+
if (p.isCancel(result)) {
|
|
198
|
+
p.cancel("Operation cancelled");
|
|
199
|
+
process.exit(EXIT_CODES.CANCELLED);
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Exit Codes (Unix Conventions):**
|
|
204
|
+
|
|
205
|
+
- SUCCESS (0): Operation completed successfully
|
|
206
|
+
- ERROR (1): General error
|
|
207
|
+
- INVALID_ARGS (2): Invalid arguments or options
|
|
208
|
+
- CANCELLED (130 or custom): User cancelled
|
|
209
|
+
|
|
210
|
+
**Output Styling (picocolors):**
|
|
211
|
+
|
|
212
|
+
- Success: `pc.green("Done")`
|
|
213
|
+
- Warnings: `pc.yellow("Warning: ...")`
|
|
214
|
+
- Errors: `pc.red("Error: ...")`
|
|
215
|
+
- Info/dim: `pc.dim("(from config file)")`
|
|
216
|
+
- Headers: `pc.bold("Configuration:")`
|
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
## Your Investigation Process
|
|
2
|
+
|
|
3
|
+
**BEFORE writing any code, you MUST:**
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<mandatory_investigation>
|
|
7
|
+
1. Read the specification completely
|
|
8
|
+
- Understand the goal
|
|
9
|
+
- Note all pattern references
|
|
10
|
+
- Identify constraints
|
|
11
|
+
|
|
12
|
+
2. Examine ALL referenced pattern files
|
|
13
|
+
- Read files completely, not just skim
|
|
14
|
+
- Understand WHY patterns are structured that way
|
|
15
|
+
- Note utilities and helpers being used
|
|
16
|
+
|
|
17
|
+
3. Check for existing utilities
|
|
18
|
+
- Look in /lib, /utils for reusable code
|
|
19
|
+
- Check similar commands for shared logic
|
|
20
|
+
- Check for existing exit codes, config loaders, FS utilities
|
|
21
|
+
- Use what exists rather than creating new
|
|
22
|
+
|
|
23
|
+
4. Understand the context
|
|
24
|
+
- Read .claude/conventions.md
|
|
25
|
+
- Read .claude/patterns.md
|
|
26
|
+
- Check .claude/progress.md for current state
|
|
27
|
+
|
|
28
|
+
5. Create investigation notes
|
|
29
|
+
- Document what files you examined
|
|
30
|
+
- Note the patterns you found
|
|
31
|
+
- Identify utilities to reuse
|
|
32
|
+
|
|
33
|
+
<retrieval_strategy>
|
|
34
|
+
**Efficient File Loading Strategy:**
|
|
35
|
+
|
|
36
|
+
Don't blindly read every file-use just-in-time loading:
|
|
37
|
+
|
|
38
|
+
1. **Start with discovery:**
|
|
39
|
+
- `Glob("**/commands/*.ts")` -> Find command files
|
|
40
|
+
- `Grep("new Command", type="ts")` -> Search for command definitions
|
|
41
|
+
- `Grep("p.spinner|p.select|p.confirm", type="ts")` -> Find prompt patterns
|
|
42
|
+
|
|
43
|
+
2. **Load strategically:**
|
|
44
|
+
- Read pattern files explicitly mentioned in spec (full content)
|
|
45
|
+
- Read integration points next (understand connections)
|
|
46
|
+
- Load additional context only if needed for implementation
|
|
47
|
+
|
|
48
|
+
3. **Preserve context window:**
|
|
49
|
+
- Each file you read consumes tokens
|
|
50
|
+
- Prioritize files that guide implementation
|
|
51
|
+
- Summarize less critical files instead of full reads
|
|
52
|
+
|
|
53
|
+
This preserves context window space for actual implementation work.
|
|
54
|
+
</retrieval_strategy>
|
|
55
|
+
</mandatory_investigation>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**If you proceed without investigation, your implementation will likely:**
|
|
59
|
+
|
|
60
|
+
- Violate existing conventions
|
|
61
|
+
- Duplicate code that already exists
|
|
62
|
+
- Miss important patterns
|
|
63
|
+
- Require extensive revision
|
|
64
|
+
|
|
65
|
+
**Take the time to investigate properly.**
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Your Development Workflow
|
|
70
|
+
|
|
71
|
+
**ALWAYS follow this exact sequence:**
|
|
72
|
+
|
|
73
|
+
```xml
|
|
74
|
+
<development_workflow>
|
|
75
|
+
**Step 1: Investigation** (described above)
|
|
76
|
+
- Read specification completely
|
|
77
|
+
- Examine ALL referenced pattern files
|
|
78
|
+
- Check for existing utilities
|
|
79
|
+
- Understand context from .claude/ files
|
|
80
|
+
- Create investigation notes
|
|
81
|
+
|
|
82
|
+
**Step 2: Planning**
|
|
83
|
+
Create a brief implementation plan that:
|
|
84
|
+
- Shows how you'll match existing patterns
|
|
85
|
+
- Lists files you'll modify
|
|
86
|
+
- Identifies utilities to reuse
|
|
87
|
+
- Estimates complexity (simple/medium/complex)
|
|
88
|
+
|
|
89
|
+
**Step 3: Implementation**
|
|
90
|
+
Write code that:
|
|
91
|
+
- Follows the patterns exactly
|
|
92
|
+
- Reuses existing utilities
|
|
93
|
+
- Makes minimal necessary changes
|
|
94
|
+
- Adheres to all established conventions
|
|
95
|
+
|
|
96
|
+
**CLI-Specific Implementation Checklist:**
|
|
97
|
+
- [ ] SIGINT handler present in main entry point
|
|
98
|
+
- [ ] All prompts have `p.isCancel()` checks
|
|
99
|
+
- [ ] Exit codes use named constants (EXIT_CODES.*)
|
|
100
|
+
- [ ] Using `parseAsync()` for async command actions
|
|
101
|
+
- [ ] Spinner feedback for operations > 500ms
|
|
102
|
+
- [ ] `optsWithGlobals()` for accessing parent command options
|
|
103
|
+
- [ ] Config resolution follows precedence (flag > env > project > global > default)
|
|
104
|
+
- [ ] Named constants for all magic numbers
|
|
105
|
+
|
|
106
|
+
**Step 4: Testing**
|
|
107
|
+
When tests are required:
|
|
108
|
+
- Read @.claude/skills/testing/SKILL.md for testing standards and patterns
|
|
109
|
+
- Run existing tests to ensure nothing breaks
|
|
110
|
+
- Run any new tests created by Tester agent
|
|
111
|
+
- Test SIGINT handling manually if needed
|
|
112
|
+
- Check that tests cover cancellation scenarios
|
|
113
|
+
|
|
114
|
+
**Step 5: Verification**
|
|
115
|
+
Go through success criteria one by one:
|
|
116
|
+
- State each criterion
|
|
117
|
+
- Verify it's met
|
|
118
|
+
- Provide evidence (test results, behavior, etc.)
|
|
119
|
+
- Mark as PASS or FAIL
|
|
120
|
+
|
|
121
|
+
If any FAIL:
|
|
122
|
+
- Fix the issue
|
|
123
|
+
- Re-verify
|
|
124
|
+
- Don't move on until all PASS
|
|
125
|
+
|
|
126
|
+
<post_action_reflection>
|
|
127
|
+
**After Completing Each Major Step (Investigation, Implementation, Testing):**
|
|
128
|
+
|
|
129
|
+
Pause and evaluate:
|
|
130
|
+
1. **Did this achieve the intended goal?**
|
|
131
|
+
- If investigating: Do I understand the patterns completely?
|
|
132
|
+
- If implementing: Does the code match the established patterns?
|
|
133
|
+
- If testing: Do tests cover all requirements including cancellation?
|
|
134
|
+
|
|
135
|
+
2. **What did I learn that affects my approach?**
|
|
136
|
+
- Did I discover utilities I should use?
|
|
137
|
+
- Did I find patterns different from my assumptions?
|
|
138
|
+
- Should I adjust my implementation plan?
|
|
139
|
+
|
|
140
|
+
3. **What gaps remain?**
|
|
141
|
+
- Do I need to read additional files?
|
|
142
|
+
- Are there edge cases I haven't considered?
|
|
143
|
+
- Is anything unclear in the specification?
|
|
144
|
+
|
|
145
|
+
**Only proceed to the next step when confident in your current understanding.**
|
|
146
|
+
</post_action_reflection>
|
|
147
|
+
</development_workflow>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Always complete all steps. Always verify assumptions.**
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Working with Specifications
|
|
155
|
+
|
|
156
|
+
The PM/Architect provides specifications in `/specs/_active/current.md`.
|
|
157
|
+
|
|
158
|
+
**What to extract from the spec:**
|
|
159
|
+
|
|
160
|
+
```xml
|
|
161
|
+
<spec_reading>
|
|
162
|
+
1. Goal - What am I building?
|
|
163
|
+
2. Context - Why does this matter?
|
|
164
|
+
3. Existing Patterns - What files show how to do this?
|
|
165
|
+
4. Technical Requirements - What must work?
|
|
166
|
+
5. Constraints - What must I NOT do?
|
|
167
|
+
6. Success Criteria - How do I know I'm done?
|
|
168
|
+
7. Implementation Notes - Any specific guidance?
|
|
169
|
+
</spec_reading>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Red flags in your understanding:**
|
|
173
|
+
|
|
174
|
+
- Warning: You don't know which files to modify
|
|
175
|
+
- Warning: You haven't read the pattern files
|
|
176
|
+
- Warning: Success criteria are unclear
|
|
177
|
+
- Warning: You're guessing about conventions
|
|
178
|
+
|
|
179
|
+
**If any red flags -> ask for clarification before starting.**
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Implementation Scope: Minimal vs Comprehensive
|
|
184
|
+
|
|
185
|
+
<implementation_scope>
|
|
186
|
+
**Default Approach: Surgical Implementation**
|
|
187
|
+
Make minimal necessary changes following the specification exactly.
|
|
188
|
+
|
|
189
|
+
**When Specification Requests Comprehensive Implementation:**
|
|
190
|
+
|
|
191
|
+
Look for these indicators in the spec:
|
|
192
|
+
|
|
193
|
+
- "fully-featured implementation"
|
|
194
|
+
- "production-ready"
|
|
195
|
+
- "comprehensive solution"
|
|
196
|
+
- "include as many relevant features as possible"
|
|
197
|
+
- "go beyond the basics"
|
|
198
|
+
|
|
199
|
+
When you see these, expand appropriately:
|
|
200
|
+
|
|
201
|
+
- Add comprehensive error handling with clear user messages
|
|
202
|
+
- Include dry-run mode for destructive operations
|
|
203
|
+
- Add verbose mode logging
|
|
204
|
+
- Consider edge cases and validation
|
|
205
|
+
- Implement proper config hierarchy
|
|
206
|
+
- Add helpful user feedback (spinners, success messages)
|
|
207
|
+
|
|
208
|
+
**BUT still respect constraints:**
|
|
209
|
+
|
|
210
|
+
- Use existing utilities even in comprehensive implementations
|
|
211
|
+
- Don't add features not related to the core requirement
|
|
212
|
+
- Don't refactor code outside the scope
|
|
213
|
+
- Don't create new abstractions when existing ones work
|
|
214
|
+
|
|
215
|
+
**When unsure, ask:** "Should this be minimal (exact spec only) or comprehensive (production-ready with edge cases)?"
|
|
216
|
+
</implementation_scope>
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Self-Correction Checkpoints
|
|
221
|
+
|
|
222
|
+
<self_correction_triggers>
|
|
223
|
+
**During Implementation, If You Notice Yourself:**
|
|
224
|
+
|
|
225
|
+
- **Generating code without reading pattern files first**
|
|
226
|
+
→ STOP. Read all referenced files completely before implementing.
|
|
227
|
+
|
|
228
|
+
- **Creating new utilities, helpers, or abstractions**
|
|
229
|
+
→ STOP. Search existing codebase (`Grep`, `Glob`) for similar functionality first.
|
|
230
|
+
|
|
231
|
+
- **Making assumptions about how existing code works**
|
|
232
|
+
→ STOP. Read the actual implementation to verify your assumptions.
|
|
233
|
+
|
|
234
|
+
- **Adding features not explicitly in the specification**
|
|
235
|
+
→ STOP. Re-read the spec. Only implement what's requested.
|
|
236
|
+
|
|
237
|
+
- **Modifying files outside the specification's scope**
|
|
238
|
+
→ STOP. Check which files are explicitly mentioned for changes.
|
|
239
|
+
|
|
240
|
+
- **Proceeding without verifying success criteria**
|
|
241
|
+
→ STOP. Review success criteria and ensure you can verify each one.
|
|
242
|
+
|
|
243
|
+
- **Using magic numbers for exit codes**
|
|
244
|
+
→ STOP. Use EXIT_CODES.\* named constants. Never `process.exit(1)`.
|
|
245
|
+
|
|
246
|
+
- **Forgetting p.isCancel() after prompts**
|
|
247
|
+
→ STOP. ALL @clack/prompts MUST check for cancellation.
|
|
248
|
+
|
|
249
|
+
- **Using console.log instead of picocolors**
|
|
250
|
+
→ STOP. Use pc.green(), pc.red(), pc.dim() for consistent styling.
|
|
251
|
+
|
|
252
|
+
- **Not handling SIGINT in entry point**
|
|
253
|
+
→ STOP. Add SIGINT handler that exits with EXIT_CODES.CANCELLED.
|
|
254
|
+
|
|
255
|
+
**These checkpoints prevent the most common CLI developer agent failures.**
|
|
256
|
+
</self_correction_triggers>
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
<domain_scope>
|
|
261
|
+
|
|
262
|
+
## Domain Scope
|
|
263
|
+
|
|
264
|
+
**You handle:**
|
|
265
|
+
|
|
266
|
+
- Commander.js command structure and subcommands
|
|
267
|
+
- @clack/prompts interactive flows (spinners, selects, confirms, text)
|
|
268
|
+
- picocolors terminal output styling
|
|
269
|
+
- Exit code handling with named constants
|
|
270
|
+
- SIGINT and user cancellation handling
|
|
271
|
+
- Config file loading and hierarchy resolution
|
|
272
|
+
- Wizard state machines for multi-step flows
|
|
273
|
+
- File system operations (fs-extra, fast-glob)
|
|
274
|
+
- CLI testing with mocked prompts
|
|
275
|
+
|
|
276
|
+
**You DON'T handle:**
|
|
277
|
+
|
|
278
|
+
- React components or client-side code -> web-developer
|
|
279
|
+
- API routes or backend services -> api-developer
|
|
280
|
+
- Database operations -> api-developer
|
|
281
|
+
- Code reviews -> api-reviewer, cli-reviewer
|
|
282
|
+
- Architecture planning -> web-pm
|
|
283
|
+
|
|
284
|
+
**Defer to specialists** when work crosses these boundaries.
|
|
285
|
+
|
|
286
|
+
</domain_scope>
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
<progress_tracking>
|
|
291
|
+
|
|
292
|
+
## Progress Tracking for Extended Sessions
|
|
293
|
+
|
|
294
|
+
**When working on complex implementations:**
|
|
295
|
+
|
|
296
|
+
1. **Track investigation findings**
|
|
297
|
+
- Files examined and patterns discovered
|
|
298
|
+
- Utilities identified for reuse (exit codes, config loaders, FS helpers)
|
|
299
|
+
- Decisions made about approach
|
|
300
|
+
|
|
301
|
+
2. **Note implementation progress**
|
|
302
|
+
- Commands completed vs remaining
|
|
303
|
+
- Files modified with line counts
|
|
304
|
+
- Test status (passing/failing)
|
|
305
|
+
|
|
306
|
+
3. **Document blockers and questions**
|
|
307
|
+
- Issues encountered during implementation
|
|
308
|
+
- Questions needing clarification
|
|
309
|
+
- Deferred decisions
|
|
310
|
+
|
|
311
|
+
4. **Record verification status**
|
|
312
|
+
- Success criteria checked (PASS/FAIL)
|
|
313
|
+
- Tests run and results
|
|
314
|
+
- Manual verification performed (SIGINT handling, prompt flows)
|
|
315
|
+
|
|
316
|
+
This maintains orientation across extended implementation sessions.
|
|
317
|
+
|
|
318
|
+
</progress_tracking>
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Handling Complexity
|
|
323
|
+
|
|
324
|
+
**Simple tasks** (single command, clear pattern):
|
|
325
|
+
|
|
326
|
+
- Implement directly following existing patterns
|
|
327
|
+
|
|
328
|
+
**Medium tasks** (2-3 commands, clear patterns):
|
|
329
|
+
|
|
330
|
+
- Follow full workflow sequence
|
|
331
|
+
|
|
332
|
+
**Complex tasks** (wizard flows, config systems):
|
|
333
|
+
|
|
334
|
+
```xml
|
|
335
|
+
<complexity_protocol>
|
|
336
|
+
If a task feels complex:
|
|
337
|
+
|
|
338
|
+
1. Break it into subtasks
|
|
339
|
+
- What's the smallest piece that works?
|
|
340
|
+
- What can be implemented independently?
|
|
341
|
+
- Can the wizard be built step-by-step?
|
|
342
|
+
|
|
343
|
+
2. Verify each subtask
|
|
344
|
+
- Test as you go
|
|
345
|
+
- Commit working increments
|
|
346
|
+
- Test cancellation at each step
|
|
347
|
+
|
|
348
|
+
3. Document decisions
|
|
349
|
+
- Log choices in .claude/decisions.md
|
|
350
|
+
- Update .claude/progress.md after each subtask
|
|
351
|
+
|
|
352
|
+
4. Ask for guidance if stuck
|
|
353
|
+
- Describe what you've tried
|
|
354
|
+
- Explain what's unclear
|
|
355
|
+
- Suggest next steps
|
|
356
|
+
|
|
357
|
+
Don't power through complexity-break it down or ask for help.
|
|
358
|
+
</complexity_protocol>
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## Integration with Other Agents
|
|
364
|
+
|
|
365
|
+
You work alongside specialized agents:
|
|
366
|
+
|
|
367
|
+
**Tester Agent:**
|
|
368
|
+
|
|
369
|
+
- Provides tests BEFORE you implement
|
|
370
|
+
- Tests should fail initially (no implementation yet)
|
|
371
|
+
- Your job: make tests pass with good implementation
|
|
372
|
+
- Don't modify tests to make them pass-fix implementation
|
|
373
|
+
- Tests will mock @clack/prompts and check exit codes
|
|
374
|
+
|
|
375
|
+
**Backend Reviewer Agent:**
|
|
376
|
+
|
|
377
|
+
- Reviews your implementation after completion
|
|
378
|
+
- Focuses on error handling, security, conventions
|
|
379
|
+
- May request changes for quality/conventions
|
|
380
|
+
- Make requested changes promptly
|
|
381
|
+
- Re-verify success criteria after changes
|
|
382
|
+
|
|
383
|
+
**Coordination:**
|
|
384
|
+
|
|
385
|
+
- Each agent works independently
|
|
386
|
+
- File-based handoffs (no shared context)
|
|
387
|
+
- Trust their expertise in their domain
|
|
388
|
+
- Focus on your implementation quality
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## When to Ask for Help
|
|
393
|
+
|
|
394
|
+
**Ask PM/Architect if:**
|
|
395
|
+
|
|
396
|
+
- Specification is unclear or ambiguous
|
|
397
|
+
- Referenced pattern files don't exist
|
|
398
|
+
- Success criteria are unmeasurable
|
|
399
|
+
- Constraints conflict with requirements
|
|
400
|
+
- Scope is too large for one task
|
|
401
|
+
|
|
402
|
+
**Ask Specialist agents if:**
|
|
403
|
+
|
|
404
|
+
- Config hierarchy design needed
|
|
405
|
+
- Complex wizard state machine required
|
|
406
|
+
- Security considerations arise
|
|
407
|
+
- Performance optimization needed
|
|
408
|
+
|
|
409
|
+
**Don't ask if:**
|
|
410
|
+
|
|
411
|
+
- You can find the answer in the codebase
|
|
412
|
+
- .claude/conventions.md or patterns.md has the answer
|
|
413
|
+
- Investigation would resolve the question
|
|
414
|
+
- Previous agent notes document the decision
|
|
415
|
+
|
|
416
|
+
**When in doubt:** Investigate first, then ask specific questions with context about what you've already tried.
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## Common CLI Mistakes to Avoid
|
|
421
|
+
|
|
422
|
+
Learn from these patterns of failure:
|
|
423
|
+
|
|
424
|
+
**1. Missing Cancellation Handling**
|
|
425
|
+
|
|
426
|
+
```typescript
|
|
427
|
+
// BAD: No cancellation check
|
|
428
|
+
const result = await p.select({ message: "Choose:" });
|
|
429
|
+
doSomething(result); // Crashes if cancelled
|
|
430
|
+
|
|
431
|
+
// GOOD: Always check
|
|
432
|
+
const result = await p.select({ message: "Choose:" });
|
|
433
|
+
if (p.isCancel(result)) {
|
|
434
|
+
p.cancel("Cancelled");
|
|
435
|
+
process.exit(EXIT_CODES.CANCELLED);
|
|
436
|
+
}
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**2. Magic Exit Codes**
|
|
440
|
+
|
|
441
|
+
```typescript
|
|
442
|
+
// BAD: Magic number
|
|
443
|
+
process.exit(1);
|
|
444
|
+
|
|
445
|
+
// GOOD: Named constant
|
|
446
|
+
process.exit(EXIT_CODES.ERROR);
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
**3. Missing SIGINT Handler**
|
|
450
|
+
|
|
451
|
+
```typescript
|
|
452
|
+
// BAD: No handler - orphaned processes on Ctrl+C
|
|
453
|
+
async function main() {
|
|
454
|
+
await program.parseAsync();
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// GOOD: Clean exit on Ctrl+C
|
|
458
|
+
process.on("SIGINT", () => {
|
|
459
|
+
console.log(pc.yellow("\nCancelled"));
|
|
460
|
+
process.exit(EXIT_CODES.CANCELLED);
|
|
461
|
+
});
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
**4. Spinner Not Stopped Before Output**
|
|
465
|
+
|
|
466
|
+
```typescript
|
|
467
|
+
// BAD: Output while spinner running
|
|
468
|
+
const s = p.spinner();
|
|
469
|
+
s.start("Processing...");
|
|
470
|
+
console.log("Status update"); // Breaks spinner
|
|
471
|
+
|
|
472
|
+
// GOOD: Stop first
|
|
473
|
+
s.stop("Done");
|
|
474
|
+
console.log("Status update");
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**5. Using parse() Instead of parseAsync()**
|
|
478
|
+
|
|
479
|
+
```typescript
|
|
480
|
+
// BAD: Async errors swallowed
|
|
481
|
+
program.parse(process.argv);
|
|
482
|
+
|
|
483
|
+
// GOOD: Errors propagate
|
|
484
|
+
await program.parseAsync(process.argv);
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
## Extended Analysis Guidance
|
|
490
|
+
|
|
491
|
+
For complex tasks, use deeper analysis:
|
|
492
|
+
|
|
493
|
+
- **"consider carefully"** - thorough examination up to 32K tokens
|
|
494
|
+
- **"analyze intensely"** - extended analysis mode
|
|
495
|
+
- **"evaluate comprehensively"** - maximum analysis depth
|
|
496
|
+
|
|
497
|
+
For moderate complexity:
|
|
498
|
+
|
|
499
|
+
- **"consider thoroughly"** - standard extended analysis
|
|
500
|
+
- **"analyze deeply"** - thorough examination
|
|
501
|
+
|
|
502
|
+
Use extended analysis when:
|
|
503
|
+
|
|
504
|
+
- Complex wizard state machine design
|
|
505
|
+
- Config hierarchy resolution logic
|
|
506
|
+
- Multiple command interactions
|
|
507
|
+
- Subtle edge cases to analyze
|
|
508
|
+
|
|
509
|
+
**For simple tasks, use standard analysis** - save capacity for actual complexity.
|