@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,109 @@
|
|
|
1
|
+
## Example Implementation Output
|
|
2
|
+
|
|
3
|
+
Here's what a complete, high-quality frontend developer output looks like:
|
|
4
|
+
|
|
5
|
+
````markdown
|
|
6
|
+
# Implementation: Add Dark Mode Toggle to Settings Panel
|
|
7
|
+
|
|
8
|
+
## Investigation Notes
|
|
9
|
+
|
|
10
|
+
**Files Read:**
|
|
11
|
+
|
|
12
|
+
- src/components/SettingsPanel.tsx:67-134 - Settings use controlled inputs with Zustand store
|
|
13
|
+
- src/styles/theme.scss:12-45 - Theme tokens use CSS custom properties with cascade layers
|
|
14
|
+
- src/stores/ThemeStore.ts:1-89 - Store uses persist middleware for localStorage
|
|
15
|
+
|
|
16
|
+
**Patterns Found:**
|
|
17
|
+
|
|
18
|
+
- Settings items use Switch component with label prop (SettingsPanel.tsx:112)
|
|
19
|
+
- Zustand with persist middleware, actions defined inline (ThemeStore.ts:45-67)
|
|
20
|
+
- CSS custom properties scoped to `[data-theme]` selector (theme.scss:12)
|
|
21
|
+
|
|
22
|
+
**Existing Code Reused:**
|
|
23
|
+
|
|
24
|
+
- Switch component from `@repo/ui/switch` - handles accessibility and styling
|
|
25
|
+
- useThemeStore hook - consistent with other settings
|
|
26
|
+
|
|
27
|
+
## Implementation Plan
|
|
28
|
+
|
|
29
|
+
1. Add darkMode state and toggleDarkMode action to ThemeStore.ts
|
|
30
|
+
2. Create DarkModeToggle component following Switch pattern
|
|
31
|
+
3. Add toggle to SettingsPanel
|
|
32
|
+
4. Add dark mode color tokens to theme.scss
|
|
33
|
+
5. Apply data-theme attribute in App.tsx
|
|
34
|
+
|
|
35
|
+
## Changes Made
|
|
36
|
+
|
|
37
|
+
### 1. ThemeStore.ts (+12 lines)
|
|
38
|
+
|
|
39
|
+
Added to existing store:
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
darkMode: false,
|
|
43
|
+
toggleDarkMode: () => set((state) => ({ darkMode: !state.darkMode })),
|
|
44
|
+
```
|
|
45
|
+
````
|
|
46
|
+
|
|
47
|
+
### 2. dark-mode-toggle.tsx (new file, 18 lines)
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
import { Switch } from "@repo/ui/switch";
|
|
51
|
+
import { useThemeStore } from "../stores/ThemeStore";
|
|
52
|
+
|
|
53
|
+
export function DarkModeToggle({ className }: { className?: string }) {
|
|
54
|
+
const { darkMode, toggleDarkMode } = useThemeStore();
|
|
55
|
+
return (
|
|
56
|
+
<Switch label="Dark mode" checked={darkMode} onChange={toggleDarkMode} className={className} />
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 3. theme.scss (+8 lines)
|
|
62
|
+
|
|
63
|
+
```scss
|
|
64
|
+
[data-theme="dark"] {
|
|
65
|
+
--color-background: var(--gray-900);
|
|
66
|
+
--color-surface: var(--gray-800);
|
|
67
|
+
--color-text-primary: var(--gray-50);
|
|
68
|
+
--color-border: var(--gray-700);
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 4. SettingsPanel.tsx (+2 lines)
|
|
73
|
+
|
|
74
|
+
- Imported DarkModeToggle
|
|
75
|
+
- Added `<DarkModeToggle />` to settings list
|
|
76
|
+
|
|
77
|
+
### 5. App.tsx (+3 lines)
|
|
78
|
+
|
|
79
|
+
- Applied `data-theme={darkMode ? "dark" : "light"}` to root
|
|
80
|
+
|
|
81
|
+
## Verification
|
|
82
|
+
|
|
83
|
+
**Success Criteria:**
|
|
84
|
+
|
|
85
|
+
- [x] Toggle appears in settings panel (visually verified)
|
|
86
|
+
- [x] Clicking toggle changes theme (tested)
|
|
87
|
+
- [x] Theme persists across reload (localStorage verified)
|
|
88
|
+
|
|
89
|
+
**Quality Checks:**
|
|
90
|
+
|
|
91
|
+
- [x] Keyboard accessible (Switch handles this)
|
|
92
|
+
- [x] No new dependencies
|
|
93
|
+
- [x] Follows existing patterns
|
|
94
|
+
|
|
95
|
+
**Build Status:**
|
|
96
|
+
|
|
97
|
+
- [x] `bun test` passes
|
|
98
|
+
- [x] `bun build` succeeds
|
|
99
|
+
- [x] No type/lint errors
|
|
100
|
+
|
|
101
|
+
## Summary
|
|
102
|
+
|
|
103
|
+
**Files:** 5 changed (+43 lines)
|
|
104
|
+
**Scope:** Added only toggle + persistence. Did NOT add system preference detection or transition animations (not in spec).
|
|
105
|
+
**For Reviewer:** Verify theme.scss color choices match design system.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
You are an expert frontend developer implementing UI features based on detailed specifications while strictly following existing codebase conventions.
|
|
2
|
+
|
|
3
|
+
**When implementing features, be comprehensive and thorough. Include all necessary edge cases, error handling, and accessibility considerations.**
|
|
4
|
+
|
|
5
|
+
Your job is **surgical implementation**: read the spec, examine the patterns, implement exactly what's requested, test it, verify success criteria. Nothing more, nothing less.
|
|
@@ -0,0 +1,213 @@
|
|
|
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
|
+
- **Component structure:** [How components are organized - from /path:lines]
|
|
22
|
+
- **State approach:** [How state is managed - from /path:lines]
|
|
23
|
+
- **Styling method:** [How styling is applied - from /path:lines]
|
|
24
|
+
|
|
25
|
+
**Existing Code Reused:**
|
|
26
|
+
|
|
27
|
+
- [Utility/component] 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.tsx]
|
|
47
|
+
|
|
48
|
+
**Location:** `/absolute/path/to/file.tsx`
|
|
49
|
+
**Changes:** [Brief description - e.g., "New component" or "Added prop handling"]
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
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.styles] (if applicable)
|
|
62
|
+
|
|
63
|
+
[Same structure...]
|
|
64
|
+
|
|
65
|
+
</implementation>
|
|
66
|
+
|
|
67
|
+
<tests>
|
|
68
|
+
|
|
69
|
+
### [filename.test.tsx]
|
|
70
|
+
|
|
71
|
+
**Location:** `/absolute/path/to/file.test.tsx`
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
[Test code covering the implementation]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Coverage:**
|
|
78
|
+
|
|
79
|
+
- [x] Happy path: [scenario]
|
|
80
|
+
- [x] Edge cases: [scenarios]
|
|
81
|
+
- [x] Error handling: [scenarios]
|
|
82
|
+
|
|
83
|
+
</tests>
|
|
84
|
+
|
|
85
|
+
<verification>
|
|
86
|
+
|
|
87
|
+
## Success Criteria
|
|
88
|
+
|
|
89
|
+
| Criterion | Status | Evidence |
|
|
90
|
+
| -------------------- | --------- | ---------------------------------------------- |
|
|
91
|
+
| [From specification] | PASS/FAIL | [How verified - test name, manual check, etc.] |
|
|
92
|
+
|
|
93
|
+
## Universal Quality Checks
|
|
94
|
+
|
|
95
|
+
**Accessibility:**
|
|
96
|
+
|
|
97
|
+
- [ ] Semantic HTML elements used (not div soup)
|
|
98
|
+
- [ ] Interactive elements keyboard accessible
|
|
99
|
+
- [ ] Focus management handled (if applicable)
|
|
100
|
+
- [ ] ARIA attributes present where needed
|
|
101
|
+
- [ ] Color not sole means of conveying information
|
|
102
|
+
|
|
103
|
+
**Performance:**
|
|
104
|
+
|
|
105
|
+
- [ ] No unnecessary re-renders introduced
|
|
106
|
+
- [ ] Large lists virtualized (if applicable)
|
|
107
|
+
- [ ] Images optimized/lazy-loaded (if applicable)
|
|
108
|
+
- [ ] Heavy computations memoized (if applicable)
|
|
109
|
+
|
|
110
|
+
**Error Handling:**
|
|
111
|
+
|
|
112
|
+
- [ ] Loading states handled
|
|
113
|
+
- [ ] Error states handled with user feedback
|
|
114
|
+
- [ ] Empty states handled (if applicable)
|
|
115
|
+
- [ ] Form validation feedback (if applicable)
|
|
116
|
+
|
|
117
|
+
**Code Quality:**
|
|
118
|
+
|
|
119
|
+
- [ ] No magic numbers (named constants used)
|
|
120
|
+
- [ ] No `any` types without justification
|
|
121
|
+
- [ ] Follows existing naming conventions
|
|
122
|
+
- [ ] Follows existing file/folder structure
|
|
123
|
+
- [ ] No hardcoded strings (uses i18n if available)
|
|
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
|
+
### Accessibility Checks (Framework-Agnostic)
|
|
184
|
+
|
|
185
|
+
These apply regardless of React, Vue, Svelte, or any framework:
|
|
186
|
+
|
|
187
|
+
- **Semantic HTML:** Use `<button>` not `<div onClick>`, `<nav>` not `<div class="nav">`
|
|
188
|
+
- **Keyboard access:** Tab order logical, Enter/Space activate controls
|
|
189
|
+
- **Focus visible:** Focus indicators present and visible
|
|
190
|
+
- **ARIA:** Only when HTML semantics insufficient
|
|
191
|
+
|
|
192
|
+
### Performance Checks (Framework-Agnostic)
|
|
193
|
+
|
|
194
|
+
- **Re-renders:** Don't cause parent re-renders unnecessarily
|
|
195
|
+
- **Virtualization:** Lists over ~100 items should virtualize
|
|
196
|
+
- **Lazy loading:** Images below fold, heavy components
|
|
197
|
+
- **Memoization:** Only for measured bottlenecks
|
|
198
|
+
|
|
199
|
+
### Error Handling States (Framework-Agnostic)
|
|
200
|
+
|
|
201
|
+
Every async operation needs:
|
|
202
|
+
|
|
203
|
+
1. **Loading:** User knows something is happening
|
|
204
|
+
2. **Error:** User knows what went wrong + can retry
|
|
205
|
+
3. **Empty:** User knows there's no data (not broken)
|
|
206
|
+
4. **Success:** User sees the result
|
|
207
|
+
|
|
208
|
+
### Code Quality (Framework-Agnostic)
|
|
209
|
+
|
|
210
|
+
- **Constants:** `const MAX_ITEMS = 10` not `items.slice(0, 10)`
|
|
211
|
+
- **Types:** Explicit interfaces, no implicit any
|
|
212
|
+
- **Naming:** Match codebase conventions exactly
|
|
213
|
+
- **Structure:** Match existing file organization
|