@bhimudev/gnanai 0.4.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.
Files changed (274) hide show
  1. package/README.md +270 -0
  2. package/dist/bin/cli.d.ts +3 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +188 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/commands/cleanup.d.ts +21 -0
  7. package/dist/commands/cleanup.d.ts.map +1 -0
  8. package/dist/commands/cleanup.js +380 -0
  9. package/dist/commands/cleanup.js.map +1 -0
  10. package/dist/commands/dispatch.d.ts +13 -0
  11. package/dist/commands/dispatch.d.ts.map +1 -0
  12. package/dist/commands/dispatch.js +85 -0
  13. package/dist/commands/dispatch.js.map +1 -0
  14. package/dist/commands/doctor.d.ts +2 -0
  15. package/dist/commands/doctor.d.ts.map +1 -0
  16. package/dist/commands/doctor.js +155 -0
  17. package/dist/commands/doctor.js.map +1 -0
  18. package/dist/commands/generate.d.ts +3 -0
  19. package/dist/commands/generate.d.ts.map +1 -0
  20. package/dist/commands/generate.js +167 -0
  21. package/dist/commands/generate.js.map +1 -0
  22. package/dist/commands/init.d.ts +10 -0
  23. package/dist/commands/init.d.ts.map +1 -0
  24. package/dist/commands/init.js +711 -0
  25. package/dist/commands/init.js.map +1 -0
  26. package/dist/commands/knowledge-sync.d.ts +69 -0
  27. package/dist/commands/knowledge-sync.d.ts.map +1 -0
  28. package/dist/commands/knowledge-sync.js +661 -0
  29. package/dist/commands/knowledge-sync.js.map +1 -0
  30. package/dist/commands/knowledge.d.ts +35 -0
  31. package/dist/commands/knowledge.d.ts.map +1 -0
  32. package/dist/commands/knowledge.js +254 -0
  33. package/dist/commands/knowledge.js.map +1 -0
  34. package/dist/commands/rollback.d.ts +13 -0
  35. package/dist/commands/rollback.d.ts.map +1 -0
  36. package/dist/commands/rollback.js +186 -0
  37. package/dist/commands/rollback.js.map +1 -0
  38. package/dist/commands/setup-config.d.ts +6 -0
  39. package/dist/commands/setup-config.d.ts.map +1 -0
  40. package/dist/commands/setup-config.js +663 -0
  41. package/dist/commands/setup-config.js.map +1 -0
  42. package/dist/commands/setup-project.d.ts +6 -0
  43. package/dist/commands/setup-project.d.ts.map +1 -0
  44. package/dist/commands/setup-project.js +361 -0
  45. package/dist/commands/setup-project.js.map +1 -0
  46. package/dist/commands/setup.d.ts +3 -0
  47. package/dist/commands/setup.d.ts.map +1 -0
  48. package/dist/commands/setup.js +293 -0
  49. package/dist/commands/setup.js.map +1 -0
  50. package/dist/commands/status.d.ts +51 -0
  51. package/dist/commands/status.d.ts.map +1 -0
  52. package/dist/commands/status.js +182 -0
  53. package/dist/commands/status.js.map +1 -0
  54. package/dist/commands/uninstall.d.ts +3 -0
  55. package/dist/commands/uninstall.d.ts.map +1 -0
  56. package/dist/commands/uninstall.js +173 -0
  57. package/dist/commands/uninstall.js.map +1 -0
  58. package/dist/commands/update.d.ts +10 -0
  59. package/dist/commands/update.d.ts.map +1 -0
  60. package/dist/commands/update.js +435 -0
  61. package/dist/commands/update.js.map +1 -0
  62. package/dist/commands/worktree.d.ts +30 -0
  63. package/dist/commands/worktree.d.ts.map +1 -0
  64. package/dist/commands/worktree.js +262 -0
  65. package/dist/commands/worktree.js.map +1 -0
  66. package/dist/generator/claude-cli.d.ts +24 -0
  67. package/dist/generator/claude-cli.d.ts.map +1 -0
  68. package/dist/generator/claude-cli.js +239 -0
  69. package/dist/generator/claude-cli.js.map +1 -0
  70. package/dist/generator/prompt-builder.d.ts +7 -0
  71. package/dist/generator/prompt-builder.d.ts.map +1 -0
  72. package/dist/generator/prompt-builder.js +144 -0
  73. package/dist/generator/prompt-builder.js.map +1 -0
  74. package/dist/index.d.ts +36 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +45 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/mcp/embeddings.d.ts +53 -0
  79. package/dist/mcp/embeddings.d.ts.map +1 -0
  80. package/dist/mcp/embeddings.js +68 -0
  81. package/dist/mcp/embeddings.js.map +1 -0
  82. package/dist/mcp/hybrid-search.d.ts +25 -0
  83. package/dist/mcp/hybrid-search.d.ts.map +1 -0
  84. package/dist/mcp/hybrid-search.js +72 -0
  85. package/dist/mcp/hybrid-search.js.map +1 -0
  86. package/dist/mcp/knowledge-server.d.ts +4 -0
  87. package/dist/mcp/knowledge-server.d.ts.map +1 -0
  88. package/dist/mcp/knowledge-server.js +294 -0
  89. package/dist/mcp/knowledge-server.js.map +1 -0
  90. package/dist/mcp/knowledge-utils.d.ts +65 -0
  91. package/dist/mcp/knowledge-utils.d.ts.map +1 -0
  92. package/dist/mcp/knowledge-utils.js +207 -0
  93. package/dist/mcp/knowledge-utils.js.map +1 -0
  94. package/dist/mcp/search-factory.d.ts +9 -0
  95. package/dist/mcp/search-factory.d.ts.map +1 -0
  96. package/dist/mcp/search-factory.js +23 -0
  97. package/dist/mcp/search-factory.js.map +1 -0
  98. package/dist/mcp/search-index.d.ts +45 -0
  99. package/dist/mcp/search-index.d.ts.map +1 -0
  100. package/dist/mcp/search-index.js +2 -0
  101. package/dist/mcp/search-index.js.map +1 -0
  102. package/dist/mcp/search-minisearch.d.ts +46 -0
  103. package/dist/mcp/search-minisearch.d.ts.map +1 -0
  104. package/dist/mcp/search-minisearch.js +99 -0
  105. package/dist/mcp/search-minisearch.js.map +1 -0
  106. package/dist/mcp/search-sqlite.d.ts +30 -0
  107. package/dist/mcp/search-sqlite.d.ts.map +1 -0
  108. package/dist/mcp/search-sqlite.js +188 -0
  109. package/dist/mcp/search-sqlite.js.map +1 -0
  110. package/dist/mcp/vector-store.d.ts +52 -0
  111. package/dist/mcp/vector-store.d.ts.map +1 -0
  112. package/dist/mcp/vector-store.js +183 -0
  113. package/dist/mcp/vector-store.js.map +1 -0
  114. package/dist/scaffold/copy-core-agents.d.ts +2 -0
  115. package/dist/scaffold/copy-core-agents.d.ts.map +1 -0
  116. package/dist/scaffold/copy-core-agents.js +90 -0
  117. package/dist/scaffold/copy-core-agents.js.map +1 -0
  118. package/dist/scaffold/create-claude-settings.d.ts +40 -0
  119. package/dist/scaffold/create-claude-settings.d.ts.map +1 -0
  120. package/dist/scaffold/create-claude-settings.js +422 -0
  121. package/dist/scaffold/create-claude-settings.js.map +1 -0
  122. package/dist/scaffold/create-config.d.ts +14 -0
  123. package/dist/scaffold/create-config.d.ts.map +1 -0
  124. package/dist/scaffold/create-config.js +199 -0
  125. package/dist/scaffold/create-config.js.map +1 -0
  126. package/dist/scaffold/create-project-description.d.ts +12 -0
  127. package/dist/scaffold/create-project-description.d.ts.map +1 -0
  128. package/dist/scaffold/create-project-description.js +104 -0
  129. package/dist/scaffold/create-project-description.js.map +1 -0
  130. package/dist/scaffold/create-structure.d.ts +2 -0
  131. package/dist/scaffold/create-structure.d.ts.map +1 -0
  132. package/dist/scaffold/create-structure.js +146 -0
  133. package/dist/scaffold/create-structure.js.map +1 -0
  134. package/dist/types/dependency-analysis.d.ts +11 -0
  135. package/dist/types/dependency-analysis.d.ts.map +1 -0
  136. package/dist/types/dependency-analysis.js +2 -0
  137. package/dist/types/dependency-analysis.js.map +1 -0
  138. package/dist/types/index.d.ts +526 -0
  139. package/dist/types/index.d.ts.map +1 -0
  140. package/dist/types/index.js +3 -0
  141. package/dist/types/index.js.map +1 -0
  142. package/dist/types/task.d.ts +25 -0
  143. package/dist/types/task.d.ts.map +1 -0
  144. package/dist/types/task.js +3 -0
  145. package/dist/types/task.js.map +1 -0
  146. package/dist/utils/analyze-files.d.ts +7 -0
  147. package/dist/utils/analyze-files.d.ts.map +1 -0
  148. package/dist/utils/analyze-files.js +27 -0
  149. package/dist/utils/analyze-files.js.map +1 -0
  150. package/dist/utils/backup.d.ts +102 -0
  151. package/dist/utils/backup.d.ts.map +1 -0
  152. package/dist/utils/backup.js +352 -0
  153. package/dist/utils/backup.js.map +1 -0
  154. package/dist/utils/ci-provider.d.ts +23 -0
  155. package/dist/utils/ci-provider.d.ts.map +1 -0
  156. package/dist/utils/ci-provider.js +525 -0
  157. package/dist/utils/ci-provider.js.map +1 -0
  158. package/dist/utils/ci-status.d.ts +57 -0
  159. package/dist/utils/ci-status.d.ts.map +1 -0
  160. package/dist/utils/ci-status.js +349 -0
  161. package/dist/utils/ci-status.js.map +1 -0
  162. package/dist/utils/dependency-analysis.d.ts +34 -0
  163. package/dist/utils/dependency-analysis.d.ts.map +1 -0
  164. package/dist/utils/dependency-analysis.js +298 -0
  165. package/dist/utils/dependency-analysis.js.map +1 -0
  166. package/dist/utils/detect-git.d.ts +57 -0
  167. package/dist/utils/detect-git.d.ts.map +1 -0
  168. package/dist/utils/detect-git.js +439 -0
  169. package/dist/utils/detect-git.js.map +1 -0
  170. package/dist/utils/detect-mcp.d.ts +32 -0
  171. package/dist/utils/detect-mcp.d.ts.map +1 -0
  172. package/dist/utils/detect-mcp.js +178 -0
  173. package/dist/utils/detect-mcp.js.map +1 -0
  174. package/dist/utils/detect-project.d.ts +3 -0
  175. package/dist/utils/detect-project.d.ts.map +1 -0
  176. package/dist/utils/detect-project.js +155 -0
  177. package/dist/utils/detect-project.js.map +1 -0
  178. package/dist/utils/file-comparison.d.ts +89 -0
  179. package/dist/utils/file-comparison.d.ts.map +1 -0
  180. package/dist/utils/file-comparison.js +301 -0
  181. package/dist/utils/file-comparison.js.map +1 -0
  182. package/dist/utils/file-merger.d.ts +74 -0
  183. package/dist/utils/file-merger.d.ts.map +1 -0
  184. package/dist/utils/file-merger.js +350 -0
  185. package/dist/utils/file-merger.js.map +1 -0
  186. package/dist/utils/logger.d.ts +26 -0
  187. package/dist/utils/logger.d.ts.map +1 -0
  188. package/dist/utils/logger.js +72 -0
  189. package/dist/utils/logger.js.map +1 -0
  190. package/dist/utils/managed-process.d.ts +109 -0
  191. package/dist/utils/managed-process.d.ts.map +1 -0
  192. package/dist/utils/managed-process.js +481 -0
  193. package/dist/utils/managed-process.js.map +1 -0
  194. package/dist/utils/merge-claude-settings.d.ts +65 -0
  195. package/dist/utils/merge-claude-settings.d.ts.map +1 -0
  196. package/dist/utils/merge-claude-settings.js +133 -0
  197. package/dist/utils/merge-claude-settings.js.map +1 -0
  198. package/dist/utils/migration.d.ts +74 -0
  199. package/dist/utils/migration.d.ts.map +1 -0
  200. package/dist/utils/migration.js +345 -0
  201. package/dist/utils/migration.js.map +1 -0
  202. package/dist/utils/process-health.d.ts +51 -0
  203. package/dist/utils/process-health.d.ts.map +1 -0
  204. package/dist/utils/process-health.js +123 -0
  205. package/dist/utils/process-health.js.map +1 -0
  206. package/dist/utils/process-registry.d.ts +20 -0
  207. package/dist/utils/process-registry.d.ts.map +1 -0
  208. package/dist/utils/process-registry.js +151 -0
  209. package/dist/utils/process-registry.js.map +1 -0
  210. package/dist/utils/process-tree.d.ts +51 -0
  211. package/dist/utils/process-tree.d.ts.map +1 -0
  212. package/dist/utils/process-tree.js +499 -0
  213. package/dist/utils/process-tree.js.map +1 -0
  214. package/dist/utils/repair-mcp-config.d.ts +15 -0
  215. package/dist/utils/repair-mcp-config.d.ts.map +1 -0
  216. package/dist/utils/repair-mcp-config.js +129 -0
  217. package/dist/utils/repair-mcp-config.js.map +1 -0
  218. package/dist/utils/task-lifecycle.d.ts +60 -0
  219. package/dist/utils/task-lifecycle.d.ts.map +1 -0
  220. package/dist/utils/task-lifecycle.js +310 -0
  221. package/dist/utils/task-lifecycle.js.map +1 -0
  222. package/dist/utils/update-agent-mcp.d.ts +7 -0
  223. package/dist/utils/update-agent-mcp.d.ts.map +1 -0
  224. package/dist/utils/update-agent-mcp.js +115 -0
  225. package/dist/utils/update-agent-mcp.js.map +1 -0
  226. package/dist/utils/update-agent-templates.d.ts +6 -0
  227. package/dist/utils/update-agent-templates.d.ts.map +1 -0
  228. package/dist/utils/update-agent-templates.js +56 -0
  229. package/dist/utils/update-agent-templates.js.map +1 -0
  230. package/dist/utils/update-config-ci.d.ts +7 -0
  231. package/dist/utils/update-config-ci.d.ts.map +1 -0
  232. package/dist/utils/update-config-ci.js +72 -0
  233. package/dist/utils/update-config-ci.js.map +1 -0
  234. package/dist/utils/update-config-git.d.ts +18 -0
  235. package/dist/utils/update-config-git.d.ts.map +1 -0
  236. package/dist/utils/update-config-git.js +146 -0
  237. package/dist/utils/update-config-git.js.map +1 -0
  238. package/dist/utils/update-config-mcp.d.ts +7 -0
  239. package/dist/utils/update-config-mcp.d.ts.map +1 -0
  240. package/dist/utils/update-config-mcp.js +98 -0
  241. package/dist/utils/update-config-mcp.js.map +1 -0
  242. package/dist/utils/validate-config.d.ts +3 -0
  243. package/dist/utils/validate-config.d.ts.map +1 -0
  244. package/dist/utils/validate-config.js +109 -0
  245. package/dist/utils/validate-config.js.map +1 -0
  246. package/dist/utils/version-tracker.d.ts +130 -0
  247. package/dist/utils/version-tracker.d.ts.map +1 -0
  248. package/dist/utils/version-tracker.js +298 -0
  249. package/dist/utils/version-tracker.js.map +1 -0
  250. package/dist/utils/worktree.d.ts +68 -0
  251. package/dist/utils/worktree.d.ts.map +1 -0
  252. package/dist/utils/worktree.js +446 -0
  253. package/dist/utils/worktree.js.map +1 -0
  254. package/package.json +77 -0
  255. package/templates/ARCHAI_README.md +329 -0
  256. package/templates/CLAUDE.md +67 -0
  257. package/templates/PROMPTS.md +506 -0
  258. package/templates/core-agents/boss-agent.md +671 -0
  259. package/templates/core-agents/cleanup-agent.md +145 -0
  260. package/templates/core-agents/code-reviewer.md +175 -0
  261. package/templates/core-agents/critical-reviewer.md +117 -0
  262. package/templates/core-agents/deep-analyst.md +216 -0
  263. package/templates/core-agents/finalization-agent.md +252 -0
  264. package/templates/core-agents/git-coordinator.md +240 -0
  265. package/templates/core-agents/implementation-agent.md +151 -0
  266. package/templates/core-agents/maestro-agent.md +413 -0
  267. package/templates/core-agents/maestro-headless-agent.md +422 -0
  268. package/templates/core-agents/plan-validator.md +198 -0
  269. package/templates/core-agents/quick-fix.md +56 -0
  270. package/templates/core-agents/routing-templates.md +338 -0
  271. package/templates/core-agents/task-orchestrator.md +143 -0
  272. package/templates/core-agents/task-prep.md +202 -0
  273. package/templates/core-agents/tdd-designer.md +143 -0
  274. package/templates/specialist-meta.md +275 -0
package/README.md ADDED
@@ -0,0 +1,270 @@
1
+ # Archai [Join our Discord](https://discord.gg/J3wgDb4YJv)
2
+
3
+ **A team of AI agents for Claude Code — not just one assistant, but a full development workflow.**
4
+
5
+ Archai scaffolds a multi-agent system that plans before it codes, validates before it implements, and tests before it ships. One command sets it up. Claude Code does the rest.
6
+
7
+ ![Three-Phase Architecture](diagram.jpg)
8
+
9
+
10
+
11
+ ---
12
+
13
+ ## Why archai?
14
+
15
+ Without structure, AI assistants jump straight to code — skipping analysis, missing edge cases, and producing work that needs reworking. archai fixes this with a **three-phase workflow**:
16
+
17
+ 1. **Planning Loop** — Analyze the problem, validate the plan, design tests (2-4 iterations)
18
+ 2. **Implementation Loop** — Code, test, review (only after you approve the plan)
19
+ 3. **Finalization** — Quality checks, cleanup, commit, push, CI verification
20
+
21
+ Agents **learn across sessions** through a persistent knowledge base — decisions, constraints, patterns, and gotchas are recorded and searched before every new task.
22
+
23
+ You stay in control with approval gates between phases. Or use **critical review mode** to let a separate AI session review the plan automatically.
24
+
25
+ ## Quick Start
26
+
27
+ ```bash
28
+ npm install -g @bhimudev/gnanai
29
+ cd your-project
30
+ gnanai init
31
+ ```
32
+
33
+ That's it. gnanai detects your tech stack and creates everything you need. Now open Claude Code:
34
+
35
+ ```bash
36
+ claude
37
+ ```
38
+
39
+ And tell it what to build:
40
+
41
+ ```
42
+ > Use task-prep for: add user authentication with JWT
43
+ ```
44
+
45
+ After reviewing and approving the spec:
46
+
47
+ ```
48
+ > Use maestro-agent for: the prepared task in .tasks/inbox/Task-AUTH-001.md
49
+ ```
50
+
51
+ The agent system takes over — plans the work, waits for your approval, implements it, runs tests, and commits.
52
+
53
+ ### For small fixes
54
+
55
+ Skip the full workflow:
56
+
57
+ ```
58
+ > Use quick-fix for: rename the userId variable to accountId
59
+ ```
60
+
61
+ ### Shared knowledge across repos
62
+
63
+ Share decisions, patterns, and learnings between related projects:
64
+
65
+ ```bash
66
+ archai knowledge create my-team # Create a shared knowledge group
67
+ archai knowledge join my-team # Link this project to the group
68
+ ```
69
+
70
+ Agents automatically search shared knowledge before planning and write cross-cutting decisions back. Works across any number of repos.
71
+
72
+ For team sync via git:
73
+
74
+ ```bash
75
+ archai knowledge remote my-team <git-url> # Add remote
76
+ archai knowledge sync # Commit + pull + push
77
+ ```
78
+
79
+ ### Optional setup wizards
80
+
81
+ ```bash
82
+ archai setup-project # Describe your project architecture
83
+ archai setup-config # Configure commands, specialists, permissions
84
+ archai generate # Generate project-specific specialist agents
85
+ ```
86
+
87
+ ## How to Use
88
+
89
+ ### Step 0 (Optional): Prepare the Task
90
+
91
+ For vague or complex tasks, structure them first:
92
+
93
+ ```
94
+ > Use task-prep for: add user authentication with JWT
95
+ ```
96
+
97
+ The agent gathers project context, asks targeted clarifying questions, and produces a structured spec. After you approve, it saves to `.tasks/inbox/` with a descriptive name like `Task-AUTH-001.md`.
98
+
99
+ ### Step 1: Define Your Task
100
+
101
+ Write a clear description of what you want done. Drop it into a task file:
102
+
103
+ ```
104
+ .tasks/inbox/add-user-auth.md
105
+ ```
106
+
107
+ Or just describe it directly in Claude Code. The more specific you are, the better the agents perform.
108
+
109
+ ### Step 2: Feed It to the Agent System
110
+
111
+ Open Claude Code and hand the task to `maestro-agent`:
112
+
113
+ ```
114
+ > Use maestro-agent for: start working on the task .tasks/inbox/add-user-auth.md
115
+ ```
116
+
117
+ That's it. The agent system takes over:
118
+
119
+ 1. **Planning** — `deep-analyst` studies your codebase, `plan-validator` challenges the plan, `tdd-designer` writes tests first. This iterates 2-4 times until the plan is solid.
120
+ 2. **Your approval** — The workflow stops and presents the plan. You APPROVE, REVISE, or REJECT.
121
+ 3. **Implementation** — `implementation-agent` builds it, `code-reviewer` verifies it. Iterates until tests pass.
122
+ 4. **Finalization** — `finalization-agent` runs quality checks, cleans up, commits, and pushes.
123
+
124
+ ### Critical Review Mode
125
+
126
+ For routine tasks where you trust the process, skip manual plan approval:
127
+
128
+ ```
129
+ > Use maestro-agent with critical-review for: [your task]
130
+ ```
131
+
132
+ A separate Claude session reviews the plan for blind spots. If it passes, implementation starts automatically. If issues are found, it falls back to asking you.
133
+
134
+ | Mode | When to use | Plan approval |
135
+ |------|-------------|---------------|
136
+ | Manual (default) | Learning, high-stakes, security-sensitive | You approve |
137
+ | Critical review | Routine tasks, well-understood features | Auto if review passes |
138
+
139
+ ### Quick Fix
140
+
141
+ For small, obvious changes (typos, renames, config tweaks, 1-3 files):
142
+
143
+ ```
144
+ > Use quick-fix for: [small change]
145
+ ```
146
+
147
+ No planning docs, no approval gates. If the change turns out to be bigger than expected, it tells you to use `maestro-agent` instead.
148
+
149
+ ### Batch Tasks
150
+
151
+ For managing multiple tasks across an epic, drop them all into `.tasks/inbox/` and run:
152
+
153
+ ```
154
+ > Use task-orchestrator for: work through the tasks in .tasks/inbox/
155
+ ```
156
+
157
+ It claims tasks one by one, creates branches, spawns the full workflow for each, and tracks progress.
158
+
159
+ ### Standalone Agents
160
+
161
+ You can use any agent directly:
162
+
163
+ | Agent | Use for |
164
+ |-------|---------|
165
+ | `deep-analyst` | Understanding code, analyzing a problem |
166
+ | `tdd-designer` | Designing test suites |
167
+ | `cleanup-agent` | Cleaning temp files before committing |
168
+
169
+ ## Agents (14 Core)
170
+
171
+ | Agent | Phase | Role |
172
+ |-------|-------|------|
173
+ | `task-prep` | Preparation | Architect-level task structuring and scoping |
174
+ | `maestro-agent` | Orchestrator | Manages all three phases with iteration limits |
175
+ | `boss-agent` | Orchestrator | Scans inbox, builds queue, dispatches tasks sequentially |
176
+ | `deep-analyst` | Planning | Deep analysis and implementation planning |
177
+ | `plan-validator` | Planning | Adversarial plan review — finds gaps |
178
+ | `tdd-designer` | Planning | Designs tests before code, with concrete values |
179
+ | `critical-reviewer` | Planning | Blind review via separate SDK session |
180
+ | `implementation-agent` | Implementation | Autonomous execution of approved plan |
181
+ | `code-reviewer` | Implementation | Verifies against acceptance criteria |
182
+ | `cleanup-agent` | Finalization | Removes temp files, archives state |
183
+ | `finalization-agent` | Finalization | Quality checks, commit, push, CI/CD |
184
+ | `git-coordinator` | Finalization | Git coordination, merging, conflict resolution |
185
+ | `task-orchestrator` | Workflow | Epic/task lifecycle management |
186
+ | `quick-fix` | Standalone | Fast single-pass for small changes |
187
+
188
+ **Specialist agents** are generated from your config with `archai generate` — they understand your specific tech stack, file paths, and conventions.
189
+
190
+ ## Commands
191
+
192
+ | Command | Purpose |
193
+ |---------|---------|
194
+ | `archai init` | Initialize archai in your project (smart — handles existing setups) |
195
+ | `archai update` | Update agents/templates with smart file comparison |
196
+ | `archai generate` | Generate specialist agents from your config |
197
+ | `archai setup-project` | Interactive wizard for project description |
198
+ | `archai setup-config` | Interactive wizard for config, commands, permissions |
199
+ | `archai doctor` | Validate your setup |
200
+ | `archai rollback` | Restore from automatic backup |
201
+ | `archai cleanup` | Remove deprecated files and old backups |
202
+ | `archai setup` | Auto-configure git and MCP integrations |
203
+ | `archai knowledge create` | Create a shared knowledge group |
204
+ | `archai knowledge join` | Link project to a knowledge group |
205
+ | `archai knowledge leave` | Unlink project from a knowledge group |
206
+ | `archai knowledge list` | List all knowledge groups |
207
+ | `archai knowledge sync` | Sync knowledge group with git remote |
208
+ | `archai knowledge info` | Show knowledge group status |
209
+ | `archai uninstall` | Remove archai from your project |
210
+
211
+ All commands support `--dry-run` to preview changes and `-y` for non-interactive CI mode.
212
+
213
+ ### Key flags
214
+
215
+ ```bash
216
+ archai init --skip-wizard # Use detected defaults
217
+ archai init --force # Re-initialize with file comparison
218
+ archai update --all # Force update all files
219
+ archai rollback --list # Show available backups
220
+ archai cleanup --all # Remove deprecated files + prune backups
221
+ ```
222
+
223
+ ## Permission Presets
224
+
225
+ archai configures Claude Code permissions via `.claude/settings.local.json`:
226
+
227
+ | Preset | Description |
228
+ |--------|-------------|
229
+ | **Permissive** (default) | Allows most operations. Blocks destructive actions: `rm -rf`, `git push --force`, `sudo`, credential access, database drops. |
230
+ | **Strict** | Read-only + controlled writes. No network, no push, no publish. Good for production environments. |
231
+ | **Custom** | Define your own allow/deny lists via the wizard. |
232
+
233
+ ## Project Structure
234
+
235
+ ```
236
+ your-project/
237
+ ├── .claude/
238
+ │ ├── agents/ # Core + specialist agent definitions
239
+ │ ├── plans/ # Approved implementation plans
240
+ │ ├── state/ # Working state (gitignored)
241
+ │ └── version.json # Version tracking for smart updates
242
+ ├── .knowledge/ # Persistent knowledge base (decisions, constraints, patterns, learnings)
243
+ ├── .tasks/ # Task inbox, epics, review, done
244
+ ├── archai.config.md # Project configuration
245
+ ├── CLAUDE.md # Agentic behavior guidelines (auto-generated)
246
+ └── PROMPTS.md # Quick reference for all prompts
247
+ ```
248
+
249
+ ## Requirements
250
+
251
+ - **Node.js 18+**
252
+ - **Claude Code CLI** — [claude.ai/code](https://claude.ai/code)
253
+
254
+ ## Troubleshooting
255
+
256
+ **Agent not following instructions?** Make sure agent file content is being passed and output locations are specified.
257
+
258
+ **Planning keeps iterating?** After 4 iterations, it stops automatically. If requirements are unclear, it escalates to you.
259
+
260
+ **Implementation failing?** After 5 fix attempts on the same step, it reports BLOCKED and stops. Check if the plan was specific enough.
261
+
262
+ **Tests too shallow?** Verify `tdd-designer` used concrete values and covered edge cases, not just happy paths.
263
+
264
+ ## License
265
+
266
+ MIT
267
+
268
+ ## Contributing
269
+
270
+ Contributions welcome! Join the [Discord](https://discord.gg/J3wgDb4YJv) to discuss ideas.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,188 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ import { createRequire } from 'module';
4
+ import { init } from '../commands/init.js';
5
+ import { generate } from '../commands/generate.js';
6
+ import { doctor } from '../commands/doctor.js';
7
+ import { setupProject } from '../commands/setup-project.js';
8
+ import { setupConfig } from '../commands/setup-config.js';
9
+ import { setup } from '../commands/setup.js';
10
+ import { uninstall } from '../commands/uninstall.js';
11
+ import { update } from '../commands/update.js';
12
+ import { rollback } from '../commands/rollback.js';
13
+ import { cleanup } from '../commands/cleanup.js';
14
+ import { logger } from '../utils/logger.js';
15
+ import { knowledgeCreate, knowledgeJoin, knowledgeLeave, knowledgeList, } from '../commands/knowledge.js';
16
+ import { startKnowledgeMcpServer } from '../mcp/knowledge-server.js';
17
+ import { knowledgeRemote, knowledgeSync, knowledgeInfo, } from '../commands/knowledge-sync.js';
18
+ import { worktreeCreate, worktreeList, worktreeCleanup, } from '../commands/worktree.js';
19
+ import { dispatch } from '../commands/dispatch.js';
20
+ import { status } from '../commands/status.js';
21
+ const require = createRequire(import.meta.url);
22
+ const pkg = require('../../package.json');
23
+ const program = new Command();
24
+ program
25
+ .name('gnanai')
26
+ .description('Multi-agent AI development workflow setup for any project')
27
+ .version(pkg.version)
28
+ .option('--debug', 'Enable debug logging')
29
+ .hook('preAction', (thisCommand) => {
30
+ const opts = thisCommand.opts();
31
+ if (opts.debug) {
32
+ logger.setDebugMode(true);
33
+ logger.debug('Debug mode enabled');
34
+ }
35
+ });
36
+ program
37
+ .command('init')
38
+ .description('Initialize archai agent system in current directory')
39
+ .option('--force', 'Overwrite existing configuration')
40
+ .option('--skip-wizard', 'Skip interactive wizard, use defaults')
41
+ .option('--dry-run', 'Preview what would be created without creating files')
42
+ .option('-y, --yes', 'Non-interactive mode, use defaults for all prompts')
43
+ .action(init);
44
+ program
45
+ .command('generate')
46
+ .description('Generate specialist agents based on configuration')
47
+ .option('--dry-run', 'Show what would be generated without writing files')
48
+ .option('-y, --yes', 'Skip confirmation prompt')
49
+ .action(generate);
50
+ program
51
+ .command('doctor')
52
+ .description('Validate archai setup and check for issues')
53
+ .action(doctor);
54
+ program
55
+ .command('setup')
56
+ .description('Auto-configure environment integrations (Git, MCP)')
57
+ .option('--git', 'Configure Git integration only')
58
+ .option('--mcp', 'Configure MCP servers only')
59
+ .option('-y, --yes', 'Non-interactive mode, auto-apply safe defaults')
60
+ .action(setup);
61
+ program
62
+ .command('setup-project')
63
+ .description('Interactive wizard to fill out project description')
64
+ .option('--force', 'Overwrite existing content')
65
+ .action(setupProject);
66
+ program
67
+ .command('setup-config')
68
+ .description('Interactive wizard to configure archai.config.md')
69
+ .option('--force', 'Overwrite existing content')
70
+ .action(setupConfig);
71
+ program
72
+ .command('uninstall')
73
+ .description('Remove archai artifacts from the project')
74
+ .option('--keep-knowledge', 'Preserve .knowledge/ directory')
75
+ .option('--dry-run', 'Show what would be removed without removing')
76
+ .option('--force', 'Skip confirmation prompt')
77
+ .action(uninstall);
78
+ program
79
+ .command('update')
80
+ .description('Update archai core agents and templates to the latest version')
81
+ .option('--agents', 'Only update core agents')
82
+ .option('--templates', 'Only update task templates')
83
+ .option('--all', 'Force update all files')
84
+ .option('--dry-run', 'Show what would be updated without updating')
85
+ .option('-y, --yes', 'Non-interactive mode, skip user-modified files')
86
+ .action(update);
87
+ program
88
+ .command('rollback [timestamp]')
89
+ .description('Restore from a previous backup')
90
+ .option('--list', 'List available backups')
91
+ .option('--dry-run', 'Show what would be restored without restoring')
92
+ .option('-y, --yes', 'Skip confirmation prompt')
93
+ .action(rollback);
94
+ program
95
+ .command('cleanup')
96
+ .description('Clean up deprecated files and old backups')
97
+ .option('--deprecated', 'Remove deprecated/orphaned files')
98
+ .option('--backups', 'Prune old backups')
99
+ .option('--all', 'Clean everything')
100
+ .option('--zombies', 'Kill zombie processes and prune stale state files')
101
+ .option('--keep-backups <count>', 'Number of backups to keep (default: 5)', parseInt)
102
+ .option('--dry-run', 'Show what would be removed without removing')
103
+ .option('-y, --yes', 'Skip confirmation prompt')
104
+ .action(cleanup);
105
+ // Knowledge group commands
106
+ const knowledgeCmd = program
107
+ .command('knowledge')
108
+ .description('Manage shared knowledge groups');
109
+ knowledgeCmd
110
+ .command('create <name>')
111
+ .description('Create a new knowledge group')
112
+ .option('--from <url>', 'Clone from an existing remote knowledge repo')
113
+ .action(knowledgeCreate);
114
+ knowledgeCmd
115
+ .command('join <name>')
116
+ .description('Link current project to a knowledge group')
117
+ .action(knowledgeJoin);
118
+ knowledgeCmd
119
+ .command('leave <name>')
120
+ .description('Remove current project from a knowledge group')
121
+ .action(knowledgeLeave);
122
+ knowledgeCmd
123
+ .command('list')
124
+ .description('List all knowledge groups')
125
+ .action(knowledgeList);
126
+ knowledgeCmd
127
+ .command('remote <name> <url>')
128
+ .description('Add a git remote to a knowledge group for team sharing')
129
+ .action(knowledgeRemote);
130
+ knowledgeCmd
131
+ .command('sync [name]')
132
+ .description('Sync knowledge group(s) with git remote')
133
+ .action(knowledgeSync);
134
+ knowledgeCmd
135
+ .command('info <name>')
136
+ .description('Show details and sync status of a knowledge group')
137
+ .action(knowledgeInfo);
138
+ // MCP server commands
139
+ const mcpCmd = program
140
+ .command('mcp')
141
+ .description('Run MCP servers');
142
+ mcpCmd
143
+ .command('knowledge')
144
+ .description('Start the shared knowledge MCP server')
145
+ .requiredOption('--group <name>', 'Knowledge group name')
146
+ .action(startKnowledgeMcpServer);
147
+ // Worktree commands
148
+ const worktreeCmd = program
149
+ .command('worktree')
150
+ .description('Manage git worktrees for parallel task execution');
151
+ worktreeCmd
152
+ .command('create')
153
+ .description('Create a new worktree for a task')
154
+ .requiredOption('--task <id>', 'Task identifier (e.g., TASK-001)')
155
+ .option('--description <desc>', 'Human-readable description for the branch name')
156
+ .action(worktreeCreate);
157
+ worktreeCmd
158
+ .command('list')
159
+ .description('List all git worktrees')
160
+ .action(worktreeList);
161
+ worktreeCmd
162
+ .command('cleanup')
163
+ .description('Remove worktrees and prune stale entries')
164
+ .option('--task <id>', 'Remove specific worktree by task ID')
165
+ .option('--all', 'Remove all linked worktrees')
166
+ .option('--dry-run', 'Preview what would be removed')
167
+ .option('-y, --yes', 'Skip confirmation prompt')
168
+ .action(worktreeCleanup);
169
+ program
170
+ .command('dispatch')
171
+ .description('Spawn claude -p as a cross-platform child process (used by boss-agent)')
172
+ .requiredOption('--agent <name>', 'Agent name (e.g., maestro-headless-agent)')
173
+ .requiredOption('--prompt-file <path>', 'Path to prompt file')
174
+ .requiredOption('--output <path>', 'Path to write claude stdout')
175
+ .option('--exit-code-file <path>', 'Path to write exit code')
176
+ .option('--cwd <dir>', 'Working directory for child process')
177
+ .option('--max-turns <n>', 'Max agentic turns for claude -p', parseInt)
178
+ .option('--timeout <seconds>', 'Kill after N seconds (default: 7200)', parseInt)
179
+ .action(dispatch);
180
+ program
181
+ .command('status')
182
+ .description('Show all tracked processes and their health')
183
+ .option('--json', 'Machine-readable JSON output')
184
+ .option('--tree', 'Show full process tree for each task')
185
+ .option('--prune', 'Remove stale entries (dead processes, PID reuse)')
186
+ .action(status);
187
+ program.parse();
188
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Options for the cleanup command.
3
+ */
4
+ export interface CleanupOptions {
5
+ deprecated?: boolean;
6
+ backups?: boolean;
7
+ zombies?: boolean;
8
+ all?: boolean;
9
+ dryRun?: boolean;
10
+ yes?: boolean;
11
+ keepBackups?: number;
12
+ }
13
+ /**
14
+ * Clean up zombie processes and prune stale state files.
15
+ */
16
+ export declare function cleanupZombies(options: CleanupOptions): Promise<number>;
17
+ /**
18
+ * Main cleanup command.
19
+ */
20
+ export declare function cleanup(options?: CleanupOptions): Promise<void>;
21
+ //# sourceMappingURL=cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyLD;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgH7E;AA4ED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CzE"}