@codyswann/lisa 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +867 -0
- package/all/copy-overwrite/.claude/README.md +205 -0
- package/all/copy-overwrite/.claude/agents/agent-architect.md +311 -0
- package/all/copy-overwrite/.claude/agents/codebase-analyzer.md +146 -0
- package/all/copy-overwrite/.claude/agents/codebase-locator.md +125 -0
- package/all/copy-overwrite/.claude/agents/codebase-pattern-finder.md +237 -0
- package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +183 -0
- package/all/copy-overwrite/.claude/agents/hooks-expert.md +74 -0
- package/all/copy-overwrite/.claude/agents/skill-evaluator.md +246 -0
- package/all/copy-overwrite/.claude/agents/slash-command-architect.md +87 -0
- package/all/copy-overwrite/.claude/agents/web-search-researcher.md +112 -0
- package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +8 -0
- package/all/copy-overwrite/.claude/commands/git/commit.md +44 -0
- package/all/copy-overwrite/.claude/commands/git/prune.md +34 -0
- package/all/copy-overwrite/.claude/commands/git/submit-pr.md +50 -0
- package/all/copy-overwrite/.claude/commands/jira/create.md +50 -0
- package/all/copy-overwrite/.claude/commands/jira/verify.md +34 -0
- package/all/copy-overwrite/.claude/commands/project/archive.md +8 -0
- package/all/copy-overwrite/.claude/commands/project/bootstrap.md +49 -0
- package/all/copy-overwrite/.claude/commands/project/complete-task.md +7 -0
- package/all/copy-overwrite/.claude/commands/project/debrief.md +65 -0
- package/all/copy-overwrite/.claude/commands/project/execute.md +94 -0
- package/all/copy-overwrite/.claude/commands/project/implement.md +42 -0
- package/all/copy-overwrite/.claude/commands/project/local-code-review.md +88 -0
- package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +74 -0
- package/all/copy-overwrite/.claude/commands/project/plan.md +314 -0
- package/all/copy-overwrite/.claude/commands/project/research.md +248 -0
- package/all/copy-overwrite/.claude/commands/project/review.md +63 -0
- package/all/copy-overwrite/.claude/commands/project/setup.md +19 -0
- package/all/copy-overwrite/.claude/commands/project/verify.md +38 -0
- package/all/copy-overwrite/.claude/commands/pull-request/review.md +12 -0
- package/all/copy-overwrite/.claude/commands/rules/format-md.md +72 -0
- package/all/copy-overwrite/.claude/commands/sonarqube/check.md +6 -0
- package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +3 -0
- package/all/copy-overwrite/.claude/hooks/README.md +301 -0
- package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +181 -0
- package/all/copy-overwrite/.claude/settings.json +41 -0
- package/all/copy-overwrite/.claude/settings.local.json.example +14 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/SKILL.md +405 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/references/function-structure.md +416 -0
- package/all/copy-overwrite/.claude/skills/coding-philosophy/references/immutable-patterns.md +316 -0
- package/all/copy-overwrite/.claude/skills/prompt-complexity-scorer/SKILL.md +118 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +210 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/all/copy-overwrite/CLAUDE.md +77 -0
- package/all/copy-overwrite/HUMAN.md +17 -0
- package/all/copy-overwrite/specs/.keep +0 -0
- package/all/create-only/PROJECT_RULES.md +0 -0
- package/cdk/merge/package.json +20 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +107 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompts.d.ts +45 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +58 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/core/config.d.ts +73 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +36 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lisa.d.ts +81 -0
- package/dist/core/lisa.d.ts.map +1 -0
- package/dist/core/lisa.js +459 -0
- package/dist/core/lisa.js.map +1 -0
- package/dist/core/manifest.d.ts +58 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +104 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/detection/detector.interface.d.ts +15 -0
- package/dist/detection/detector.interface.d.ts.map +1 -0
- package/dist/detection/detector.interface.js +2 -0
- package/dist/detection/detector.interface.js.map +1 -0
- package/dist/detection/detectors/cdk.d.ts +10 -0
- package/dist/detection/detectors/cdk.d.ts.map +1 -0
- package/dist/detection/detectors/cdk.js +34 -0
- package/dist/detection/detectors/cdk.js.map +1 -0
- package/dist/detection/detectors/expo.d.ts +10 -0
- package/dist/detection/detectors/expo.d.ts.map +1 -0
- package/dist/detection/detectors/expo.js +30 -0
- package/dist/detection/detectors/expo.js.map +1 -0
- package/dist/detection/detectors/nestjs.d.ts +10 -0
- package/dist/detection/detectors/nestjs.d.ts.map +1 -0
- package/dist/detection/detectors/nestjs.js +34 -0
- package/dist/detection/detectors/nestjs.js.map +1 -0
- package/dist/detection/detectors/npm-package.d.ts +13 -0
- package/dist/detection/detectors/npm-package.d.ts.map +1 -0
- package/dist/detection/detectors/npm-package.js +30 -0
- package/dist/detection/detectors/npm-package.js.map +1 -0
- package/dist/detection/detectors/typescript.d.ts +10 -0
- package/dist/detection/detectors/typescript.d.ts.map +1 -0
- package/dist/detection/detectors/typescript.js +25 -0
- package/dist/detection/detectors/typescript.js.map +1 -0
- package/dist/detection/index.d.ts +24 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/index.js +57 -0
- package/dist/detection/index.js.map +1 -0
- package/dist/errors/index.d.ts +69 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +110 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/console-logger.d.ts +12 -0
- package/dist/logging/console-logger.d.ts.map +1 -0
- package/dist/logging/console-logger.js +22 -0
- package/dist/logging/console-logger.js.map +1 -0
- package/dist/logging/index.d.ts +4 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +3 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.interface.d.ts +20 -0
- package/dist/logging/logger.interface.d.ts.map +1 -0
- package/dist/logging/logger.interface.js +2 -0
- package/dist/logging/logger.interface.js.map +1 -0
- package/dist/logging/silent-logger.d.ts +12 -0
- package/dist/logging/silent-logger.d.ts.map +1 -0
- package/dist/logging/silent-logger.js +21 -0
- package/dist/logging/silent-logger.js.map +1 -0
- package/dist/strategies/copy-contents.d.ts +14 -0
- package/dist/strategies/copy-contents.d.ts.map +1 -0
- package/dist/strategies/copy-contents.js +69 -0
- package/dist/strategies/copy-contents.js.map +1 -0
- package/dist/strategies/copy-overwrite.d.ts +14 -0
- package/dist/strategies/copy-overwrite.d.ts.map +1 -0
- package/dist/strategies/copy-overwrite.js +47 -0
- package/dist/strategies/copy-overwrite.js.map +1 -0
- package/dist/strategies/create-only.d.ts +13 -0
- package/dist/strategies/create-only.d.ts.map +1 -0
- package/dist/strategies/create-only.js +30 -0
- package/dist/strategies/create-only.js.map +1 -0
- package/dist/strategies/index.d.ts +31 -0
- package/dist/strategies/index.d.ts.map +1 -0
- package/dist/strategies/index.js +52 -0
- package/dist/strategies/index.js.map +1 -0
- package/dist/strategies/merge.d.ts +13 -0
- package/dist/strategies/merge.d.ts.map +1 -0
- package/dist/strategies/merge.js +60 -0
- package/dist/strategies/merge.js.map +1 -0
- package/dist/strategies/strategy.interface.d.ts +31 -0
- package/dist/strategies/strategy.interface.d.ts.map +1 -0
- package/dist/strategies/strategy.interface.js +2 -0
- package/dist/strategies/strategy.interface.js.map +1 -0
- package/dist/transaction/backup.d.ts +38 -0
- package/dist/transaction/backup.d.ts.map +1 -0
- package/dist/transaction/backup.js +97 -0
- package/dist/transaction/backup.js.map +1 -0
- package/dist/transaction/index.d.ts +4 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/index.js +3 -0
- package/dist/transaction/index.js.map +1 -0
- package/dist/transaction/transaction.d.ts +34 -0
- package/dist/transaction/transaction.d.ts.map +1 -0
- package/dist/transaction/transaction.js +68 -0
- package/dist/transaction/transaction.js.map +1 -0
- package/dist/utils/file-operations.d.ts +29 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +84 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json-utils.d.ts +22 -0
- package/dist/utils/json-utils.d.ts.map +1 -0
- package/dist/utils/json-utils.js +57 -0
- package/dist/utils/json-utils.js.map +1 -0
- package/dist/utils/path-utils.d.ts +21 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +35 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/eslint-plugin-code-organization/README.md +149 -0
- package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +468 -0
- package/eslint-plugin-code-organization/index.js +23 -0
- package/eslint-plugin-code-organization/package.json +10 -0
- package/eslint-plugin-code-organization/rules/enforce-statement-order.js +157 -0
- package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +238 -0
- package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +360 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +360 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +327 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +299 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +749 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +318 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +198 -0
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +207 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +268 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +619 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +276 -0
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +414 -0
- package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +202 -0
- package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +443 -0
- package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +309 -0
- package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +417 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +431 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +290 -0
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +169 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +411 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +343 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +307 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +354 -0
- package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +362 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +505 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +711 -0
- package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +446 -0
- package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +223 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +319 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +420 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +556 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +590 -0
- package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +291 -0
- package/expo/copy-overwrite/.easignore.extra +2 -0
- package/expo/copy-overwrite/.mcp.json +33 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +234 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +84 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +196 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +289 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +32 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +10 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +230 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +91 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +178 -0
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +238 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +260 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +29 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +10 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +51 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +55 -0
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-inline-styles.js +73 -0
- package/expo/copy-overwrite/eslint.config.mjs +560 -0
- package/expo/copy-overwrite/lighthouserc.js +194 -0
- package/expo/create-only/lighthouserc-config.json +28 -0
- package/expo/merge/package.json +132 -0
- package/lisa.sh +35 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +176 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +527 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +483 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +257 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +513 -0
- package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +536 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +275 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +450 -0
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +536 -0
- package/nestjs/merge/package.json +75 -0
- package/package.json +124 -0
- package/typescript/copy-contents/.husky/commit-msg +91 -0
- package/typescript/copy-contents/.husky/pre-commit +96 -0
- package/typescript/copy-contents/.husky/pre-push +211 -0
- package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +74 -0
- package/typescript/copy-overwrite/.claude/hooks/install_pkgs.sh +59 -0
- package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +103 -0
- package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +388 -0
- package/typescript/copy-overwrite/.github/README.md +455 -0
- package/typescript/copy-overwrite/.github/dependabot.yml +40 -0
- package/typescript/copy-overwrite/.github/k6/BROWSER_TESTING_NOTE.md +129 -0
- package/typescript/copy-overwrite/.github/k6/INTEGRATION_GUIDE.md +354 -0
- package/typescript/copy-overwrite/.github/k6/README.md +386 -0
- package/typescript/copy-overwrite/.github/k6/SCENARIO_SELECTION_GUIDE.md +264 -0
- package/typescript/copy-overwrite/.github/k6/examples/customer-deploy-integration.yml +115 -0
- package/typescript/copy-overwrite/.github/k6/examples/data-driven-test.js +268 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/load.js +142 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/load.json +27 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/smoke.js +26 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/smoke.json +20 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/soak.js +244 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/soak.json +29 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/spike.js +180 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/spike.json +32 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/stress.js +206 -0
- package/typescript/copy-overwrite/.github/k6/scenarios/stress.json +38 -0
- package/typescript/copy-overwrite/.github/k6/scripts/api-test.js +452 -0
- package/typescript/copy-overwrite/.github/k6/scripts/default-test.js +185 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/normal.json +30 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/relaxed.json +21 -0
- package/typescript/copy-overwrite/.github/k6/thresholds/strict.json +29 -0
- package/typescript/copy-overwrite/.github/workflows/build.yml +72 -0
- package/typescript/copy-overwrite/.github/workflows/ci.yml +49 -0
- package/typescript/copy-overwrite/.github/workflows/claude.yml +51 -0
- package/typescript/copy-overwrite/.github/workflows/create-github-issue-on-failure.yml +113 -0
- package/typescript/copy-overwrite/.github/workflows/create-jira-issue-on-failure.yml +195 -0
- package/typescript/copy-overwrite/.github/workflows/create-sentry-issue-on-failure.yml +267 -0
- package/typescript/copy-overwrite/.github/workflows/deploy.yml +228 -0
- package/typescript/copy-overwrite/.github/workflows/k6-load-test-README.md +230 -0
- package/typescript/copy-overwrite/.github/workflows/lighthouse.yml +68 -0
- package/typescript/copy-overwrite/.github/workflows/load-test.yml +282 -0
- package/typescript/copy-overwrite/.github/workflows/quality.yml +1737 -0
- package/typescript/copy-overwrite/.github/workflows/release.yml +1599 -0
- package/typescript/copy-overwrite/.gitleaksignore +28 -0
- package/typescript/copy-overwrite/.nvmrc +1 -0
- package/typescript/copy-overwrite/.prettierignore +23 -0
- package/typescript/copy-overwrite/.prettierrc.json +22 -0
- package/typescript/copy-overwrite/.versionrc +42 -0
- package/typescript/copy-overwrite/.yamllint +20 -0
- package/typescript/copy-overwrite/commitlint.config.js +11 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +149 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +468 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +23 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +10 -0
- package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +157 -0
- package/typescript/copy-overwrite/eslint.config.mjs +390 -0
- package/typescript/copy-overwrite/eslint.ignore.config.json +57 -0
- package/typescript/copy-overwrite/eslint.thresholds.config.json +5 -0
- package/typescript/github-rulesets/base.json +106 -0
- package/typescript/merge/.claude/settings.json +28 -0
- package/typescript/merge/package.json +71 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Uses the research.md and brief.md file in the specified directory to create a detailed list of tasks to implement the project
|
|
3
|
+
argument-hint: <project-directory>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0: MANDATORY SETUP
|
|
7
|
+
|
|
8
|
+
Use TodoWrite to create workflow tracking todos:
|
|
9
|
+
- Step 1: Read project files
|
|
10
|
+
- Step 2: Validate research
|
|
11
|
+
- Step 3: Discover skills
|
|
12
|
+
- Step 4: Create task list
|
|
13
|
+
- Step 5: Create task files
|
|
14
|
+
- Step 6: Commit plan
|
|
15
|
+
|
|
16
|
+
⚠️ **CRITICAL**: DO NOT STOP until all 6 todos are marked completed.
|
|
17
|
+
|
|
18
|
+
## Step 1: Read Project Files
|
|
19
|
+
Mark "Step 1: Read project files" as in_progress.
|
|
20
|
+
|
|
21
|
+
1. Read the `brief.md` file inside $ARGUMENTS FULLY (no limit/offset)
|
|
22
|
+
2. Read the `research.md` file inside $ARGUMENTS FULLY (no limit/offset)
|
|
23
|
+
|
|
24
|
+
Mark "Step 1: Read project files" as completed. Proceed to Step 2.
|
|
25
|
+
|
|
26
|
+
## Step 2: Validate Research
|
|
27
|
+
Mark "Step 2: Validate research" as in_progress.
|
|
28
|
+
|
|
29
|
+
**VALIDATE RESEARCH COMPLETENESS**:
|
|
30
|
+
- Locate the "## Open Questions" section in the research.md file you just read
|
|
31
|
+
- Examine the content under this section carefully
|
|
32
|
+
|
|
33
|
+
**VALID STATES** (proceed to Step 3):
|
|
34
|
+
✅ Section contains "None", "[None identified]", "N/A", or is empty
|
|
35
|
+
✅ Section doesn't exist at all
|
|
36
|
+
✅ Section contains questions BUT all `**Answer**:` fields are filled (not empty, not placeholder text like "_[Human fills this in]_")
|
|
37
|
+
|
|
38
|
+
**INVALID STATE** (stop immediately):
|
|
39
|
+
❌ Section contains questions with unfilled `**Answer**:` fields (empty or placeholder text)
|
|
40
|
+
❌ Section contains unstructured questions without Answer fields
|
|
41
|
+
- If INVALID state is detected, **STOP IMMEDIATELY** and report:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
❌ CANNOT PROCEED WITH PLANNING
|
|
45
|
+
|
|
46
|
+
The research.md file has unanswered open questions that must be addressed before planning can begin.
|
|
47
|
+
|
|
48
|
+
Unanswered Questions Found:
|
|
49
|
+
[List each question title and its Question field]
|
|
50
|
+
|
|
51
|
+
Action Required:
|
|
52
|
+
1. Review $ARGUMENTS/research.md "## Open Questions" section
|
|
53
|
+
2. Fill in the **Answer**: field for each question
|
|
54
|
+
3. Re-run /project:plan
|
|
55
|
+
|
|
56
|
+
Planning has been aborted.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**IMPORTANT**: NEVER modify, delete, or replace any existing sections in research.md during validation.
|
|
60
|
+
Only READ and VALIDATE. The research.md file is a historical record and must be preserved as-is.
|
|
61
|
+
|
|
62
|
+
Mark "Step 2: Validate research" as completed. Proceed to Step 3.
|
|
63
|
+
|
|
64
|
+
## Step 3: Discover Skills
|
|
65
|
+
Mark "Step 3: Discover skills" as in_progress.
|
|
66
|
+
|
|
67
|
+
**DISCOVER APPLICABLE SKILLS**:
|
|
68
|
+
- Read all skill descriptions by examining `.claude/skills/*/SKILL.md` files (read only the frontmatter description, first 10 lines of each)
|
|
69
|
+
- For each skill, determine if it applies to ANY task in this project based on brief.md requirements
|
|
70
|
+
- Create a mental map of: skill name → when it applies (e.g., "container-view-pattern → when creating React components")
|
|
71
|
+
- You will use this mapping in Step 5 to annotate each task with its applicable skills
|
|
72
|
+
|
|
73
|
+
Mark "Step 3: Discover skills" as completed. Proceed to Step 4.
|
|
74
|
+
|
|
75
|
+
## Step 4: Create Task List
|
|
76
|
+
Mark "Step 4: Create task list" as in_progress.
|
|
77
|
+
|
|
78
|
+
1. Determine a list of tasks required to complete the project
|
|
79
|
+
2. **CRITICAL: Each task must be small enough to have a single, specific verification**
|
|
80
|
+
- If a task would require multiple verifications, split it into smaller tasks
|
|
81
|
+
- Ask: "Can I prove this task is done with ONE command or check?"
|
|
82
|
+
- **Exception for multi-platform UI recordings**: Tasks with `ui-recording` verification may have one proof command per platform (web/iOS/Android) since the same UI feature must be verified on each target platform
|
|
83
|
+
- Examples of properly-sized tasks:
|
|
84
|
+
- ✅ "Add logout button to header" → single Playwright test verifies button exists and works
|
|
85
|
+
- ✅ "Add unit tests for UserService" → single coverage command shows UserService coverage
|
|
86
|
+
- ✅ "Create API endpoint for user profile" → single curl command returns expected response
|
|
87
|
+
- ❌ "Build authentication system" → too large, needs multiple verifications (split into login, logout, session, etc.)
|
|
88
|
+
- ❌ "Add user management feature" → too large (split into list users, create user, edit user, etc.)
|
|
89
|
+
3. Write that list of tasks to `progress.md` inside $ARGUMENTS
|
|
90
|
+
|
|
91
|
+
Mark "Step 4: Create task list" as completed. Proceed to Step 5.
|
|
92
|
+
|
|
93
|
+
## Step 5: Create Task Files
|
|
94
|
+
Mark "Step 5: Create task files" as in_progress.
|
|
95
|
+
|
|
96
|
+
For each task in `progress.md`, create a new file called `tasks/000<step-number>-<task-name>.md`
|
|
97
|
+
|
|
98
|
+
**For each task, create a file using this template:**
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# Task: [Task Name]
|
|
102
|
+
|
|
103
|
+
**Type:** Bug | Task | Epic | Story
|
|
104
|
+
**Parent:** [Parent Task Name, or "None"]
|
|
105
|
+
|
|
106
|
+
## Description
|
|
107
|
+
|
|
108
|
+
[Write a clear description based on task type:
|
|
109
|
+
- **Bug**: Describe the bug, symptoms, and root cause analysis approach
|
|
110
|
+
- **Story**: Use Gherkin BDD format (Given/When/Then)
|
|
111
|
+
- **Task**: Straightforward description with clear goal
|
|
112
|
+
- **Epic**: Goal overview with list of sub-tasks]
|
|
113
|
+
|
|
114
|
+
## Acceptance Criteria
|
|
115
|
+
|
|
116
|
+
[Specific, testable criteria that define "done" for this task]
|
|
117
|
+
|
|
118
|
+
- [ ] Criterion 1
|
|
119
|
+
- [ ] Criterion 2
|
|
120
|
+
- [ ] Criterion 3
|
|
121
|
+
|
|
122
|
+
## Relevant Research
|
|
123
|
+
|
|
124
|
+
[Extract and summarize relevant sections from research.md, including:
|
|
125
|
+
- Code references (file:line) that will be modified or referenced
|
|
126
|
+
- Patterns to follow from the codebase
|
|
127
|
+
- Architecture constraints that apply
|
|
128
|
+
- Any resolved questions that affect this task]
|
|
129
|
+
|
|
130
|
+
## Applicable Skills
|
|
131
|
+
|
|
132
|
+
Invoke these skills before writing implementation code:
|
|
133
|
+
|
|
134
|
+
- `/coding-philosophy` - Always required for all code
|
|
135
|
+
- [Add other skills from Step 3 that apply to THIS SPECIFIC task]
|
|
136
|
+
|
|
137
|
+
## Implementation Details
|
|
138
|
+
|
|
139
|
+
[Specific implementation guidance:
|
|
140
|
+
- Files to create or modify
|
|
141
|
+
- Functions/classes to implement
|
|
142
|
+
- Integration points with existing code
|
|
143
|
+
- Edge cases to handle]
|
|
144
|
+
|
|
145
|
+
## Testing Requirements
|
|
146
|
+
|
|
147
|
+
### Unit Tests
|
|
148
|
+
[List specific unit tests required. Reference patterns from research.md]
|
|
149
|
+
|
|
150
|
+
- [ ] `describe('X')/it('should Y')`: Test description
|
|
151
|
+
- [ ] `describe('X')/it('should Y')`: Test description
|
|
152
|
+
|
|
153
|
+
### Integration Tests
|
|
154
|
+
[List integration tests required, or "N/A - no integration points"]
|
|
155
|
+
|
|
156
|
+
- [ ] Test description
|
|
157
|
+
|
|
158
|
+
### E2E Tests
|
|
159
|
+
[List e2e tests required, or "N/A - no user-facing changes"]
|
|
160
|
+
|
|
161
|
+
- [ ] Test scenario description
|
|
162
|
+
|
|
163
|
+
## Documentation Requirements
|
|
164
|
+
|
|
165
|
+
### Code Documentation (JSDoc)
|
|
166
|
+
[List functions/types needing JSDoc, or "N/A"]
|
|
167
|
+
|
|
168
|
+
- [ ] `functionName` - @param, @returns, @throws
|
|
169
|
+
- [ ] `TypeName` - @description
|
|
170
|
+
|
|
171
|
+
### Database Comments
|
|
172
|
+
[List tables/columns needing comments, or "N/A - no database changes"]
|
|
173
|
+
|
|
174
|
+
- [ ] `table.column` - purpose description
|
|
175
|
+
|
|
176
|
+
### GraphQL Descriptions
|
|
177
|
+
[List types/fields needing descriptions, or "N/A - no GraphQL changes"]
|
|
178
|
+
|
|
179
|
+
- [ ] `Type.field` - purpose description
|
|
180
|
+
|
|
181
|
+
## Verification
|
|
182
|
+
|
|
183
|
+
### Type
|
|
184
|
+
[One of: `ui-recording` | `test-coverage` | `api-test` | `manual-check` | `documentation`]
|
|
185
|
+
|
|
186
|
+
### Proof Command
|
|
187
|
+
```bash
|
|
188
|
+
[Single command to verify task completion - must be specific to THIS task]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
<!-- For ui-recording on multi-platform apps, provide one command per platform:
|
|
192
|
+
#### Web
|
|
193
|
+
```bash
|
|
194
|
+
bun run playwright:test e2e/feature.spec.ts --grep "specific test" --trace on
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### iOS
|
|
198
|
+
```bash
|
|
199
|
+
maestro test .maestro/flows/feature-test.yaml --platform ios
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Android
|
|
203
|
+
```bash
|
|
204
|
+
maestro test .maestro/flows/feature-test.yaml --platform android
|
|
205
|
+
```
|
|
206
|
+
-->
|
|
207
|
+
|
|
208
|
+
<!-- For api-test, create a documented bash script at scripts/verify/<task-name>.sh:
|
|
209
|
+
- Script must support -h and --help flags with usage documentation
|
|
210
|
+
- Script must handle authentication if required
|
|
211
|
+
- Script must return exit code 0 on success, non-zero on failure
|
|
212
|
+
- Script must output clear success/failure message
|
|
213
|
+
|
|
214
|
+
Example:
|
|
215
|
+
```bash
|
|
216
|
+
./scripts/verify/user-profile-api.sh --help
|
|
217
|
+
./scripts/verify/user-profile-api.sh
|
|
218
|
+
```
|
|
219
|
+
-->
|
|
220
|
+
|
|
221
|
+
### Expected Output
|
|
222
|
+
[What the proof command output should show to confirm success]
|
|
223
|
+
|
|
224
|
+
## Implementation Steps
|
|
225
|
+
|
|
226
|
+
### Step 0: Setup Tracking
|
|
227
|
+
Use TodoWrite to create task tracking todos:
|
|
228
|
+
- Invoke skills
|
|
229
|
+
- Write failing tests
|
|
230
|
+
- Write implementation
|
|
231
|
+
- Verify implementation
|
|
232
|
+
- Update documentation
|
|
233
|
+
- Commit changes
|
|
234
|
+
|
|
235
|
+
⚠️ **CRITICAL**: DO NOT STOP until all todos are marked completed.
|
|
236
|
+
|
|
237
|
+
### Step 1: Invoke Skills
|
|
238
|
+
Mark "Invoke skills" as in_progress.
|
|
239
|
+
|
|
240
|
+
1. Mark this task as "in progress" in `progress.md`
|
|
241
|
+
2. Invoke each skill listed in "Applicable Skills" using the Skill tool
|
|
242
|
+
|
|
243
|
+
Mark "Invoke skills" as completed.
|
|
244
|
+
|
|
245
|
+
### Step 2: Write Failing Tests
|
|
246
|
+
Mark "Write failing tests" as in_progress.
|
|
247
|
+
|
|
248
|
+
1. Write unit tests based on Testing Requirements
|
|
249
|
+
2. Write integration tests based on Testing Requirements
|
|
250
|
+
3. Run tests to confirm they fail (TDD)
|
|
251
|
+
|
|
252
|
+
Mark "Write failing tests" as completed.
|
|
253
|
+
|
|
254
|
+
### Step 3: Write Implementation
|
|
255
|
+
Mark "Write implementation" as in_progress.
|
|
256
|
+
|
|
257
|
+
Implement code following Implementation Details until tests pass.
|
|
258
|
+
|
|
259
|
+
Mark "Write implementation" as completed.
|
|
260
|
+
|
|
261
|
+
### Step 4: Verify Implementation
|
|
262
|
+
Mark "Verify implementation" as in_progress.
|
|
263
|
+
|
|
264
|
+
1. Run the Proof Command from Verification section
|
|
265
|
+
2. Confirm output matches Expected Output
|
|
266
|
+
3. If verification fails, fix and re-verify
|
|
267
|
+
|
|
268
|
+
Mark "Verify implementation" as completed.
|
|
269
|
+
|
|
270
|
+
### Step 5: Update Documentation
|
|
271
|
+
Mark "Update documentation" as in_progress.
|
|
272
|
+
|
|
273
|
+
Complete all items in Documentation Requirements section.
|
|
274
|
+
|
|
275
|
+
Mark "Update documentation" as completed.
|
|
276
|
+
|
|
277
|
+
### Step 6: Commit Changes
|
|
278
|
+
Mark "Commit changes" as in_progress.
|
|
279
|
+
|
|
280
|
+
1. Run `/git:commit`
|
|
281
|
+
2. Mark this task as "completed" in `progress.md`
|
|
282
|
+
3. Record any learnings in `findings.md`
|
|
283
|
+
|
|
284
|
+
Mark "Commit changes" as completed.
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
**Verification Type Reference:**
|
|
290
|
+
|
|
291
|
+
| Type | When to Use | Example Command |
|
|
292
|
+
|------|-------------|-----------------|
|
|
293
|
+
| `ui-recording` | UI/UX changes visible to users | Web: `bun run playwright:test ...`, iOS/Android: `maestro test ...` |
|
|
294
|
+
| `test-coverage` | New code with tests | `bun run test:cov -- --collectCoverageFrom='src/path/to/file.ts'` |
|
|
295
|
+
| `api-test` | New API endpoints | `./scripts/verify/<task-name>.sh` (documented script with -h/--help) |
|
|
296
|
+
| `documentation` | Docs, README updates | `cat path/to/doc.md` |
|
|
297
|
+
| `manual-check` | Config, setup, infrastructure | Command showing the config/state exists |
|
|
298
|
+
|
|
299
|
+
Mark "Step 5: Create task files" as completed. Proceed to Step 6.
|
|
300
|
+
|
|
301
|
+
## Step 6: Commit Plan
|
|
302
|
+
Mark "Step 6: Commit plan" as in_progress.
|
|
303
|
+
|
|
304
|
+
Run /git:commit
|
|
305
|
+
|
|
306
|
+
Mark "Step 6: Commit plan" as completed.
|
|
307
|
+
|
|
308
|
+
Report: "📋 Planning complete - X tasks created"
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
IMPORTANT: Each task should contain all the necessary information from `brief.md` and `research.md` and any other support files necessary to complete the task in isolation. Tasks should be completely independent of one another and be as small in scope as possible.
|
|
313
|
+
|
|
314
|
+
IMPORTANT: If, at the end of a task, the pre-commit blocks you because it is dependent on another task, complete the other task first and then commit.
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conducts research of your code base and the web relevant to your project and compiles it for the planning phase
|
|
3
|
+
argument-hint: <project-directory>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Research Codebase
|
|
7
|
+
|
|
8
|
+
You are tasked with conducting comprehensive research across the codebase and web that will help create an implementation plan for the brief in $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
Goals:
|
|
11
|
+
|
|
12
|
+
1. Determine what existing documentation in the codebase will be needed to fulfill the spec
|
|
13
|
+
2. Determine any gaps in the spec that would prevent a developer from fulfilling the acceptance criteria
|
|
14
|
+
3. Determine any potential pitfalls that should be considered such as performance or security concerns
|
|
15
|
+
4. Determine what code, functions, and modules currently exist within the codebase that could be reused during implementation
|
|
16
|
+
5. Determine testing patterns and locations in the codebase (frameworks, conventions, examples to follow)
|
|
17
|
+
6. Determine documentation patterns in the codebase (JSDoc conventions, DB comment conventions, GraphQL description conventions)
|
|
18
|
+
|
|
19
|
+
Note: Task-specific concerns (acceptance criteria, specific tests to write, specific documentation to create) are determined during the Planning phase on a per-task basis.
|
|
20
|
+
|
|
21
|
+
## Step 0: MANDATORY SETUP
|
|
22
|
+
|
|
23
|
+
Create workflow tracking todos:
|
|
24
|
+
- Step 1: Read mentioned files
|
|
25
|
+
- Step 2: Analyze and decompose
|
|
26
|
+
- Step 3: Spawn research agents
|
|
27
|
+
- Step 4: Wait and synthesize
|
|
28
|
+
- Step 5: Generate document
|
|
29
|
+
- Step 6: Commit
|
|
30
|
+
|
|
31
|
+
⚠️ **CRITICAL**: DO NOT STOP until all 6 todos are marked completed.
|
|
32
|
+
|
|
33
|
+
## CRITICAL: YOUR ONLY JOB IS TO DOCUMENT AND EXPLAIN THE CODEBASE AS IT EXISTS TODAY
|
|
34
|
+
|
|
35
|
+
- DO NOT suggest improvements or changes unless the user explicitly asks for them
|
|
36
|
+
- DO NOT perform root cause analysis unless the user explicitly asks for them
|
|
37
|
+
- DO NOT propose future enhancements unless the user explicitly asks for them
|
|
38
|
+
- DO NOT critique the implementation or identify problems
|
|
39
|
+
- DO NOT recommend refactoring, optimization, or architectural changes
|
|
40
|
+
- ONLY describe what exists, where it exists, how it works, and how components interact
|
|
41
|
+
- You are creating a technical map/documentation of the existing system
|
|
42
|
+
|
|
43
|
+
## Step 1: Read Mentioned Files
|
|
44
|
+
Mark "Step 1: Read mentioned files" as in_progress.
|
|
45
|
+
|
|
46
|
+
**Read any directly mentioned files first:**
|
|
47
|
+
- If the user mentions specific files (tickets, docs, JSON), read them FULLY first
|
|
48
|
+
- **IMPORTANT**: Use the Read tool WITHOUT limit/offset parameters to read entire files
|
|
49
|
+
- **CRITICAL**: Read these files yourself in the main context before spawning any sub-tasks
|
|
50
|
+
- This ensures you have full context before decomposing the research
|
|
51
|
+
|
|
52
|
+
Mark "Step 1: Read mentioned files" as completed. Proceed to Step 2.
|
|
53
|
+
|
|
54
|
+
## Step 2: Analyze and Decompose
|
|
55
|
+
Mark "Step 2: Analyze and decompose" as in_progress.
|
|
56
|
+
|
|
57
|
+
**Analyze and decompose the research question:**
|
|
58
|
+
- Break down the brief into composable research areas
|
|
59
|
+
- Take time to ultrathink about the underlying patterns, connections, and architectural implications
|
|
60
|
+
- Identify specific components, patterns, or concepts to investigate
|
|
61
|
+
- Create a research plan using TodoWrite to track all subtasks
|
|
62
|
+
- Consider which directories, files, or architectural patterns are relevant
|
|
63
|
+
|
|
64
|
+
Mark "Step 2: Analyze and decompose" as completed. Proceed to Step 3.
|
|
65
|
+
|
|
66
|
+
## Step 3: Spawn Research Agents
|
|
67
|
+
Mark "Step 3: Spawn research agents" as in_progress.
|
|
68
|
+
|
|
69
|
+
**Spawn parallel sub-agent tasks for comprehensive research:**
|
|
70
|
+
- Create multiple Task agents to research different aspects concurrently
|
|
71
|
+
- We now have specialized agents that know how to do specific research tasks:
|
|
72
|
+
|
|
73
|
+
**For codebase research:**
|
|
74
|
+
- Use the **codebase-locator** agent to find WHERE files and components live
|
|
75
|
+
- Use the **codebase-analyzer** agent to understand HOW specific code works (without critiquing it)
|
|
76
|
+
- Use the **codebase-pattern-finder** agent to find examples of existing patterns (without evaluating them)
|
|
77
|
+
- Use the **git-history-analyzer** agent to understand what changes the file has undergone that may affect the implementation plan
|
|
78
|
+
|
|
79
|
+
**For e2e test research:**
|
|
80
|
+
- Use the **codebase-locator** agent to find existing e2e tests in `e2e/` or `tests/` directories that relate to the feature being modified
|
|
81
|
+
- Use the **codebase-analyzer** agent to document what scenarios each relevant test covers
|
|
82
|
+
- Identify tests that will need modification due to UI/flow changes
|
|
83
|
+
- Identify tests that may need to be removed if features are deprecated
|
|
84
|
+
- Identify gaps where new tests will be needed for new functionality
|
|
85
|
+
- Document the test file paths and what each test validates
|
|
86
|
+
|
|
87
|
+
**IMPORTANT**: All agents are documentarians, not critics. They will describe what exists without suggesting improvements or identifying issues.
|
|
88
|
+
|
|
89
|
+
**For web research:**
|
|
90
|
+
- Use the **web-search-researcher** agent for external documentation and resources
|
|
91
|
+
- IF you use web-research agents, instruct them to return LINKS with their findings, and please INCLUDE those links in your final report
|
|
92
|
+
|
|
93
|
+
The key is to use these agents intelligently:
|
|
94
|
+
- Start with locator agents to find what exists
|
|
95
|
+
- Then use analyzer agents on the most promising findings to document how they work
|
|
96
|
+
- Run multiple agents in parallel when they're searching for different things
|
|
97
|
+
- Each agent knows its job - just tell it what you're looking for
|
|
98
|
+
- Don't write detailed prompts about HOW to search - the agents already know
|
|
99
|
+
- Remind agents they are documenting, not evaluating or improving
|
|
100
|
+
|
|
101
|
+
Mark "Step 3: Spawn research agents" as completed. Proceed to Step 4.
|
|
102
|
+
|
|
103
|
+
## Step 4: Wait and Synthesize
|
|
104
|
+
Mark "Step 4: Wait and synthesize" as in_progress.
|
|
105
|
+
|
|
106
|
+
**Wait for all sub-agents to complete and synthesize findings:**
|
|
107
|
+
- ⚠️ **CRITICAL**: Wait for ALL sub-agent tasks to complete before proceeding
|
|
108
|
+
- DO NOT proceed to Step 5 until every spawned Task has returned
|
|
109
|
+
- Compile all sub-agent results (both codebase and thoughts findings)
|
|
110
|
+
- Prioritize live codebase findings as primary source of truth
|
|
111
|
+
- Connect findings across different components
|
|
112
|
+
- Include specific file paths and line numbers for reference
|
|
113
|
+
- Highlight patterns, connections, and architectural decisions
|
|
114
|
+
- Include any frameworks used such as Ruby on Rails, NestJs, Expo, React, React Native, Vue, etc
|
|
115
|
+
- If a framework is used, identify what portions of the framework are relevant to the given project (i.e. ActiveRecord, NestJs Service's, dependency injection, etc)
|
|
116
|
+
|
|
117
|
+
Mark "Step 4: Wait and synthesize" as completed. Proceed to Step 5.
|
|
118
|
+
|
|
119
|
+
## Step 5: Generate Document
|
|
120
|
+
Mark "Step 5: Generate document" as in_progress.
|
|
121
|
+
|
|
122
|
+
**Generate research document:**
|
|
123
|
+
- Structure the document with YAML frontmatter followed by content:
|
|
124
|
+
|
|
125
|
+
```markdown
|
|
126
|
+
---
|
|
127
|
+
date: [Current date and time with timezone in ISO format]
|
|
128
|
+
status: complete
|
|
129
|
+
last_updated: [Current date in YYYY-MM-DD format]
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
# Research
|
|
133
|
+
|
|
134
|
+
## Summary
|
|
135
|
+
|
|
136
|
+
[High-level documentation of what was found]
|
|
137
|
+
|
|
138
|
+
## Detailed Findings
|
|
139
|
+
|
|
140
|
+
### [Component/Area 1]
|
|
141
|
+
|
|
142
|
+
- Description of what exists ([file.ext:line](link))
|
|
143
|
+
- How it connects to other components
|
|
144
|
+
- Current implementation details (without evaluation)
|
|
145
|
+
|
|
146
|
+
### [Component/Area 2]
|
|
147
|
+
|
|
148
|
+
...
|
|
149
|
+
|
|
150
|
+
## Code References
|
|
151
|
+
|
|
152
|
+
- `path/to/file.py:123` - Description of what's there
|
|
153
|
+
- `another/file.ts:45-67` - Description of the code block
|
|
154
|
+
|
|
155
|
+
## Architecture Documentation
|
|
156
|
+
|
|
157
|
+
[Current patterns, conventions, and design implementations found in the codebase]
|
|
158
|
+
|
|
159
|
+
## Testing Patterns
|
|
160
|
+
|
|
161
|
+
### Unit Test Patterns
|
|
162
|
+
- **Location**: `src/**/__tests__/*.test.ts` (or actual pattern found)
|
|
163
|
+
- **Framework**: Jest/Vitest/etc.
|
|
164
|
+
- **Example to follow**: `path/to/example.test.ts:line-range`
|
|
165
|
+
- **Conventions**: [Describe naming, structure, mock patterns]
|
|
166
|
+
|
|
167
|
+
### Integration Test Patterns
|
|
168
|
+
- **Location**: `src/**/*.integration.test.ts` (or actual pattern found)
|
|
169
|
+
- **Example to follow**: `path/to/example.integration.test.ts`
|
|
170
|
+
- **Conventions**: [Describe setup, teardown, database handling]
|
|
171
|
+
|
|
172
|
+
### E2E Test Patterns
|
|
173
|
+
- **Location**: `e2e/*.spec.ts` (or actual pattern found)
|
|
174
|
+
- **Framework**: Playwright/Cypress/Maestro/etc.
|
|
175
|
+
- **Example to follow**: `path/to/example.spec.ts`
|
|
176
|
+
- **Conventions**: [Describe page objects, fixtures, assertions]
|
|
177
|
+
|
|
178
|
+
## Documentation Patterns
|
|
179
|
+
|
|
180
|
+
### JSDoc Conventions
|
|
181
|
+
- **Style**: [Describe the JSDoc style used in this codebase]
|
|
182
|
+
- **Example**: `path/to/well-documented-file.ts:line-range`
|
|
183
|
+
- **Required tags**: [@param, @returns, @throws, etc.]
|
|
184
|
+
|
|
185
|
+
### Database Comments (Backend Only)
|
|
186
|
+
- **Convention**: [How tables/columns are documented]
|
|
187
|
+
- **Example**: `path/to/entity.ts` or migration file
|
|
188
|
+
- **Required for**: [New tables, new columns, complex relationships]
|
|
189
|
+
|
|
190
|
+
### GraphQL Descriptions (Backend Only)
|
|
191
|
+
- **Convention**: [How types/fields are documented]
|
|
192
|
+
- **Example**: `path/to/resolver.ts` or schema file
|
|
193
|
+
- **Required for**: [Public API fields, complex types]
|
|
194
|
+
|
|
195
|
+
## Open Questions
|
|
196
|
+
|
|
197
|
+
<!--
|
|
198
|
+
Structure each question with context and impact.
|
|
199
|
+
The Answer field must be filled by a human before planning can proceed.
|
|
200
|
+
-->
|
|
201
|
+
|
|
202
|
+
### Q1: [Short Question Title]
|
|
203
|
+
**Question**: [Full question]
|
|
204
|
+
**Context**: [Why this question arose, what in the brief is unclear]
|
|
205
|
+
**Impact**: [What parts of implementation this affects]
|
|
206
|
+
**Answer**: _[Human fills this in before running /project:plan]_
|
|
207
|
+
|
|
208
|
+
<!-- Add more questions as needed using the same format -->
|
|
209
|
+
<!-- If no questions, replace this section with: [None identified] -->
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
- Save the research document as `research.md` in the $ARGUMENTS directory
|
|
213
|
+
|
|
214
|
+
Mark "Step 5: Generate document" as completed. Proceed to Step 6.
|
|
215
|
+
|
|
216
|
+
## Step 6: Commit
|
|
217
|
+
Mark "Step 6: Commit" as in_progress.
|
|
218
|
+
|
|
219
|
+
Run /git:commit
|
|
220
|
+
|
|
221
|
+
Mark "Step 6: Commit" as completed.
|
|
222
|
+
|
|
223
|
+
## Important notes:
|
|
224
|
+
|
|
225
|
+
- Always use parallel Task agents to maximize efficiency and minimize context usage
|
|
226
|
+
- Always run fresh codebase research - never rely solely on existing research documents
|
|
227
|
+
- Focus on finding concrete file paths and line numbers for developer reference
|
|
228
|
+
- Research documents should be self-contained with all necessary context
|
|
229
|
+
- Each sub-agent prompt should be specific and focused on read-only documentation operations
|
|
230
|
+
- Document cross-component connections and how systems interact
|
|
231
|
+
- Include temporal context (when the research was conducted)
|
|
232
|
+
- Keep the main agent focused on synthesis, not deep file reading
|
|
233
|
+
- Have sub-agents document examples and usage patterns as they exist
|
|
234
|
+
- **CRITICAL**: You and all sub-agents are documentarians, not evaluators
|
|
235
|
+
- **REMEMBER**: Document what IS, not what SHOULD BE
|
|
236
|
+
- **NO RECOMMENDATIONS**: Only describe the current state of the codebase
|
|
237
|
+
- **File reading**: Always read mentioned files FULLY (no limit/offset) before spawning sub-tasks
|
|
238
|
+
- **Critical ordering**: Follow the numbered steps exactly
|
|
239
|
+
- ALWAYS read mentioned files first before spawning sub-tasks (step 1)
|
|
240
|
+
- ALWAYS wait for all sub-agents to complete before synthesizing (step 4)
|
|
241
|
+
- ALWAYS gather metadata before writing the document (step 5 before step 6)
|
|
242
|
+
- NEVER write the research document with placeholder values
|
|
243
|
+
- **Frontmatter consistency**:
|
|
244
|
+
- Always include frontmatter at the beginning of research documents
|
|
245
|
+
- Keep frontmatter fields consistent across all research documents
|
|
246
|
+
- Update frontmatter when adding follow-up research
|
|
247
|
+
- Use snake_case for multi-word field names (e.g., `last_updated`)
|
|
248
|
+
- Tags should be relevant to the research topic and components studied
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Performs extensive code review and optimization on the current project
|
|
3
|
+
argument-hint: <project-directory>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The current branch is a feature branch that contains full implementation of the project described in $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
IMPORTANT: Perform each step and then move to the next one without stopping
|
|
9
|
+
|
|
10
|
+
## Step 0: MANDATORY SETUP
|
|
11
|
+
|
|
12
|
+
Use TodoWrite to create workflow tracking todos:
|
|
13
|
+
- Step 1: Perform Claude Review
|
|
14
|
+
- Step 2: Implement Claude Review Fixes
|
|
15
|
+
- Step 3: Perform CodeRabbit Review
|
|
16
|
+
- Step 4: Implement CodeRabbit Review Fixes
|
|
17
|
+
- Step 5: Perform Claude Optimizations
|
|
18
|
+
|
|
19
|
+
## Step 1: Perform Claude Review
|
|
20
|
+
|
|
21
|
+
Mark "Step 1: Perform Claude Review" as in_progress.
|
|
22
|
+
|
|
23
|
+
If $ARGUMENTS/claude-review.md already exists, Mark "Step 1: Perform Claude Review" as completed. Proceed to Step 2
|
|
24
|
+
|
|
25
|
+
Otherwise, run /local-code-review $ARGUMENTS
|
|
26
|
+
|
|
27
|
+
Mark "Step 1: Perform Claude Review" as completed. Proceed to Step 2
|
|
28
|
+
|
|
29
|
+
## Step 2: Implement Claude Review Fixes
|
|
30
|
+
|
|
31
|
+
Mark "Step 2: Implement Claude Review Fixes" as in_progress.
|
|
32
|
+
|
|
33
|
+
1. Read $ARGUMENTS/claude-review.md
|
|
34
|
+
2. Fix any suggestions that score above 45 in $ARGUMENTS/claude-review.md
|
|
35
|
+
|
|
36
|
+
Mark "Step 2: Implement Claude Review Fixes" as completed. Proceed to Step 3
|
|
37
|
+
|
|
38
|
+
## Step 3: Perform CodeRabbit Review
|
|
39
|
+
|
|
40
|
+
Mark "Step 3: Perform CodeRabbit Review" as in_progress.
|
|
41
|
+
|
|
42
|
+
If $ARGUMENTS/coderabbit-review.md already exists, Mark "Step 3: Perform CodeRabbit Review" as completed. Proceed to Step 4
|
|
43
|
+
|
|
44
|
+
Otherwise, use Task tool with prompt: "Run !`coderabbit review --plain || true` to get comprehensive code analysis and improvement suggestions and write the results to $ARGUMENTS/coderabbit-review.md"
|
|
45
|
+
|
|
46
|
+
Mark "Step 3: Perform CodeRabbit Review" as completed. Proceed to Step 4
|
|
47
|
+
|
|
48
|
+
## Step 4: Implement CodeRabbit Review Fixes
|
|
49
|
+
|
|
50
|
+
Mark "Step 4: Implement CodeRabbit Review Fixes" as in_progress.
|
|
51
|
+
|
|
52
|
+
Evaluate the suggestions in $ARGUMENTS/coderabbit-review.md and implement fixes/changes for any valid findings
|
|
53
|
+
|
|
54
|
+
Mark "Step 4: Implement CodeRabbit Review Fixes" as completed. Proceed to Step 5
|
|
55
|
+
|
|
56
|
+
## Step 5: Perform Claude Optimizations
|
|
57
|
+
|
|
58
|
+
Mark "Step 5: Perform Claude Optimizations" as in_progress.
|
|
59
|
+
|
|
60
|
+
Use the code simplifier agent to clean up the code that was added to the current branch.
|
|
61
|
+
|
|
62
|
+
Mark "Step 5: Perform Claude Optimizations" as completed.
|
|
63
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize a comprehensive NestJS backend project with full requirements analysis, planning, and structure setup
|
|
3
|
+
argument-hint: <project-brief-file-or-jira-issue-number>
|
|
4
|
+
allowed-tools: Read, Write, Bash(git*), Glob, Grep, Task, TodoWrite
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
1. Decide if $ARGUMENTS is a Jira issue number or a path to a file
|
|
8
|
+
2. If $ARGUMENTS is a Jira issue number
|
|
9
|
+
1. Use the atlassian MCP server to Read the issue FULLY. If the MCP server is not working, STOP WORKING AND LET THE HUMAN KNOW
|
|
10
|
+
2. Otherwise: $ARGUMENTS is a brief for a project. Read it FULLY (no limit/offset)
|
|
11
|
+
3. Create a project directory in projects/ that is appropriately named for the project and prefixed with today's date like `YYYY-MM-DD-<project-name>`
|
|
12
|
+
4. If $ARGUMENTS is a Jira issue number
|
|
13
|
+
1. Create a file called `brief.md` in the newly created project directory and populate it with the jira issue number, title and description
|
|
14
|
+
2. Otherwise: Move $ARGUMENTS into the newly created project directory and rename it `brief.md`
|
|
15
|
+
5. Create an empty file in the new project directory called `findings.md`
|
|
16
|
+
6. If $ARGUMENTS is a Jira issue number
|
|
17
|
+
1. run /git:commit and add the jira issue number to the newly created branch (e.g. feature/SE-111-<branch-name>)
|
|
18
|
+
2. OTHERWISE: run /git:commit
|
|
19
|
+
7. If $ARGUMENTS is a Jira issue number Use the atlassian MCP server to update the issue with status "In Progress"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Comprehensive verification that a feature branch fully implements all project requirements with proper code quality, tests, and documentation
|
|
3
|
+
argument-hint: <project-directory>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The current branch is a feature branch that contains full implementation of the project described in $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
## Step 0: MANDATORY SETUP
|
|
9
|
+
|
|
10
|
+
Use TodoWrite to create workflow tracking todos:
|
|
11
|
+
- Step 1: Review Requirements for $ARGUMENTS
|
|
12
|
+
- Step 2: Verify Implementation
|
|
13
|
+
- Step 3: Document Drift
|
|
14
|
+
|
|
15
|
+
## Step 1: Review Requirements
|
|
16
|
+
|
|
17
|
+
Mark "Step 1: Review Requirements" as in_progress.
|
|
18
|
+
|
|
19
|
+
Read all the requirements for $ARGUMENTS
|
|
20
|
+
|
|
21
|
+
Mark "Step 1: Review Requirements" as completed. Proceed to Step 2
|
|
22
|
+
|
|
23
|
+
## Step 2: Verify Implementation
|
|
24
|
+
|
|
25
|
+
Mark "Step 2: Verify Implementation" as in_progress.
|
|
26
|
+
|
|
27
|
+
Verify that the implementation completely and fully satisfies all the requirements from Step 1
|
|
28
|
+
|
|
29
|
+
Mark "Step 2: Verify Implementation" as completed. Proceed to Step 3
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Step 3: Document Drift
|
|
33
|
+
|
|
34
|
+
Mark "Step 3: Document Drift" as in_progress.
|
|
35
|
+
|
|
36
|
+
IF there is any divergence from the requirements, document what this drift is to $ARGUMENTS/drift.md
|
|
37
|
+
|
|
38
|
+
Mark "Step 3: Document Drift" as completed.
|