all-hands-cli 0.1.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 (305) hide show
  1. package/.allhands/README.md +75 -0
  2. package/.allhands/agents/compounder.yaml +15 -0
  3. package/.allhands/agents/coordinator.yaml +17 -0
  4. package/.allhands/agents/documentor.yaml +15 -0
  5. package/.allhands/agents/e2e-test-planner.yaml +17 -0
  6. package/.allhands/agents/emergent.yaml +22 -0
  7. package/.allhands/agents/executor.yaml +14 -0
  8. package/.allhands/agents/ideation.yaml +11 -0
  9. package/.allhands/agents/initiative-steering.yaml +19 -0
  10. package/.allhands/agents/judge.yaml +13 -0
  11. package/.allhands/agents/planner.yaml +19 -0
  12. package/.allhands/agents/pr-reviewer.yaml +15 -0
  13. package/.allhands/docs.json +5 -0
  14. package/.allhands/docs.local.json +26 -0
  15. package/.allhands/flows/COMPOUNDING.md +203 -0
  16. package/.allhands/flows/COORDINATION.md +89 -0
  17. package/.allhands/flows/CORE.md +87 -0
  18. package/.allhands/flows/DOCUMENTATION.md +218 -0
  19. package/.allhands/flows/E2E_TEST_PLAN_BUILDING.md +140 -0
  20. package/.allhands/flows/EMERGENT_PLANNING.md +57 -0
  21. package/.allhands/flows/IDEATION_SCOPING.md +154 -0
  22. package/.allhands/flows/INITIATIVE_STEERING.md +110 -0
  23. package/.allhands/flows/JUDGE_REVIEWING.md +79 -0
  24. package/.allhands/flows/PROMPT_TASK_EXECUTION.md +68 -0
  25. package/.allhands/flows/PR_REVIEWING.md +43 -0
  26. package/.allhands/flows/SPEC_PLANNING.md +216 -0
  27. package/.allhands/flows/harness/WRITING_HARNESS_FLOWS.md +27 -0
  28. package/.allhands/flows/harness/WRITING_HARNESS_KNOWLEDGE.md +27 -0
  29. package/.allhands/flows/harness/WRITING_HARNESS_ORCHESTRATION.md +27 -0
  30. package/.allhands/flows/harness/WRITING_HARNESS_SKILLS.md +27 -0
  31. package/.allhands/flows/harness/WRITING_HARNESS_TOOLS.md +27 -0
  32. package/.allhands/flows/harness/WRITING_HARNESS_VALIDATION_TOOLING.md +27 -0
  33. package/.allhands/flows/shared/CODEBASE_UNDERSTANDING.md +72 -0
  34. package/.allhands/flows/shared/CREATE_HARNESS_SPEC.md +48 -0
  35. package/.allhands/flows/shared/CREATE_SPEC.md +41 -0
  36. package/.allhands/flows/shared/CREATE_VALIDATION_TOOLING_SPEC.md +70 -0
  37. package/.allhands/flows/shared/DOCUMENTATION_DISCOVERY.md +123 -0
  38. package/.allhands/flows/shared/DOCUMENTATION_WRITER.md +101 -0
  39. package/.allhands/flows/shared/EMERGENT_REFINEMENT_ANALYSIS.md +76 -0
  40. package/.allhands/flows/shared/EXTERNAL_TECH_GUIDANCE.md +97 -0
  41. package/.allhands/flows/shared/IDEATION_CODEBASE_GROUNDING.md +49 -0
  42. package/.allhands/flows/shared/PLAN_DEEPENING.md +152 -0
  43. package/.allhands/flows/shared/PROMPT_TASKS_CURATION.md +113 -0
  44. package/.allhands/flows/shared/PROMPT_VALIDATION_REVIEW.MD +99 -0
  45. package/.allhands/flows/shared/QUICK_PREMORTEM.md +70 -0
  46. package/.allhands/flows/shared/RESEARCH_GUIDANCE.md +38 -0
  47. package/.allhands/flows/shared/REVIEW_OPTIONS_BREAKDOWN.md +68 -0
  48. package/.allhands/flows/shared/SKILL_EXTRACTION.md +84 -0
  49. package/.allhands/flows/shared/SPEC_FLOW_ANALYSIS.md +119 -0
  50. package/.allhands/flows/shared/TDD_WORKFLOW.md +109 -0
  51. package/.allhands/flows/shared/UTILIZE_VALIDATION_TOOLING.md +84 -0
  52. package/.allhands/flows/shared/WRITING_HARNESS_FLOWS.md +11 -0
  53. package/.allhands/flows/shared/WRITING_HARNESS_MCP_TOOLS.md +84 -0
  54. package/.allhands/flows/shared/jury/ARCHITECTURE_REVIEW.md +91 -0
  55. package/.allhands/flows/shared/jury/BEST_PRACTICES_REVIEW.md +80 -0
  56. package/.allhands/flows/shared/jury/CLAIM_VERIFICATION_REVIEW.md +101 -0
  57. package/.allhands/flows/shared/jury/EXPECTATIONS_FIT_REVIEW.md +78 -0
  58. package/.allhands/flows/shared/jury/MAINTAINABILITY_REVIEW.md +110 -0
  59. package/.allhands/flows/shared/jury/PROMPTS_EXPECTATIONS_FIT.md +74 -0
  60. package/.allhands/flows/shared/jury/PROMPTS_FLOW_ANALYSIS.md +92 -0
  61. package/.allhands/flows/shared/jury/PROMPTS_YAGNI.md +78 -0
  62. package/.allhands/flows/shared/jury/PROMPT_PREMORTEM.md +125 -0
  63. package/.allhands/flows/shared/jury/SECURITY_REVIEW.md +86 -0
  64. package/.allhands/flows/shared/jury/YAGNI_REVIEW.md +82 -0
  65. package/.allhands/flows/wip/DEBUG_INVESTIGATION.md +162 -0
  66. package/.allhands/flows/wip/MEMORY_RECALL.md +62 -0
  67. package/.allhands/harness/ah +131 -0
  68. package/.allhands/harness/package-lock.json +5292 -0
  69. package/.allhands/harness/package.json +52 -0
  70. package/.allhands/harness/src/__tests__/e2e/commands.test.ts +307 -0
  71. package/.allhands/harness/src/__tests__/e2e/event-loop.test.ts +539 -0
  72. package/.allhands/harness/src/__tests__/e2e/hooks.test.ts +427 -0
  73. package/.allhands/harness/src/__tests__/e2e/new-initiative-routing.test.ts +137 -0
  74. package/.allhands/harness/src/__tests__/e2e/run-e2e.ts +109 -0
  75. package/.allhands/harness/src/__tests__/e2e/specs-type.test.ts +210 -0
  76. package/.allhands/harness/src/__tests__/e2e/validation-hooks.test.ts +669 -0
  77. package/.allhands/harness/src/__tests__/e2e/validation-path-consistency.test.ts +354 -0
  78. package/.allhands/harness/src/__tests__/e2e/validation.test.ts +528 -0
  79. package/.allhands/harness/src/__tests__/harness/assertions.ts +318 -0
  80. package/.allhands/harness/src/__tests__/harness/cli-runner.ts +359 -0
  81. package/.allhands/harness/src/__tests__/harness/fixture.ts +384 -0
  82. package/.allhands/harness/src/__tests__/harness/hook-runner.ts +411 -0
  83. package/.allhands/harness/src/__tests__/harness/index.ts +122 -0
  84. package/.allhands/harness/src/cli.ts +36 -0
  85. package/.allhands/harness/src/commands/complexity.ts +177 -0
  86. package/.allhands/harness/src/commands/context7.ts +202 -0
  87. package/.allhands/harness/src/commands/docs.ts +557 -0
  88. package/.allhands/harness/src/commands/hooks.ts +24 -0
  89. package/.allhands/harness/src/commands/index.ts +51 -0
  90. package/.allhands/harness/src/commands/knowledge.ts +382 -0
  91. package/.allhands/harness/src/commands/memories.ts +302 -0
  92. package/.allhands/harness/src/commands/notify.ts +61 -0
  93. package/.allhands/harness/src/commands/oracle.ts +158 -0
  94. package/.allhands/harness/src/commands/perplexity.ts +220 -0
  95. package/.allhands/harness/src/commands/planning.ts +245 -0
  96. package/.allhands/harness/src/commands/schema.ts +73 -0
  97. package/.allhands/harness/src/commands/skills.ts +128 -0
  98. package/.allhands/harness/src/commands/solutions.ts +353 -0
  99. package/.allhands/harness/src/commands/spawn.ts +158 -0
  100. package/.allhands/harness/src/commands/specs.ts +532 -0
  101. package/.allhands/harness/src/commands/tavily.ts +226 -0
  102. package/.allhands/harness/src/commands/tools.ts +579 -0
  103. package/.allhands/harness/src/commands/trace.ts +327 -0
  104. package/.allhands/harness/src/commands/tui.ts +960 -0
  105. package/.allhands/harness/src/commands/validate.ts +143 -0
  106. package/.allhands/harness/src/commands/validation-tools.ts +108 -0
  107. package/.allhands/harness/src/hooks/context.ts +1442 -0
  108. package/.allhands/harness/src/hooks/enforcement.ts +170 -0
  109. package/.allhands/harness/src/hooks/index.ts +54 -0
  110. package/.allhands/harness/src/hooks/lifecycle.ts +229 -0
  111. package/.allhands/harness/src/hooks/notification.ts +104 -0
  112. package/.allhands/harness/src/hooks/observability.ts +551 -0
  113. package/.allhands/harness/src/hooks/session.ts +88 -0
  114. package/.allhands/harness/src/hooks/shared.ts +815 -0
  115. package/.allhands/harness/src/hooks/transcript-parser.ts +208 -0
  116. package/.allhands/harness/src/hooks/validation.ts +617 -0
  117. package/.allhands/harness/src/lib/__tests__/ctags.test.ts +244 -0
  118. package/.allhands/harness/src/lib/__tests__/docs-validation.test.ts +344 -0
  119. package/.allhands/harness/src/lib/__tests__/mcp-runtime.test.ts +190 -0
  120. package/.allhands/harness/src/lib/__tests__/schema.test.ts +861 -0
  121. package/.allhands/harness/src/lib/base-command.ts +198 -0
  122. package/.allhands/harness/src/lib/cli-daemon.ts +343 -0
  123. package/.allhands/harness/src/lib/compaction.ts +313 -0
  124. package/.allhands/harness/src/lib/ctags.ts +497 -0
  125. package/.allhands/harness/src/lib/docs-validation.ts +907 -0
  126. package/.allhands/harness/src/lib/event-loop.ts +662 -0
  127. package/.allhands/harness/src/lib/flows.ts +155 -0
  128. package/.allhands/harness/src/lib/git.ts +276 -0
  129. package/.allhands/harness/src/lib/knowledge-worker.ts +72 -0
  130. package/.allhands/harness/src/lib/knowledge.ts +810 -0
  131. package/.allhands/harness/src/lib/llm.ts +255 -0
  132. package/.allhands/harness/src/lib/mcp-client.ts +432 -0
  133. package/.allhands/harness/src/lib/mcp-daemon.ts +486 -0
  134. package/.allhands/harness/src/lib/mcp-runtime.ts +418 -0
  135. package/.allhands/harness/src/lib/notification.ts +115 -0
  136. package/.allhands/harness/src/lib/opencode/index.ts +70 -0
  137. package/.allhands/harness/src/lib/opencode/profiles.ts +300 -0
  138. package/.allhands/harness/src/lib/opencode/prompts/codesearch.md +98 -0
  139. package/.allhands/harness/src/lib/opencode/prompts/knowledge-aggregator.md +67 -0
  140. package/.allhands/harness/src/lib/opencode/runner.ts +281 -0
  141. package/.allhands/harness/src/lib/oracle.ts +926 -0
  142. package/.allhands/harness/src/lib/planning-utils.ts +150 -0
  143. package/.allhands/harness/src/lib/planning.ts +605 -0
  144. package/.allhands/harness/src/lib/pr-review.ts +225 -0
  145. package/.allhands/harness/src/lib/prompts.ts +522 -0
  146. package/.allhands/harness/src/lib/schema.ts +418 -0
  147. package/.allhands/harness/src/lib/schemas/agent-profile.ts +141 -0
  148. package/.allhands/harness/src/lib/schemas/template-vars.ts +138 -0
  149. package/.allhands/harness/src/lib/session.ts +164 -0
  150. package/.allhands/harness/src/lib/specs.ts +348 -0
  151. package/.allhands/harness/src/lib/tldr.ts +829 -0
  152. package/.allhands/harness/src/lib/tmux.ts +1051 -0
  153. package/.allhands/harness/src/lib/trace-store.ts +714 -0
  154. package/.allhands/harness/src/mcp/__tests__/index.test.ts +46 -0
  155. package/.allhands/harness/src/mcp/_template.ts +47 -0
  156. package/.allhands/harness/src/mcp/filesystem.ts +33 -0
  157. package/.allhands/harness/src/mcp/index.ts +69 -0
  158. package/.allhands/harness/src/mcp/playwright.ts +34 -0
  159. package/.allhands/harness/src/mcp/xcodebuild.ts +29 -0
  160. package/.allhands/harness/src/schemas/docs.schema.json +44 -0
  161. package/.allhands/harness/src/schemas/settings.schema.json +214 -0
  162. package/.allhands/harness/src/tui/actions.ts +227 -0
  163. package/.allhands/harness/src/tui/file-viewer-modal.ts +270 -0
  164. package/.allhands/harness/src/tui/index.ts +1574 -0
  165. package/.allhands/harness/src/tui/modal.ts +232 -0
  166. package/.allhands/harness/src/tui/prompts-pane.ts +186 -0
  167. package/.allhands/harness/src/tui/status-pane.ts +434 -0
  168. package/.allhands/harness/tsconfig.json +22 -0
  169. package/.allhands/harness/vitest.config.ts +13 -0
  170. package/.allhands/pillars.md +33 -0
  171. package/.allhands/principles.md +88 -0
  172. package/.allhands/schemas/alignment.yaml +51 -0
  173. package/.allhands/schemas/documentation.yaml +10 -0
  174. package/.allhands/schemas/prompt.yaml +92 -0
  175. package/.allhands/schemas/skill.yaml +34 -0
  176. package/.allhands/schemas/solution.yaml +131 -0
  177. package/.allhands/schemas/spec.yaml +67 -0
  178. package/.allhands/schemas/validation-suite.yaml +49 -0
  179. package/.allhands/schemas/workflow.yaml +51 -0
  180. package/.allhands/settings.json +57 -0
  181. package/.allhands/skills/claude-code-patterns/SKILL.md +60 -0
  182. package/.allhands/skills/claude-code-patterns/docs/context-hygiene.md +19 -0
  183. package/.allhands/skills/harness-maintenance/SKILL.md +449 -0
  184. package/.allhands/skills/harness-maintenance/references/core-architecture.md +187 -0
  185. package/.allhands/skills/harness-maintenance/references/harness-skills.md +87 -0
  186. package/.allhands/skills/harness-maintenance/references/knowledge-compounding.md +78 -0
  187. package/.allhands/skills/harness-maintenance/references/tools-commands-mcp-hooks.md +115 -0
  188. package/.allhands/skills/harness-maintenance/references/validation-tooling.md +77 -0
  189. package/.allhands/skills/harness-maintenance/references/writing-flows.md +84 -0
  190. package/.allhands/validation/browser-automation.md +109 -0
  191. package/.allhands/validation/xcode-automation.md +195 -0
  192. package/.allhands/workflows/documentation.md +86 -0
  193. package/.allhands/workflows/investigation.md +81 -0
  194. package/.allhands/workflows/milestone.md +91 -0
  195. package/.allhands/workflows/optimization.md +85 -0
  196. package/.allhands/workflows/refactor.md +99 -0
  197. package/.allhands/workflows/triage.md +81 -0
  198. package/.claude/README.md +1 -0
  199. package/.claude/agents/explorer.md +10 -0
  200. package/.claude/agents/researcher.md +11 -0
  201. package/.claude/agents/task-runner.md +8 -0
  202. package/.claude/settings.json +231 -0
  203. package/.env.ai.example +7 -0
  204. package/.github/workflows/npm-publish.yml +69 -0
  205. package/.internal.json +45 -0
  206. package/.tldr/config.json +11 -0
  207. package/.tldrignore +90 -0
  208. package/CLAUDE.md +6 -0
  209. package/README.md +98 -0
  210. package/bin/sync-cli.js +7552 -0
  211. package/concerns.md +7 -0
  212. package/docs/README.md +41 -0
  213. package/docs/agents/README.md +24 -0
  214. package/docs/agents/agent-configuration-system.md +86 -0
  215. package/docs/agents/execution-agents.md +50 -0
  216. package/docs/agents/knowledge-agents.md +61 -0
  217. package/docs/agents/orchestration-agent.md +57 -0
  218. package/docs/agents/planning-agents.md +84 -0
  219. package/docs/agents/quality-review-agents.md +67 -0
  220. package/docs/agents/workflow-agent-orchestration.md +69 -0
  221. package/docs/flows/README.md +44 -0
  222. package/docs/flows/compounding.md +126 -0
  223. package/docs/flows/coordination.md +72 -0
  224. package/docs/flows/core-harness-integration.md +63 -0
  225. package/docs/flows/documentation-orchestration.md +98 -0
  226. package/docs/flows/e2e-test-plan-building.md +83 -0
  227. package/docs/flows/emergent-refinement.md +104 -0
  228. package/docs/flows/flow-authoring-and-mcp-tools.md +89 -0
  229. package/docs/flows/judge-reviewing.md +112 -0
  230. package/docs/flows/plan-deepening-and-research.md +107 -0
  231. package/docs/flows/plan-review-jury.md +114 -0
  232. package/docs/flows/pr-reviewing.md +54 -0
  233. package/docs/flows/prompt-task-execution.md +119 -0
  234. package/docs/flows/spec-planning.md +162 -0
  235. package/docs/flows/type-specific-scoping-flows.md +49 -0
  236. package/docs/flows/validation-and-skills-integration.md +145 -0
  237. package/docs/flows/wip/wip-flows.md +102 -0
  238. package/docs/harness/README.md +23 -0
  239. package/docs/harness/agent-profiles.md +84 -0
  240. package/docs/harness/cli/README.md +24 -0
  241. package/docs/harness/cli/cli-entry-and-command-discovery.md +91 -0
  242. package/docs/harness/cli/docs-command.md +87 -0
  243. package/docs/harness/cli/knowledge-command.md +91 -0
  244. package/docs/harness/cli/minor-cli-commands.md +65 -0
  245. package/docs/harness/cli/oracle-command.md +113 -0
  246. package/docs/harness/cli/planning-command.md +95 -0
  247. package/docs/harness/cli/schema-and-validation-commands.md +154 -0
  248. package/docs/harness/cli/search-commands.md +97 -0
  249. package/docs/harness/cli/spawn-command.md +136 -0
  250. package/docs/harness/cli/specs-command.md +102 -0
  251. package/docs/harness/cli/tools-command.md +122 -0
  252. package/docs/harness/cli/trace-command.md +122 -0
  253. package/docs/harness/cli-daemon.md +92 -0
  254. package/docs/harness/event-loop.md +184 -0
  255. package/docs/harness/hooks/README.md +15 -0
  256. package/docs/harness/hooks/context-hooks.md +96 -0
  257. package/docs/harness/hooks/lifecycle-and-observability-hooks.md +135 -0
  258. package/docs/harness/hooks/validation-hooks.md +97 -0
  259. package/docs/harness/test-harness.md +149 -0
  260. package/docs/harness/tui.md +176 -0
  261. package/docs/memories.md +20 -0
  262. package/docs/solutions/agentic-issues/premature-agent-deletion-tui-action-dependency-20260130.md +49 -0
  263. package/docs/solutions/agentic-issues/ref-anchor-scope-mismatch-skill-references-20260131.md +55 -0
  264. package/docs/solutions/agentic-issues/tautological-tests-routing-20260131.md +52 -0
  265. package/docs/solutions/integration_issue/blocktool-output-format-mismatch-hook-runner-20260130.md +52 -0
  266. package/docs/solutions/integration_issue/dual-validation-path-divergence-schema-20260130.md +66 -0
  267. package/docs/solutions/security-issues/unsanitized-domain-path-join-20260131.md +52 -0
  268. package/docs/solutions/test-failures/event-loop-mock-ordering-checkAgentWindows-20260130.md +63 -0
  269. package/docs/sync-cli/README.md +19 -0
  270. package/docs/sync-cli/cli-entrypoint-and-commands.md +39 -0
  271. package/docs/sync-cli/commands/README.md +11 -0
  272. package/docs/sync-cli/commands/pull-manifest-command.md +36 -0
  273. package/docs/sync-cli/commands/push-command.md +84 -0
  274. package/docs/sync-cli/commands/sync-command.md +71 -0
  275. package/docs/sync-cli/systems/README.md +14 -0
  276. package/docs/sync-cli/systems/git-and-github-integration.md +49 -0
  277. package/docs/sync-cli/systems/interactive-ui.md +43 -0
  278. package/docs/sync-cli/systems/manifest-and-distribution.md +51 -0
  279. package/docs/sync-cli/systems/path-resolution.md +42 -0
  280. package/package.json +46 -0
  281. package/scripts/install-shim.sh +40 -0
  282. package/scripts/pre-pack.sh +25 -0
  283. package/specs/harness-maintenance-skill.spec.md +138 -0
  284. package/specs/roadmap/git-spec-lifecycle-management.spec.md +113 -0
  285. package/specs/sync-init-flag.spec.md +117 -0
  286. package/specs/unified-workflow-orchestration.spec.md +250 -0
  287. package/specs/validation-tooling-practice.spec.md +98 -0
  288. package/specs/workflow-domain-configuration.spec.md +265 -0
  289. package/src/commands/pull-manifest.ts +31 -0
  290. package/src/commands/push.ts +344 -0
  291. package/src/commands/sync.ts +289 -0
  292. package/src/lib/constants.ts +10 -0
  293. package/src/lib/dotfiles.ts +36 -0
  294. package/src/lib/fs-utils.ts +18 -0
  295. package/src/lib/gh.ts +40 -0
  296. package/src/lib/git.ts +63 -0
  297. package/src/lib/gitignore.ts +167 -0
  298. package/src/lib/manifest.ts +121 -0
  299. package/src/lib/marker-sync.ts +39 -0
  300. package/src/lib/paths.ts +38 -0
  301. package/src/lib/target-lines.ts +66 -0
  302. package/src/lib/ui.ts +78 -0
  303. package/src/sync-cli.ts +120 -0
  304. package/target-lines.json +23 -0
  305. package/tsconfig.json +20 -0
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: triage
3
+ type: triage
4
+ planning_depth: focused
5
+ jury_required: false
6
+ max_tangential_hypotheses: 1
7
+ required_ideation_questions:
8
+ - "Describe the external signals"
9
+ - "What's the impact and urgency?"
10
+ - "What outcome do you need?"
11
+ ---
12
+
13
+ ## Domain Knowledge
14
+
15
+ ### External Signal Vocabulary
16
+
17
+ Triage specs are driven by external signals that demand attention. Signal types to surface and categorize:
18
+
19
+ | Signal Type | Examples |
20
+ |-------------|----------|
21
+ | **Error reports** | Stack traces, crash reports, error rate spikes |
22
+ | **Analytics anomalies** | Conversion drops, usage pattern shifts, funnel breakdowns |
23
+ | **Support tickets** | User complaints, feature requests, confusion patterns |
24
+ | **Alerts** | Monitoring alerts, SLA breaches, resource exhaustion warnings |
25
+
26
+ > **Note**: Full external source integration (PostHog, Sentry, PagerDuty) is deferred. This domain uses manually provided signal data.
27
+
28
+ ### Impact/Urgency Framework
29
+
30
+ Triage prioritization is grounded in impact and urgency dimensions:
31
+
32
+ | Dimension | Factors |
33
+ |-----------|---------|
34
+ | **Users affected** | Single user, subset, all users, public-facing |
35
+ | **Revenue impact** | Direct revenue loss, conversion impact, churn risk |
36
+ | **SLA risk** | Uptime commitments, response time guarantees, contractual obligations |
37
+ | **Escalation trajectory** | Getting worse, stable, intermittent |
38
+
39
+ ### Outcome Taxonomy
40
+
41
+ Triage outcomes range from diagnosis to action:
42
+
43
+ | Outcome | Description |
44
+ |---------|-------------|
45
+ | **Root cause identification** | Diagnose the issue, document findings |
46
+ | **Hotfix** | Ship a targeted fix for the immediate problem |
47
+ | **Incident report** | Document what happened, impact, and prevention |
48
+ | **Escalation** | Route to appropriate team or priority queue |
49
+
50
+ ## Ideation Guidance
51
+
52
+ Per **Context is Precious**, triage needs external data to ground decisions in reality. The interview captures signal data that would otherwise require tool integration.
53
+
54
+ ### Probe Guidance
55
+
56
+ - Probe vague signal descriptions — demand specific error messages, metrics, or user reports
57
+ - Distinguish urgency from importance — time-sensitive vs high-impact may require different approaches
58
+
59
+ ### Output Sections
60
+
61
+ Spec body sections for triage domain:
62
+ - **Motivation**: External signals and their impact
63
+ - **Goals**: Desired triage outcome
64
+ - **Technical Considerations**: Manually provided signal data
65
+
66
+ ## Planning Considerations
67
+
68
+ ### External Signal Integration (Deferred)
69
+
70
+ Full integration with external signal sources (PostHog, Sentry, PagerDuty) is deferred to a future spec. Current planning relies on engineer-provided signal data.
71
+
72
+ ### Urgency-Driven Prioritization
73
+
74
+ Triage planning should be urgency-aware:
75
+ - High urgency signals may require immediate hotfix prompts before diagnosis
76
+ - Lower urgency allows for thorough investigation-style planning
77
+ - Escalation trajectory informs whether the triage can be methodical or must be rapid
78
+
79
+ ### Prompt Output Range
80
+
81
+ Triage specs produce 1-3 focused prompts. Triage is inherently rapid — minimal prompts with clear outcomes.
@@ -0,0 +1 @@
1
+ These claude agents are included in order to prevent the default claude agents from being used, prefering these to be run that tightly align with the harness flows.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: explorer
3
+ description: Must use for codebase exploration tasks. Fast, read-only codebase exploration agent. Use for file discovery, code search, understanding implementations, finding patterns, and gathering context. MUST USE INSTEAD OF THE DEFAULT CLAUDE EXPLORER AGENT.
4
+ tools: Read, Glob, Grep, Bash, LSP
5
+ model: opus
6
+ color: green
7
+ ---
8
+
9
+ You MUST follow the rules in:
10
+ @.allhands/flows/shared/CODEBASE_UNDERSTANDING.md
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: researcher
3
+ description: |
4
+ External research specialist with web search capability. Use for ANY external information gathering: API docs, library documentation, best practices, implementation patterns, external URLs. Cannot implement - discovery only.
5
+ tools: Read, Glob, Grep, Bash
6
+ model: opus
7
+ color: blue
8
+ ---
9
+
10
+ You MUST follow the rules in:
11
+ @.allhands/flows/shared/RESEARCH_GUIDANCE.md
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: task-runner
3
+ description: Must use when spawning a sub-task requiring a read to a flow md file.
4
+ model: opus
5
+ color: yellow
6
+ ---
7
+
8
+ Read and follow the instructions in the flow md file provided. Output concisely and to the point, ensuring to include everything requested of you.
@@ -0,0 +1,231 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "matcher": "*",
7
+ "hooks": [
8
+ {
9
+ "type": "command",
10
+ "command": "ah hooks observability session-start"
11
+ },
12
+ {
13
+ "type": "command",
14
+ "command": "ah hooks session tldr-warm"
15
+ }
16
+ ]
17
+ }
18
+ ],
19
+ "UserPromptSubmit": [
20
+ {
21
+ "matcher": "*",
22
+ "hooks": [
23
+ {
24
+ "type": "command",
25
+ "command": "ah hooks observability prompt-submit"
26
+ },
27
+ {
28
+ "type": "command",
29
+ "command": "ah hooks context impact-refactor",
30
+ "timeout": 10
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "PreToolUse": [
36
+ {
37
+ "matcher": "(Task|Bash|Write|Edit|AskUserQuestion|EnterPlanMode|ExitPlanMode|LSP)",
38
+ "hooks": [
39
+ {
40
+ "type": "command",
41
+ "command": "ah hooks observability tool-pre"
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "matcher": "Grep",
47
+ "hooks": [
48
+ {
49
+ "type": "command",
50
+ "command": "ah hooks context search-router"
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ "matcher": "Edit",
56
+ "hooks": [
57
+ {
58
+ "type": "command",
59
+ "command": "ah hooks context signature"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "matcher": "(WebFetch|Bash)",
65
+ "hooks": [
66
+ {
67
+ "type": "command",
68
+ "command": "ah hooks enforcement github-url"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "matcher": "WebFetch",
74
+ "hooks": [
75
+ {
76
+ "type": "command",
77
+ "command": "ah hooks enforcement research-fetch"
78
+ }
79
+ ]
80
+ },
81
+ {
82
+ "matcher": "WebSearch",
83
+ "hooks": [
84
+ {
85
+ "type": "command",
86
+ "command": "ah hooks enforcement research-search"
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "matcher": "Task",
92
+ "hooks": [
93
+ {
94
+ "type": "command",
95
+ "command": "ah hooks context tldr-inject"
96
+ },
97
+ {
98
+ "type": "command",
99
+ "command": "ah hooks context arch-inject"
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "matcher": "Read",
105
+ "hooks": [
106
+ {
107
+ "type": "command",
108
+ "command": "ah hooks context read-enforcer",
109
+ "timeout": 20
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "matcher": "(Write|Edit)",
115
+ "hooks": [
116
+ {
117
+ "type": "command",
118
+ "command": "ah hooks validation schema-pre"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "matcher": "TaskOutput",
124
+ "hooks": [
125
+ {
126
+ "type": "command",
127
+ "command": "ah hooks context transcript-safeguard-pre",
128
+ "timeout": 90
129
+ }
130
+ ]
131
+ }
132
+ ],
133
+ "PostToolUse": [
134
+ {
135
+ "matcher": "(Task|Bash|Write|Edit)",
136
+ "hooks": [
137
+ {
138
+ "type": "command",
139
+ "command": "ah hooks observability tool-post"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "matcher": "(Write|Edit)",
145
+ "hooks": [
146
+ {
147
+ "type": "command",
148
+ "command": "ah hooks validation diagnostics"
149
+ },
150
+ {
151
+ "type": "command",
152
+ "command": "ah hooks validation format"
153
+ },
154
+ {
155
+ "type": "command",
156
+ "command": "ah hooks context edit-notify"
157
+ }
158
+ ]
159
+ }
160
+ ],
161
+ "PostToolUseFailure": [
162
+ {
163
+ "matcher": "*",
164
+ "hooks": [
165
+ {
166
+ "type": "command",
167
+ "command": "ah hooks observability tool-failure"
168
+ }
169
+ ]
170
+ }
171
+ ],
172
+ "Stop": [
173
+ {
174
+ "matcher": "*",
175
+ "hooks": [
176
+ {
177
+ "type": "command",
178
+ "command": "ah hooks observability agent-stop"
179
+ },
180
+ {
181
+ "type": "command",
182
+ "command": "DISABLE_DAEMON=true ah hooks lifecycle agent-stop"
183
+ }
184
+ ]
185
+ }
186
+ ],
187
+ "SessionEnd": [
188
+ {
189
+ "matcher": "*",
190
+ "hooks": [
191
+ {
192
+ "type": "command",
193
+ "command": "DISABLE_DAEMON=true ah hooks lifecycle agent-stop"
194
+ }
195
+ ]
196
+ }
197
+ ],
198
+ "PreCompact": [
199
+ {
200
+ "matcher": "*",
201
+ "hooks": [
202
+ {
203
+ "type": "command",
204
+ "command": "ah hooks observability agent-compact"
205
+ },
206
+ {
207
+ "type": "command",
208
+ "command": "DISABLE_DAEMON=true ah hooks lifecycle agent-compact"
209
+ }
210
+ ]
211
+ }
212
+ ]
213
+ },
214
+ "env": {
215
+ "ENABLE_LSP_TOOL": "1"
216
+ },
217
+ "permissions": {
218
+ "deny": [
219
+ "Task(claude-code-guide)",
220
+ "Task(Plan)",
221
+ "Task(Explore)"
222
+ ],
223
+ "ask": []
224
+ },
225
+ "enableAllProjectMcpServers": false,
226
+ "enabledPlugins": {
227
+ "typescript-lsp@claude-plugins-official": true,
228
+ "pyright-lsp@claude-plugins-official": true,
229
+ "swift-lsp@claude-plugins-official": true
230
+ }
231
+ }
@@ -0,0 +1,7 @@
1
+ # claude-envoy API keys
2
+ PERPLEXITY_API_KEY=
3
+ TAVILY_API_KEY=
4
+ GEMINI_API_KEY=
5
+ XAI_API_KEY=
6
+ CONTEXT7_API_KEY=
7
+ OPENAI_API_KEY=
@@ -0,0 +1,69 @@
1
+ name: Publish Package
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ id-token: write # Required for OIDC
10
+ contents: write # Required for pushing version bump
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ token: ${{ secrets.GITHUB_TOKEN }}
19
+
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: '20'
23
+ registry-url: 'https://registry.npmjs.org'
24
+
25
+ - name: Update npm
26
+ run: npm install -g npm@latest
27
+
28
+ - run: npm ci
29
+
30
+ - name: Ensure version is higher than published
31
+ run: |
32
+ CURRENT=$(node -p "require('./package.json').version")
33
+ LATEST=$(npm view all-hands version 2>/dev/null || echo "0.0.0")
34
+
35
+ # Compare versions using node
36
+ NEEDS_BUMP=$(node -e "
37
+ const current = '$CURRENT'.split('.').map(Number);
38
+ const latest = '$LATEST'.split('.').map(Number);
39
+ const needsBump = current[0] < latest[0] ||
40
+ (current[0] === latest[0] && current[1] < latest[1]) ||
41
+ (current[0] === latest[0] && current[1] === latest[1] && current[2] <= latest[2]);
42
+ console.log(needsBump ? 'true' : 'false');
43
+ ")
44
+
45
+ if [ "$NEEDS_BUMP" = "true" ]; then
46
+ echo "Local $CURRENT <= published $LATEST, bumping to patch above $LATEST..."
47
+ npm version $LATEST --no-git-tag-version --allow-same-version
48
+ npm version patch --no-git-tag-version
49
+ echo "BUMPED=true" >> $GITHUB_ENV
50
+ fi
51
+
52
+ - run: npm run build --if-present
53
+
54
+ - name: Rename dotfiles for npm pack
55
+ run: ./scripts/pre-pack.sh
56
+
57
+ - name: Publish to npm
58
+ run: npm publish
59
+ env:
60
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
61
+
62
+ - name: Push version bump
63
+ if: env.BUMPED == 'true'
64
+ run: |
65
+ git config user.name "github-actions[bot]"
66
+ git config user.email "github-actions[bot]@users.noreply.github.com"
67
+ git add package.json package-lock.json
68
+ git commit -m "chore: bump version"
69
+ git push
package/.internal.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "$comment": "Files explicitly withheld from distribution to consumer repos",
3
+ "internal": [
4
+ "src/**",
5
+ "bin/**",
6
+ "tsconfig.json",
7
+ "scripts/**",
8
+ ".internal.json",
9
+ ".github/**",
10
+ ".gitignore",
11
+ ".tldrignore",
12
+ "docs/**",
13
+ "README.md",
14
+ "CLAUDE.md",
15
+ "package.json",
16
+ "package-lock.json",
17
+ ".env.ai.example",
18
+ ".planning/**",
19
+ ".worktree/**",
20
+ "principles.md",
21
+ ".allhands/node_modules/**",
22
+ ".allhands/package-lock.json",
23
+ ".claude/envoy/**",
24
+ ".claude/backup-skills/**",
25
+ ".claude/settings.local.json",
26
+ ".git/**",
27
+ "scripts/**",
28
+ "target-lines.json",
29
+ ".reposearch/**",
30
+ "concerns.md",
31
+ "specs/**",
32
+ ".allhands/docs.local.json"
33
+ ],
34
+ "initOnly": [
35
+ ".allhands/skills/**",
36
+ "!.allhands/skills/claude-code-patterns/**",
37
+ "!.allhands/skills/harness-maintenance/**",
38
+ ".allhands/validation/**",
39
+ ".allhands/settings.json",
40
+ ".allhands/docs.json",
41
+ ".tldr/config.json",
42
+ ".claude/settings.json"
43
+ ],
44
+ "$distribution_comment": "What DOES get distributed: .allhands/ (flows, harness, agents, skills, schemas, validation), .claude/ (agents)"
45
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "semantic": {
3
+ "enabled": true,
4
+ "auto_reindex_threshold": 20,
5
+ "model": "bge-large-en-v1.5",
6
+ "default_language": "all"
7
+ },
8
+ "warm": {
9
+ "default_language": "all"
10
+ }
11
+ }
package/.tldrignore ADDED
@@ -0,0 +1,90 @@
1
+ # TLDR ignore patterns (gitignore syntax)
2
+ # Auto-generated - review and customize for your project
3
+ # Docs: https://git-scm.com/docs/gitignore
4
+
5
+ # ===================
6
+ # Dependencies
7
+ # ===================
8
+ node_modules/
9
+ .venv/
10
+ venv/
11
+ env/
12
+ __pycache__/
13
+ .tox/
14
+ .nox/
15
+ .pytest_cache/
16
+ .mypy_cache/
17
+ .ruff_cache/
18
+ vendor/
19
+ Pods/
20
+
21
+ # ===================
22
+ # Build outputs
23
+ # ===================
24
+ dist/
25
+ build/
26
+ out/
27
+ target/
28
+ *.egg-info/
29
+ *.whl
30
+ *.pyc
31
+ *.pyo
32
+
33
+ # ===================
34
+ # Binary/large files
35
+ # ===================
36
+ *.so
37
+ *.dylib
38
+ *.dll
39
+ *.exe
40
+ *.bin
41
+ *.o
42
+ *.a
43
+ *.lib
44
+
45
+ # ===================
46
+ # IDE/editors
47
+ # ===================
48
+ .idea/
49
+ .vscode/
50
+ *.swp
51
+ *.swo
52
+ *~
53
+
54
+ # ===================
55
+ # Security (always exclude)
56
+ # ===================
57
+ .env
58
+ .env.*
59
+ *.pem
60
+ *.key
61
+ *.p12
62
+ *.pfx
63
+ credentials.*
64
+ secrets.*
65
+
66
+ # ===================
67
+ # Version control
68
+ # ===================
69
+ .git/
70
+ .hg/
71
+ .svn/
72
+
73
+ # ===================
74
+ # OS files
75
+ # ===================
76
+ .DS_Store
77
+ Thumbs.db
78
+
79
+ # ===================
80
+ # Project-specific
81
+ # Add your custom patterns below
82
+ # ===================
83
+ # large_test_fixtures/
84
+ # data/
85
+ bin/
86
+
87
+ .reposearch/
88
+ dist
89
+ .planning/
90
+
package/CLAUDE.md ADDED
@@ -0,0 +1,6 @@
1
+ @.allhands/flows/CORE.md
2
+
3
+ When debugging .allhands , use the ah trace --help command for the tools to investigate the trace entries.
4
+
5
+ When modifying ANY `.allhands/` files, discover the `harness-maintenance` skill via `ah skills list` and follow its routing table for domain-specific guidance.
6
+
package/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # All Hands CLI
2
+
3
+ Internal CLI for the All Hands agentic harness.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ cd .allhands/harness
9
+ npm install
10
+ ```
11
+
12
+ The `ah` command is automatically installed to `~/.local/bin/ah` when you run `npx all-hands init`. This shim finds and executes the project-local `.allhands/harness/ah` from any subdirectory.
13
+
14
+ For local development, copy the shim to your PATH:
15
+ ```bash
16
+ cp .allhands/harness/ah ~/.local/bin/ah
17
+ ```
18
+
19
+ ### Universal Ctags (for `ah docs` command)
20
+
21
+ ```bash
22
+ # macOS
23
+ brew install universal-ctags
24
+
25
+ # Ubuntu/Debian
26
+ sudo apt install universal-ctags
27
+ ```
28
+
29
+ ### AST-grep (for advanced code search)
30
+
31
+ ```bash
32
+ # macOS
33
+ brew install ast-grep
34
+
35
+ # cargo
36
+ cargo install ast-grep --locked
37
+ ```
38
+
39
+ ### Desktop Notifications (macOS)
40
+
41
+ ```bash
42
+ brew install --cask notifier
43
+ ```
44
+
45
+ ## Language Servers (for LSP tool)
46
+
47
+ ```bash
48
+ npm install -g typescript-language-server typescript pyright
49
+ brew install swift
50
+ ```
51
+
52
+ ## Environment Variables
53
+
54
+ Check `.env.ai.example` for what you should populate `.env.ai` with.
55
+
56
+
57
+ ## Quick Start
58
+
59
+ ```bash
60
+ ah <command>
61
+ ```
62
+
63
+ The `ah` command works from any directory within an all-hands project.
64
+
65
+
66
+ ## Syncing to Target Repos
67
+
68
+ The `sync` command distributes harness files from this repo to target repositories:
69
+
70
+ ```bash
71
+ ah sync /path/to/target-repo
72
+ ```
73
+
74
+ By default, sync preserves configuration files that target repos customize (settings, hooks, validation suites). These "init-only" files are only included during first-time setup or when explicitly requested.
75
+
76
+ ### The `--init` Flag
77
+
78
+ Use `--init` to include init-only files — configuration defaults like `docs.json` that are normally withheld to avoid overwriting target-repo customizations:
79
+
80
+ ```bash
81
+ # First-time setup — include all defaults
82
+ ah sync /path/to/target-repo --init
83
+
84
+ # Regular update — preserves target-repo configuration
85
+ ah sync /path/to/target-repo
86
+ ```
87
+
88
+ Use `--init` when setting up a new repo or resetting configuration to harness defaults. Omit it for routine updates. See `ah sync --help` for full options.
89
+
90
+ ## Project Settings
91
+
92
+ Project-specific configuration lives in `.allhands/settings.json`:
93
+
94
+ ```json
95
+ {
96
+ "$schema": "./harness/src/schemas/settings.schema.json",
97
+ }
98
+ ```