@codyswann/lisa 1.0.0 → 1.0.5

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.
Files changed (280) hide show
  1. package/README.md +244 -36
  2. package/all/copy-overwrite/.claude/README.md +1 -3
  3. package/all/copy-overwrite/.claude/REFERENCE.md +519 -0
  4. package/all/copy-overwrite/.claude/agents/skill-evaluator.md +7 -7
  5. package/all/copy-overwrite/.claude/agents/test-coverage-agent.md +17 -0
  6. package/all/copy-overwrite/.claude/commands/git/commit.md +9 -5
  7. package/all/copy-overwrite/.claude/commands/git/submit-pr.md +1 -1
  8. package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +209 -0
  9. package/all/copy-overwrite/.claude/commands/project/add-test-coverage.md +58 -0
  10. package/all/copy-overwrite/.claude/commands/project/archive.md +1 -1
  11. package/all/copy-overwrite/.claude/commands/project/complete-task.md +53 -1
  12. package/all/copy-overwrite/.claude/commands/project/debrief.md +12 -23
  13. package/all/copy-overwrite/.claude/commands/project/execute.md +33 -77
  14. package/all/copy-overwrite/.claude/commands/project/fix-linter-error.md +87 -0
  15. package/all/copy-overwrite/.claude/commands/project/implement.md +24 -28
  16. package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +30 -55
  17. package/all/copy-overwrite/.claude/commands/project/plan.md +87 -242
  18. package/all/copy-overwrite/.claude/commands/project/reduce-max-lines-per-function.md +76 -0
  19. package/all/copy-overwrite/.claude/commands/project/reduce-max-lines.md +75 -0
  20. package/all/copy-overwrite/.claude/commands/project/research.md +86 -188
  21. package/all/copy-overwrite/.claude/commands/project/review.md +19 -38
  22. package/all/copy-overwrite/.claude/commands/project/setup.md +1 -1
  23. package/all/copy-overwrite/.claude/commands/project/verify.md +62 -25
  24. package/all/copy-overwrite/.claude/commands/pull-request/review.md +25 -7
  25. package/all/copy-overwrite/.claude/commands/tasks/load.md +63 -0
  26. package/all/copy-overwrite/.claude/commands/tasks/sync.md +84 -0
  27. package/all/copy-overwrite/.claude/hooks/README.md +75 -0
  28. package/all/copy-overwrite/.claude/hooks/check-tired-boss.sh +61 -0
  29. package/all/copy-overwrite/.claude/hooks/debug-hook.sh +47 -0
  30. package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +2 -0
  31. package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +95 -0
  32. package/all/copy-overwrite/.claude/{skills/coding-philosophy/SKILL.md → rules/coding-philosophy.md} +93 -70
  33. package/all/copy-overwrite/.claude/settings.json +35 -14
  34. package/all/copy-overwrite/.claude/skills/prompt-complexity-scorer/SKILL.md +41 -9
  35. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +2 -0
  36. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +2 -0
  37. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +2 -0
  38. package/all/copy-overwrite/.safety-net.json +25 -0
  39. package/all/copy-overwrite/CLAUDE.md +8 -30
  40. package/all/copy-overwrite/HUMAN.md +517 -17
  41. package/all/create-only/.claude/rules/PROJECT_RULES.md +9 -0
  42. package/all/create-only/scripts/setup-deploy-key.sh +190 -0
  43. package/all/deletions.json +5 -0
  44. package/cdk/copy-overwrite/.github/workflows/ci.yml +142 -0
  45. package/cdk/copy-overwrite/.github/workflows/deploy.yml +59 -0
  46. package/cdk/copy-overwrite/eslint.cdk.ts +175 -0
  47. package/cdk/copy-overwrite/eslint.config.ts +51 -0
  48. package/cdk/copy-overwrite/eslint.slow.config.ts +80 -0
  49. package/cdk/copy-overwrite/knip.json +53 -0
  50. package/cdk/copy-overwrite/tsconfig.eslint.json +11 -0
  51. package/cdk/merge/package.json +17 -1
  52. package/dist/cli/index.d.ts +3 -2
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +83 -64
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/prompts.d.ts +17 -3
  57. package/dist/cli/prompts.d.ts.map +1 -1
  58. package/dist/cli/prompts.js +52 -16
  59. package/dist/cli/prompts.js.map +1 -1
  60. package/dist/core/config.d.ts +13 -4
  61. package/dist/core/config.d.ts.map +1 -1
  62. package/dist/core/config.js +17 -9
  63. package/dist/core/config.js.map +1 -1
  64. package/dist/core/git-service.d.ts +40 -0
  65. package/dist/core/git-service.d.ts.map +1 -0
  66. package/dist/core/git-service.js +52 -0
  67. package/dist/core/git-service.js.map +1 -0
  68. package/dist/core/index.d.ts +3 -3
  69. package/dist/core/index.js +3 -3
  70. package/dist/core/lisa.d.ts +124 -7
  71. package/dist/core/lisa.d.ts.map +1 -1
  72. package/dist/core/lisa.js +423 -221
  73. package/dist/core/lisa.js.map +1 -1
  74. package/dist/core/manifest.d.ts +5 -1
  75. package/dist/core/manifest.d.ts.map +1 -1
  76. package/dist/core/manifest.js +22 -16
  77. package/dist/core/manifest.js.map +1 -1
  78. package/dist/detection/detector.interface.d.ts +1 -1
  79. package/dist/detection/detectors/cdk.d.ts +6 -1
  80. package/dist/detection/detectors/cdk.d.ts.map +1 -1
  81. package/dist/detection/detectors/cdk.js +16 -8
  82. package/dist/detection/detectors/cdk.js.map +1 -1
  83. package/dist/detection/detectors/expo.d.ts +6 -1
  84. package/dist/detection/detectors/expo.d.ts.map +1 -1
  85. package/dist/detection/detectors/expo.js +13 -8
  86. package/dist/detection/detectors/expo.js.map +1 -1
  87. package/dist/detection/detectors/nestjs.d.ts +7 -2
  88. package/dist/detection/detectors/nestjs.d.ts.map +1 -1
  89. package/dist/detection/detectors/nestjs.js +17 -9
  90. package/dist/detection/detectors/nestjs.js.map +1 -1
  91. package/dist/detection/detectors/npm-package.d.ts +6 -1
  92. package/dist/detection/detectors/npm-package.d.ts.map +1 -1
  93. package/dist/detection/detectors/npm-package.js +9 -4
  94. package/dist/detection/detectors/npm-package.js.map +1 -1
  95. package/dist/detection/detectors/typescript.d.ts +6 -1
  96. package/dist/detection/detectors/typescript.d.ts.map +1 -1
  97. package/dist/detection/detectors/typescript.js +12 -7
  98. package/dist/detection/detectors/typescript.js.map +1 -1
  99. package/dist/detection/index.d.ts +13 -3
  100. package/dist/detection/index.d.ts.map +1 -1
  101. package/dist/detection/index.js +17 -7
  102. package/dist/detection/index.js.map +1 -1
  103. package/dist/errors/index.d.ts +66 -2
  104. package/dist/errors/index.d.ts.map +1 -1
  105. package/dist/errors/index.js +89 -17
  106. package/dist/errors/index.js.map +1 -1
  107. package/dist/index.js +3 -3
  108. package/dist/index.js.map +1 -1
  109. package/dist/logging/console-logger.d.ts +21 -1
  110. package/dist/logging/console-logger.d.ts.map +1 -1
  111. package/dist/logging/console-logger.js +26 -6
  112. package/dist/logging/console-logger.js.map +1 -1
  113. package/dist/logging/index.d.ts +3 -3
  114. package/dist/logging/index.js +2 -2
  115. package/dist/logging/logger.interface.d.ts +1 -1
  116. package/dist/logging/silent-logger.d.ts +21 -1
  117. package/dist/logging/silent-logger.d.ts.map +1 -1
  118. package/dist/logging/silent-logger.js +20 -0
  119. package/dist/logging/silent-logger.js.map +1 -1
  120. package/dist/strategies/copy-contents.d.ts +47 -6
  121. package/dist/strategies/copy-contents.d.ts.map +1 -1
  122. package/dist/strategies/copy-contents.js +99 -49
  123. package/dist/strategies/copy-contents.js.map +1 -1
  124. package/dist/strategies/copy-overwrite.d.ts +10 -2
  125. package/dist/strategies/copy-overwrite.d.ts.map +1 -1
  126. package/dist/strategies/copy-overwrite.js +17 -9
  127. package/dist/strategies/copy-overwrite.js.map +1 -1
  128. package/dist/strategies/create-only.d.ts +10 -2
  129. package/dist/strategies/create-only.d.ts.map +1 -1
  130. package/dist/strategies/create-only.js +14 -6
  131. package/dist/strategies/create-only.js.map +1 -1
  132. package/dist/strategies/index.d.ts +17 -7
  133. package/dist/strategies/index.d.ts.map +1 -1
  134. package/dist/strategies/index.js +19 -9
  135. package/dist/strategies/index.js.map +1 -1
  136. package/dist/strategies/merge.d.ts +10 -2
  137. package/dist/strategies/merge.d.ts.map +1 -1
  138. package/dist/strategies/merge.js +21 -21
  139. package/dist/strategies/merge.js.map +1 -1
  140. package/dist/strategies/strategy.interface.d.ts +1 -1
  141. package/dist/strategies/strategy.interface.d.ts.map +1 -1
  142. package/dist/transaction/backup.d.ts +15 -1
  143. package/dist/transaction/backup.d.ts.map +1 -1
  144. package/dist/transaction/backup.js +47 -12
  145. package/dist/transaction/backup.js.map +1 -1
  146. package/dist/transaction/index.d.ts +3 -3
  147. package/dist/transaction/index.js +2 -2
  148. package/dist/transaction/transaction.d.ts +25 -2
  149. package/dist/transaction/transaction.d.ts.map +1 -1
  150. package/dist/transaction/transaction.js +25 -2
  151. package/dist/transaction/transaction.js.map +1 -1
  152. package/dist/utils/file-operations.d.ts +21 -0
  153. package/dist/utils/file-operations.d.ts.map +1 -1
  154. package/dist/utils/file-operations.js +48 -12
  155. package/dist/utils/file-operations.js.map +1 -1
  156. package/dist/utils/index.d.ts +3 -3
  157. package/dist/utils/index.js +3 -3
  158. package/dist/utils/json-utils.d.ts +12 -0
  159. package/dist/utils/json-utils.d.ts.map +1 -1
  160. package/dist/utils/json-utils.js +17 -5
  161. package/dist/utils/json-utils.js.map +1 -1
  162. package/dist/utils/path-utils.d.ts +11 -0
  163. package/dist/utils/path-utils.d.ts.map +1 -1
  164. package/dist/utils/path-utils.js +12 -1
  165. package/dist/utils/path-utils.js.map +1 -1
  166. package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +5 -0
  167. package/eslint-plugin-code-organization/index.js +5 -0
  168. package/eslint-plugin-code-organization/rules/enforce-statement-order.js +5 -0
  169. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +2 -0
  170. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +2 -0
  171. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +2 -0
  172. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +2 -0
  173. package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +2 -0
  174. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +2 -0
  175. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +2 -41
  176. package/{typescript → expo}/copy-overwrite/.github/workflows/build.yml +3 -0
  177. package/expo/copy-overwrite/.github/workflows/ci.yml +36 -0
  178. package/{typescript → expo}/copy-overwrite/.github/workflows/deploy.yml +22 -26
  179. package/{typescript → expo}/copy-overwrite/.github/workflows/lighthouse.yml +4 -1
  180. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +5 -0
  181. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +5 -0
  182. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +5 -0
  183. package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +5 -0
  184. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +5 -0
  185. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +6 -1
  186. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +5 -0
  187. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +5 -0
  188. package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +0 -68
  189. package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +5 -3
  190. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +5 -0
  191. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +5 -0
  192. package/expo/copy-overwrite/eslint.config.ts +53 -0
  193. package/expo/copy-overwrite/eslint.expo.ts +330 -0
  194. package/expo/copy-overwrite/eslint.slow.config.ts +86 -0
  195. package/expo/copy-overwrite/knip.json +132 -0
  196. package/expo/copy-overwrite/lighthouserc.js +27 -0
  197. package/expo/copy-overwrite/tsconfig.eslint.json +25 -0
  198. package/expo/create-only/lighthouserc-config.json +6 -1
  199. package/expo/merge/package.json +16 -3
  200. package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +1 -1
  201. package/{typescript → nestjs}/copy-overwrite/.github/k6/README.md +2 -2
  202. package/{typescript → nestjs}/copy-overwrite/.github/k6/examples/customer-deploy-integration.yml +3 -0
  203. package/{typescript → nestjs}/copy-overwrite/.github/k6/examples/data-driven-test.js +5 -0
  204. package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/load.js +6 -2
  205. package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/smoke.js +5 -0
  206. package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/soak.js +5 -0
  207. package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/spike.js +5 -0
  208. package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/stress.js +5 -0
  209. package/{typescript → nestjs}/copy-overwrite/.github/k6/scripts/api-test.js +5 -0
  210. package/{typescript → nestjs}/copy-overwrite/.github/k6/scripts/default-test.js +5 -0
  211. package/nestjs/copy-overwrite/.github/workflows/ci.yml +29 -0
  212. package/nestjs/copy-overwrite/.github/workflows/deploy.yml +291 -0
  213. package/{typescript → nestjs}/copy-overwrite/.github/workflows/load-test.yml +3 -0
  214. package/nestjs/copy-overwrite/eslint.config.ts +53 -0
  215. package/nestjs/copy-overwrite/eslint.nestjs.ts +178 -0
  216. package/nestjs/merge/package.json +11 -3
  217. package/package.json +34 -40
  218. package/typescript/copy-contents/.husky/pre-commit +1 -1
  219. package/typescript/copy-contents/.husky/pre-push +99 -118
  220. package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +2 -0
  221. package/typescript/copy-overwrite/.claude/hooks/install_pkgs.sh +3 -11
  222. package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +2 -0
  223. package/typescript/copy-overwrite/.claude/hooks/sg-scan-on-edit.sh +68 -0
  224. package/typescript/copy-overwrite/.claude/settings.json +79 -0
  225. package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +44 -0
  226. package/typescript/copy-overwrite/.github/README.md +49 -1
  227. package/typescript/copy-overwrite/.github/dependabot.yml +3 -0
  228. package/typescript/copy-overwrite/.github/workflows/ci.yml +7 -29
  229. package/typescript/copy-overwrite/.github/workflows/claude.yml +3 -0
  230. package/typescript/copy-overwrite/.github/workflows/create-github-issue-on-failure.yml +6 -4
  231. package/typescript/copy-overwrite/.github/workflows/create-issue-on-failure.yml +176 -0
  232. package/typescript/copy-overwrite/.github/workflows/create-jira-issue-on-failure.yml +3 -1
  233. package/typescript/copy-overwrite/.github/workflows/create-sentry-issue-on-failure.yml +3 -1
  234. package/typescript/copy-overwrite/.github/workflows/lint-slow.yml +40 -0
  235. package/typescript/copy-overwrite/.github/workflows/quality.yml +151 -38
  236. package/typescript/copy-overwrite/.github/workflows/release.yml +3 -0
  237. package/typescript/copy-overwrite/.gitleaksignore +3 -0
  238. package/typescript/copy-overwrite/.lintstagedrc.json +6 -0
  239. package/typescript/copy-overwrite/.prettierignore +2 -1
  240. package/typescript/copy-overwrite/.yamllint +2 -0
  241. package/typescript/copy-overwrite/ast-grep/rule-tests/.gitkeep +3 -0
  242. package/typescript/copy-overwrite/ast-grep/rules/.gitkeep +3 -0
  243. package/typescript/copy-overwrite/ast-grep/utils/.gitkeep +3 -0
  244. package/typescript/copy-overwrite/{commitlint.config.js → commitlint.config.cjs} +5 -0
  245. package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +5 -0
  246. package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +5 -0
  247. package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +5 -0
  248. package/typescript/copy-overwrite/eslint.base.ts +430 -0
  249. package/typescript/copy-overwrite/eslint.config.ts +52 -0
  250. package/typescript/copy-overwrite/eslint.ignore.config.json +19 -2
  251. package/typescript/copy-overwrite/eslint.slow.config.ts +69 -0
  252. package/typescript/copy-overwrite/eslint.typescript.ts +142 -0
  253. package/typescript/copy-overwrite/knip.json +64 -0
  254. package/typescript/copy-overwrite/sgconfig.yml +11 -0
  255. package/typescript/copy-overwrite/tsconfig.eslint.json +9 -0
  256. package/typescript/create-only/eslint.config.local.ts +24 -0
  257. package/typescript/{copy-overwrite/eslint.thresholds.config.json → create-only/eslint.thresholds.json} +1 -1
  258. package/typescript/github-rulesets/base.json +2 -75
  259. package/typescript/merge/.claude/settings.json +160 -0
  260. package/typescript/merge/package.json +35 -34
  261. package/all/copy-overwrite/.claude/commands/rules/format-md.md +0 -72
  262. package/all/copy-overwrite/.claude/skills/coding-philosophy/references/function-structure.md +0 -416
  263. package/all/copy-overwrite/.claude/skills/coding-philosophy/references/immutable-patterns.md +0 -316
  264. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-inline-styles.js +0 -73
  265. package/expo/copy-overwrite/eslint.config.mjs +0 -560
  266. package/lisa.sh +0 -35
  267. package/typescript/copy-overwrite/eslint.config.mjs +0 -390
  268. /package/{all/create-only/PROJECT_RULES.md → cdk/copy-overwrite/.github/workflows/.keep} +0 -0
  269. /package/{typescript → nestjs}/copy-overwrite/.github/k6/BROWSER_TESTING_NOTE.md +0 -0
  270. /package/{typescript → nestjs}/copy-overwrite/.github/k6/INTEGRATION_GUIDE.md +0 -0
  271. /package/{typescript → nestjs}/copy-overwrite/.github/k6/SCENARIO_SELECTION_GUIDE.md +0 -0
  272. /package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/load.json +0 -0
  273. /package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/smoke.json +0 -0
  274. /package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/soak.json +0 -0
  275. /package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/spike.json +0 -0
  276. /package/{typescript → nestjs}/copy-overwrite/.github/k6/scenarios/stress.json +0 -0
  277. /package/{typescript → nestjs}/copy-overwrite/.github/k6/thresholds/normal.json +0 -0
  278. /package/{typescript → nestjs}/copy-overwrite/.github/k6/thresholds/relaxed.json +0 -0
  279. /package/{typescript → nestjs}/copy-overwrite/.github/k6/thresholds/strict.json +0 -0
  280. /package/{typescript → nestjs}/copy-overwrite/.github/workflows/k6-load-test-README.md +0 -0
@@ -1,17 +1,517 @@
1
- IMPORTANT: The automated workflow eliminates the need for `/clear` between phases
2
-
3
- 1. Create a file inside specs/ called `<something>.md` and describe what you want claude to do in as much detail as possible. See any `brief.md` for an example.
4
- 2. run `/project:bootstrap @specs/<something>.md` inside the claude session
5
- 1. This will create a new project directory in `projects/`
6
- 2. This will conduct comprehensive codebase and web research
7
- 3. This will detect knowledge gaps in the research
8
- 4. **If gaps are found**: Review `projects/<project-name>/research.md` and resolve any "Open Questions" before proceeding to step 3
9
- 5. **If no gaps found**: Proceed directly to step 3
10
- 3. run `/project:execute @projects/<project-name>` inside the claude session
11
- 1. This will validate research completeness (abort if gaps exist)
12
- 2. This will create tasks for the project based on the research and brief
13
- 3. This will implement all tasks following TDD practices
14
- 4. This will verify that all the tasks were actually completed
15
- 5. This will take any patterns, findings or rules that weren't already captured and add them to `PROJECT_RULES.md`
16
-
17
- If you prefer the manual workflow with individual commands, see `HUMAN_MANUAL.md` for the step-by-step process.
1
+ # Lisa Command Reference
2
+
3
+ This document describes all available slash commands and the recommended workflow for using Lisa.
4
+
5
+ ## Quick Start Workflow
6
+
7
+ The automated workflow eliminates the need for `/clear` between phases.
8
+
9
+ ### Step 1: Create a Spec
10
+
11
+ Create a file inside `specs/` called `<something>.md` and describe what you want Claude to do in as much detail as possible. See any `brief.md` for an example.
12
+
13
+ ### Step 2: Bootstrap the Project
14
+
15
+ ```bash
16
+ /project:bootstrap @specs/<something>.md
17
+ ```
18
+
19
+ **What happens:**
20
+
21
+ 1. **Setup** (via `/project:setup`): Creates a dated project directory in `projects/`, moves/creates brief.md, creates empty findings.md, creates a git branch
22
+ 2. **Research** (via `/project:research`): Conducts comprehensive codebase and web research, generates research.md with findings
23
+ 3. **Gap Detection**: Reads research.md and checks the "Open Questions" section
24
+ - **If gaps found**: Stops and reports "Research complete but has open questions. Review research.md and resolve questions before running /project:execute"
25
+ - **If no gaps**: Reports "Bootstrap complete. Research has no gaps. Ready to run /project:execute"
26
+
27
+ ### Step 3: Execute the Project
28
+
29
+ ```bash
30
+ /project:execute @projects/<project-name>
31
+ ```
32
+
33
+ **What happens:**
34
+
35
+ 1. **Setup**: Sets active project marker, validates research.md has no unresolved open questions, checks if planning already complete
36
+ 2. **Planning** (via `/project:plan`): Creates detailed task list from research.md and brief.md using Claude's native task tools
37
+ 3. **Implementation** (via `/project:implement`): Systematically implements all tasks using subagents
38
+ 4. **Review** (via `/project:review`): Performs Claude code review and CodeRabbit review, implements fixes
39
+ 5. **Verification** (via `/project:verify`): Verifies implementation matches all requirements, documents drift
40
+ 6. **Debrief** (via `/project:debrief`): Evaluates findings.md and creates skills or adds rules to .claude/rules/PROJECT_RULES.md
41
+ 7. **Archive** (via `/project:archive`): Moves project to projects/archive and submits PR
42
+
43
+ ### Step 4: Address PR Feedback
44
+
45
+ After `/project:execute` completes and submits a PR, wait for CI/CD and code review to finish. Then:
46
+
47
+ ```bash
48
+ /pull-request:review <github-pr-link>
49
+ ```
50
+
51
+ **What happens:**
52
+
53
+ 1. Fetches all review comments on the PR
54
+ 2. Creates a task for each unresolved comment
55
+ 3. Launches parallel subagents to evaluate and implement fixes
56
+ 4. Commits changes and updates the PR
57
+
58
+ ---
59
+
60
+ ## Command Reference
61
+
62
+ Commands are organized by category. Sub-commands (commands that are called by other commands) are marked with their parent command(s).
63
+
64
+ ### Project Commands
65
+
66
+ | Command | Description | Arguments | Called By |
67
+ |---------|-------------|-----------|-----------|
68
+ | `/project:bootstrap` | Automated project setup and research with gap detection | `<brief-file-or-jira-issue>` (required) | - |
69
+ | `/project:execute` | Automated project execution from planning through debrief | `<project-directory>` (required) | - |
70
+ | `/project:setup` | Initialize project directory, brief.md, findings.md, and git branch | `<brief-file-or-jira-issue>` (required) | `/project:bootstrap` |
71
+ | `/project:research` | Conduct codebase and web research, compile to research.md | `<project-directory>` (required) | `/project:bootstrap` |
72
+ | `/project:plan` | Create detailed task list from research.md and brief.md | `<project-directory>` (required) | `/project:execute` |
73
+ | `/project:implement` | Systematically implement all tasks in a project | `<project-directory>` (required) | `/project:execute` |
74
+ | `/project:review` | Perform extensive code review and optimization | `<project-directory>` (required) | `/project:execute` |
75
+ | `/project:verify` | Verify implementation matches all project requirements | `<project-directory>` (required) | `/project:execute` |
76
+ | `/project:debrief` | Evaluate findings and create skills or rules from learnings | `<project-directory>` (required) | `/project:execute` |
77
+ | `/project:archive` | Move completed project to projects/archive | `<project-directory>` (required) | `/project:execute` |
78
+ | `/project:complete-task` | Complete a single task using a subagent with fresh context | `<task-file>` (required) | `/project:implement` |
79
+ | `/project:local-code-review` | Code review local changes on current branch | `<project-directory>` (required) | `/project:review` |
80
+ | `/project:fix-linter-error` | Fix all violations of a specific ESLint rule | `<eslint-rule-name>` (required) | - |
81
+ | `/project:lower-code-complexity` | Reduce code complexity threshold by 2 and fix violations | none | - |
82
+ | `/project:add-test-coverage` | Increase test coverage to a specified threshold | `<threshold-percentage>` (required) | - |
83
+ | `/project:reduce-max-lines` | Reduce max file lines threshold and fix violations | `<max-lines-value>` (required) | - |
84
+ | `/project:reduce-max-lines-per-function` | Reduce max lines per function threshold and fix violations | `<max-lines-per-function-value>` (required) | - |
85
+
86
+ ### Git Commands
87
+
88
+ | Command | Description | Arguments | Called By |
89
+ |---------|-------------|-----------|-----------|
90
+ | `/git:commit` | Create conventional commits for current changes | `[commit-message-hint]` (optional) | `/project:setup`, `/project:research`, `/sonarqube:fix`, `/pull-request:review`, `/git:commit-and-submit-pr` |
91
+ | `/git:submit-pr` | Push changes and create or update a pull request | `[pr-title-or-description-hint]` (optional) | `/git:commit-and-submit-pr` |
92
+ | `/git:commit-and-submit-pr` | Create commits and submit PR for code review | `[commit-message-hint]` (optional) | `/project:archive`, `/pull-request:review` |
93
+ | `/git:prune` | Remove local branches deleted on remote | none | - |
94
+
95
+ ### Pull Request Commands
96
+
97
+ | Command | Description | Arguments | Called By |
98
+ |---------|-------------|-----------|-----------|
99
+ | `/pull-request:review` | Fetch PR review comments and implement fixes | `<github-pr-link>` (required) | - |
100
+
101
+ ### Task Commands
102
+
103
+ | Command | Description | Arguments | Called By |
104
+ |---------|-------------|-----------|-----------|
105
+ | `/tasks:load` | Load tasks from a project directory into current session | `<project-name>` (required) | - |
106
+ | `/tasks:sync` | Sync current session tasks to a project directory | `<project-name>` (required) | - |
107
+
108
+ ### JIRA Commands
109
+
110
+ | Command | Description | Arguments | Called By |
111
+ |---------|-------------|-----------|-----------|
112
+ | `/jira:create` | Create JIRA epics/stories/tasks from code files | `<file-or-directory-path> [project-key]` (path required, key optional) | - |
113
+ | `/jira:verify` | Verify JIRA ticket meets standards for epic relationships | `<TICKET-ID>` (required) | - |
114
+
115
+ ### SonarQube Commands
116
+
117
+ | Command | Description | Arguments | Called By |
118
+ |---------|-------------|-----------|-----------|
119
+ | `/sonarqube:check` | Get reason last PR failed SonarQube checks | none | `/sonarqube:fix` |
120
+ | `/sonarqube:fix` | Check SonarQube failures, fix them, and commit | none | - |
121
+
122
+ ### Lisa Commands
123
+
124
+ | Command | Description | Arguments | Called By |
125
+ |---------|-------------|-----------|-----------|
126
+ | `/lisa:review-project` | Compare Lisa templates against a project's implementation | `<project-path>` (required) | - |
127
+ | `/lisa:review-implementation` | Compare project files against Lisa templates, offer to upstream | `[lisa-dir]` (optional) | - |
128
+
129
+ ---
130
+
131
+ ## Command Details
132
+
133
+ ### `/project:bootstrap`
134
+
135
+ **Arguments:** `<project-brief-file-or-jira-issue-number>` (required)
136
+
137
+ Orchestrates project initialization in 3 steps:
138
+
139
+ 1. **Setup**: Uses Task tool to run `/project:setup` - creates project directory, brief.md, findings.md, git branch
140
+ 2. **Research**: Uses Task tool to run `/project:research` - generates research.md with codebase and web findings
141
+ 3. **Gap Detection**: Reads research.md and checks "Open Questions" section for unresolved questions
142
+
143
+ **Calls:** `/project:setup` → `/project:research`
144
+
145
+ **Output:**
146
+ - "✅ Bootstrap complete with no gaps - ready for execution" OR
147
+ - "⚠️ Bootstrap complete but needs human review - see Open Questions in research.md"
148
+
149
+ ---
150
+
151
+ ### `/project:execute`
152
+
153
+ **Arguments:** `<project-directory>` (required)
154
+
155
+ Orchestrates the full implementation workflow. Runs continuously without stopping between steps.
156
+
157
+ **Setup phase:**
158
+ 1. Sets active project marker (`.claude-active-project`)
159
+ 2. Validates research.md has no unresolved open questions (stops if gaps exist)
160
+ 3. Checks if planning already complete (skips to implementation if task files exist)
161
+
162
+ **Execution phase:**
163
+ 1. Planning → 2. Implementation → 3. Review → 4. Verification → 5. Debrief → 6. Archive
164
+
165
+ **Calls:** `/project:plan` → `/project:implement` → `/project:review` → `/project:verify` → `/project:debrief` → `/project:archive`
166
+
167
+ **Output:** "Project complete and archived"
168
+
169
+ ---
170
+
171
+ ### `/project:setup`
172
+
173
+ **Arguments:** `<project-brief-file-or-jira-issue-number>` (required)
174
+
175
+ Creates a dated project directory (`YYYY-MM-DD-<project-name>`), moves or creates brief.md, creates empty findings.md, and sets up a git branch. If argument is a Jira issue number, fetches the issue details via Atlassian MCP.
176
+
177
+ **Called by:** `/project:bootstrap`
178
+ **Calls:** `/git:commit`
179
+
180
+ ---
181
+
182
+ ### `/project:research`
183
+
184
+ **Arguments:** `<project-directory>` (required)
185
+
186
+ Conducts comprehensive codebase and web research. Spawns parallel sub-agents:
187
+ - **codebase-locator**: Find where files and components live
188
+ - **codebase-analyzer**: Understand how specific code works
189
+ - **codebase-pattern-finder**: Find examples of existing patterns
190
+ - **git-history-analyzer**: Understand file change history
191
+ - **web-search-researcher**: External documentation and resources
192
+
193
+ Compiles results into research.md with: Summary, Detailed Findings, Code References, Architecture Documentation, Testing Patterns, Documentation Patterns, and Open Questions.
194
+
195
+ **Called by:** `/project:bootstrap`
196
+ **Calls:** `/git:commit`
197
+
198
+ ---
199
+
200
+ ### `/project:plan`
201
+
202
+ **Arguments:** `<project-directory>` (required)
203
+
204
+ Creates a detailed task list using Claude Code's native task tools. Reads brief.md and research.md, validates research has no unanswered questions, discovers applicable skills, and creates tasks with:
205
+ - Subject and activeForm
206
+ - Type (Bug/Task/Epic/Story)
207
+ - Description with acceptance criteria
208
+ - Relevant research excerpts
209
+ - Skills to invoke
210
+ - Implementation details
211
+ - Testing requirements (unit, integration, E2E)
212
+ - Verification command and expected output
213
+
214
+ **Called by:** `/project:execute`
215
+
216
+ ---
217
+
218
+ ### `/project:implement`
219
+
220
+ **Arguments:** `<project-directory>` (required)
221
+
222
+ Systematically implements all tasks. For each pending, unblocked task:
223
+ 1. Marks it in_progress
224
+ 2. Retrieves full task details
225
+ 3. Launches a subagent with the task description
226
+ 4. Subagent runs verification command and confirms expected output
227
+ 5. Marks task completed (or keeps in_progress if verification fails)
228
+ 6. Checks for newly unblocked tasks
229
+
230
+ **Called by:** `/project:execute`
231
+
232
+ ---
233
+
234
+ ### `/project:review`
235
+
236
+ **Arguments:** `<project-directory>` (required)
237
+
238
+ Performs extensive code review in 5 steps:
239
+ 1. **Claude Review**: Runs `/project:local-code-review` (if not already done)
240
+ 2. **Implement Claude Fixes**: Fixes suggestions scoring above 45
241
+ 3. **CodeRabbit Review**: Runs `coderabbit review --plain` (if not already done)
242
+ 4. **Implement CodeRabbit Fixes**: Evaluates and implements valid findings
243
+ 5. **Claude Optimizations**: Uses code-simplifier agent to clean up code
244
+
245
+ **Called by:** `/project:execute`
246
+ **Calls:** `/project:local-code-review`
247
+
248
+ ---
249
+
250
+ ### `/project:local-code-review`
251
+
252
+ **Arguments:** `<project-directory>` (required)
253
+
254
+ Performs code review on local branch changes using 5 parallel agents:
255
+ 1. CLAUDE.md compliance check
256
+ 2. Shallow scan for obvious bugs
257
+ 3. Git blame and history context
258
+ 4. Previous PR comments that may apply
259
+ 5. Code comments compliance
260
+
261
+ Scores issues 0-100 and filters to findings with score ≥ 80. Writes results to `<project>/claude-review.md`.
262
+
263
+ **Called by:** `/project:review`
264
+
265
+ ---
266
+
267
+ ### `/project:verify`
268
+
269
+ **Arguments:** `<project-directory>` (required)
270
+
271
+ Verifies the implementation completely satisfies all requirements from brief.md and research.md. Documents any divergence to `<project>/drift.md`.
272
+
273
+ **Called by:** `/project:execute`
274
+
275
+ ---
276
+
277
+ ### `/project:debrief`
278
+
279
+ **Arguments:** `<project-directory>` (required)
280
+
281
+ Evaluates findings.md and uses skill-evaluator agent to decide where each learning belongs:
282
+ - **CREATE SKILL**: Complex, reusable pattern
283
+ - **ADD TO RULES**: Simple never/always rule for .claude/rules/PROJECT_RULES.md
284
+ - **OMIT ENTIRELY**: Already covered or too project-specific
285
+
286
+ **Called by:** `/project:execute`
287
+
288
+ ---
289
+
290
+ ### `/project:archive`
291
+
292
+ **Arguments:** `<project-directory>` (required)
293
+
294
+ Moves the completed project to `projects/archive` and submits a PR.
295
+
296
+ **Called by:** `/project:execute`
297
+ **Calls:** `/git:commit-and-submit-pr`
298
+
299
+ ---
300
+
301
+ ### `/project:complete-task`
302
+
303
+ **Arguments:** `<task-file>` (required)
304
+
305
+ Completes a single task within a project using a subagent with fresh context. Must execute verification commands before marking complete. If verification requires Docker/external services and they're unavailable, marks task as blocked.
306
+
307
+ **Called by:** `/project:implement`
308
+
309
+ ---
310
+
311
+ ### `/project:fix-linter-error`
312
+
313
+ **Arguments:** `<eslint-rule-name>` (required)
314
+
315
+ Enables a specific ESLint rule, identifies all violations, creates a task for each file (ordered by violation count), and launches up to 5 parallel subagents to fix them.
316
+
317
+ ---
318
+
319
+ ### `/project:lower-code-complexity`
320
+
321
+ **Arguments:** none
322
+
323
+ Lowers the cognitive complexity threshold by 2, identifies all functions exceeding the new limit, creates tasks ordered by complexity score, and launches up to 5 code-simplifier agents to refactor in parallel.
324
+
325
+ ---
326
+
327
+ ### `/project:add-test-coverage`
328
+
329
+ **Arguments:** `<threshold-percentage>` (required)
330
+
331
+ Updates coverage config thresholds, identifies the 20 files with lowest coverage, creates tasks for each, and launches up to 5 test-coverage-agents to add tests in parallel. Iterates until all thresholds meet or exceed the target.
332
+
333
+ ---
334
+
335
+ ### `/project:reduce-max-lines`
336
+
337
+ **Arguments:** `<max-lines-value>` (required)
338
+
339
+ Reduces the max file lines threshold, identifies all files exceeding the new limit, creates tasks ordered by line count, and launches up to 5 code-simplifier agents to refactor in parallel. Iterates until all files meet or are under the target.
340
+
341
+ ---
342
+
343
+ ### `/project:reduce-max-lines-per-function`
344
+
345
+ **Arguments:** `<max-lines-per-function-value>` (required)
346
+
347
+ Reduces the max lines per function threshold, identifies all functions exceeding the new limit, creates tasks ordered by line count, and launches up to 5 code-simplifier agents to refactor in parallel. Iterates until all functions meet or are under the target.
348
+
349
+ ---
350
+
351
+ ### `/git:commit`
352
+
353
+ **Arguments:** `[commit-message-hint]` (optional)
354
+
355
+ Creates conventional commits for all current changes:
356
+ 1. If on protected branch (dev/staging/main), creates a feature branch
357
+ 2. Groups related changes into logical commits
358
+ 3. Uses conventional prefixes (feat, fix, chore, docs, style, refactor, test)
359
+ 4. Ensures working directory is clean
360
+
361
+ **Called by:** `/project:setup`, `/project:research`, `/sonarqube:fix`, `/pull-request:review`, `/git:commit-and-submit-pr`
362
+
363
+ ---
364
+
365
+ ### `/git:submit-pr`
366
+
367
+ **Arguments:** `[pr-title-or-description-hint]` (optional)
368
+
369
+ Pushes current branch and creates or updates a pull request:
370
+ 1. Verifies not on protected branch
371
+ 2. Ensures all changes committed
372
+ 3. Pushes with `-u` flag
373
+ 4. Creates PR (or updates existing) with Summary and Test Plan
374
+ 5. Enables auto-merge
375
+
376
+ **Called by:** `/git:commit-and-submit-pr`
377
+
378
+ ---
379
+
380
+ ### `/git:commit-and-submit-pr`
381
+
382
+ **Arguments:** `[commit-message-hint]` (optional)
383
+
384
+ Commits all changes and submits the branch as a PR.
385
+
386
+ **Called by:** `/project:archive`, `/pull-request:review`
387
+ **Calls:** `/git:commit` → `/git:submit-pr`
388
+
389
+ ---
390
+
391
+ ### `/git:prune`
392
+
393
+ **Arguments:** none
394
+
395
+ Removes local branches whose upstream tracking branches have been deleted on remote. Fetches with `--prune`, shows preview before deleting, uses safe delete (`-d`).
396
+
397
+ ---
398
+
399
+ ### `/pull-request:review`
400
+
401
+ **Arguments:** `<github-pr-link>` (required)
402
+
403
+ Fetches all review comments on a PR via GitHub CLI, creates a task for each unresolved comment with instructions to:
404
+ 1. Evaluate if the requested change is valid
405
+ 2. If not valid, reply explaining why
406
+ 3. If valid, make code updates following project standards
407
+ 4. Run relevant tests
408
+ 5. Commit changes
409
+
410
+ Launches up to 6 parallel subagents. When complete, runs `/git:commit-and-submit-pr`.
411
+
412
+ **Calls:** `/git:commit`, `/git:commit-and-submit-pr`
413
+
414
+ ---
415
+
416
+ ### `/tasks:load`
417
+
418
+ **Arguments:** `<project-name>` (required)
419
+
420
+ Loads tasks from `projects/<project-name>/tasks/` into the current Claude Code session. Sets active project marker so new tasks auto-sync.
421
+
422
+ ---
423
+
424
+ ### `/tasks:sync`
425
+
426
+ **Arguments:** `<project-name>` (required)
427
+
428
+ Syncs all tasks from the current session to `projects/<project-name>/tasks/` as JSON files. Stages files for git.
429
+
430
+ ---
431
+
432
+ ### `/jira:create`
433
+
434
+ **Arguments:** `<file-or-directory-path>` (required), `[project-key]` (optional, defaults to SE)
435
+
436
+ Analyzes code files and creates a comprehensive JIRA hierarchy (Epic → User Story → Tasks) with mandatory quality gates: test-first, quality gates, documentation, feature flags, cleanup.
437
+
438
+ ---
439
+
440
+ ### `/jira:verify`
441
+
442
+ **Arguments:** `<TICKET-ID>` (required)
443
+
444
+ Verifies a JIRA ticket:
445
+ 1. Has an epic parent (if not a bug or epic itself)
446
+ 2. Has quality description addressing coding assistants, developers, and stakeholders
447
+
448
+ ---
449
+
450
+ ### `/sonarqube:check`
451
+
452
+ **Arguments:** none
453
+
454
+ Uses SonarQube MCP to get the reason the last PR failed quality checks.
455
+
456
+ **Called by:** `/sonarqube:fix`
457
+
458
+ ---
459
+
460
+ ### `/sonarqube:fix`
461
+
462
+ **Arguments:** none
463
+
464
+ Checks SonarQube failures, fixes them, and commits the changes.
465
+
466
+ **Calls:** `/sonarqube:check` → fix → `/git:commit`
467
+
468
+ ---
469
+
470
+ ### `/lisa:review-project`
471
+
472
+ **Arguments:** `<project-path>` (required)
473
+
474
+ Run FROM the Lisa repository. Compares Lisa's templates against a target project's implementation to identify drift. Categorizes changes as Improvement, Customization, Bug fix, or Divergence. Offers to adopt improvements back into Lisa.
475
+
476
+ ---
477
+
478
+ ### `/lisa:review-implementation`
479
+
480
+ **Arguments:** `[lisa-dir]` (optional - auto-detects if Claude started with `--add-dir`)
481
+
482
+ Run FROM a project with Lisa applied. Compares the project's Lisa-managed files against Lisa source templates and offers to upstream changes back to Lisa.
483
+
484
+ ---
485
+
486
+ ## Command Call Graph
487
+
488
+ ```text
489
+ /project:bootstrap
490
+ ├── /project:setup
491
+ │ └── /git:commit
492
+ └── /project:research
493
+ └── /git:commit
494
+
495
+ /project:execute
496
+ ├── /project:plan
497
+ ├── /project:implement
498
+ │ └── /project:complete-task
499
+ ├── /project:review
500
+ │ └── /project:local-code-review
501
+ ├── /project:verify
502
+ ├── /project:debrief
503
+ └── /project:archive
504
+ └── /git:commit-and-submit-pr
505
+ ├── /git:commit
506
+ └── /git:submit-pr
507
+
508
+ /sonarqube:fix
509
+ ├── /sonarqube:check
510
+ └── /git:commit
511
+
512
+ /pull-request:review
513
+ ├── /git:commit
514
+ └── /git:commit-and-submit-pr
515
+ ├── /git:commit
516
+ └── /git:submit-pr
517
+ ```
@@ -0,0 +1,9 @@
1
+ # Project Rules
2
+
3
+ Project-specific rules and guidelines that apply to this codebase.
4
+
5
+ Rules in `.claude/rules/` are automatically loaded by Claude Code at session start.
6
+ Add project-specific patterns, conventions, and requirements below.
7
+
8
+ ---
9
+