@chinhae/atw-cli 0.5.0 → 0.7.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 (257) hide show
  1. package/README.md +128 -451
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +24 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/channel/adapters/claude.d.ts +44 -2
  6. package/dist/commands/channel/adapters/claude.d.ts.map +1 -1
  7. package/dist/commands/channel/adapters/claude.js +124 -23
  8. package/dist/commands/channel/adapters/claude.js.map +1 -1
  9. package/dist/commands/channel/adapters/codex.d.ts +36 -6
  10. package/dist/commands/channel/adapters/codex.d.ts.map +1 -1
  11. package/dist/commands/channel/adapters/codex.js +150 -10
  12. package/dist/commands/channel/adapters/codex.js.map +1 -1
  13. package/dist/commands/channel/adapters/index.d.ts +33 -4
  14. package/dist/commands/channel/adapters/index.d.ts.map +1 -1
  15. package/dist/commands/channel/adapters/index.js +159 -6
  16. package/dist/commands/channel/adapters/index.js.map +1 -1
  17. package/dist/commands/channel/adapters/omp.d.ts +106 -0
  18. package/dist/commands/channel/adapters/omp.d.ts.map +1 -0
  19. package/dist/commands/channel/adapters/omp.js +405 -0
  20. package/dist/commands/channel/adapters/omp.js.map +1 -0
  21. package/dist/commands/channel/adapters/pi.d.ts +123 -0
  22. package/dist/commands/channel/adapters/pi.d.ts.map +1 -0
  23. package/dist/commands/channel/adapters/pi.js +387 -0
  24. package/dist/commands/channel/adapters/pi.js.map +1 -0
  25. package/dist/commands/channel/adapters/types.d.ts +16 -0
  26. package/dist/commands/channel/adapters/types.d.ts.map +1 -1
  27. package/dist/commands/channel/agent-loader.d.ts +1 -0
  28. package/dist/commands/channel/agent-loader.d.ts.map +1 -1
  29. package/dist/commands/channel/agent-loader.js +45 -5
  30. package/dist/commands/channel/agent-loader.js.map +1 -1
  31. package/dist/commands/channel/dev-parse-trace.d.ts +1 -1
  32. package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -1
  33. package/dist/commands/channel/dev-parse-trace.js +25 -2
  34. package/dist/commands/channel/dev-parse-trace.js.map +1 -1
  35. package/dist/commands/channel/index.d.ts.map +1 -1
  36. package/dist/commands/channel/index.js +44 -12
  37. package/dist/commands/channel/index.js.map +1 -1
  38. package/dist/commands/channel/run.d.ts +39 -2
  39. package/dist/commands/channel/run.d.ts.map +1 -1
  40. package/dist/commands/channel/run.js +227 -68
  41. package/dist/commands/channel/run.js.map +1 -1
  42. package/dist/commands/channel/spawn.d.ts +7 -2
  43. package/dist/commands/channel/spawn.d.ts.map +1 -1
  44. package/dist/commands/channel/spawn.js +35 -1
  45. package/dist/commands/channel/spawn.js.map +1 -1
  46. package/dist/commands/channel/store/events.d.ts +2 -2
  47. package/dist/commands/channel/store/events.d.ts.map +1 -1
  48. package/dist/commands/channel/store/events.js +1 -1
  49. package/dist/commands/channel/store/events.js.map +1 -1
  50. package/dist/commands/channel/supervisor/shutdown.d.ts +2 -0
  51. package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -1
  52. package/dist/commands/channel/supervisor/shutdown.js +6 -1
  53. package/dist/commands/channel/supervisor/shutdown.js.map +1 -1
  54. package/dist/commands/channel/supervisor.d.ts +2 -2
  55. package/dist/commands/channel/supervisor.d.ts.map +1 -1
  56. package/dist/commands/channel/supervisor.js +26 -3
  57. package/dist/commands/channel/supervisor.js.map +1 -1
  58. package/dist/commands/init.d.ts.map +1 -1
  59. package/dist/commands/init.js +6 -1
  60. package/dist/commands/init.js.map +1 -1
  61. package/dist/commands/mem.d.ts +2 -1
  62. package/dist/commands/mem.d.ts.map +1 -1
  63. package/dist/commands/mem.js +162 -13
  64. package/dist/commands/mem.js.map +1 -1
  65. package/dist/commands/mode.d.ts.map +1 -1
  66. package/dist/commands/mode.js +5 -3
  67. package/dist/commands/mode.js.map +1 -1
  68. package/dist/commands/uninstall.d.ts +5 -3
  69. package/dist/commands/uninstall.d.ts.map +1 -1
  70. package/dist/commands/uninstall.js +40 -16
  71. package/dist/commands/uninstall.js.map +1 -1
  72. package/dist/commands/update.d.ts +34 -0
  73. package/dist/commands/update.d.ts.map +1 -1
  74. package/dist/commands/update.js +209 -11
  75. package/dist/commands/update.js.map +1 -1
  76. package/dist/commands/verify.d.ts +18 -0
  77. package/dist/commands/verify.d.ts.map +1 -0
  78. package/dist/commands/verify.js +75 -0
  79. package/dist/commands/verify.js.map +1 -0
  80. package/dist/configurators/index.d.ts.map +1 -1
  81. package/dist/configurators/index.js +3 -2
  82. package/dist/configurators/index.js.map +1 -1
  83. package/dist/configurators/omp.d.ts +22 -0
  84. package/dist/configurators/omp.d.ts.map +1 -1
  85. package/dist/configurators/omp.js +101 -2
  86. package/dist/configurators/omp.js.map +1 -1
  87. package/dist/configurators/shared.d.ts.map +1 -1
  88. package/dist/configurators/shared.js +39 -7
  89. package/dist/configurators/shared.js.map +1 -1
  90. package/dist/configurators/workflow.d.ts.map +1 -1
  91. package/dist/configurators/workflow.js +5 -1
  92. package/dist/configurators/workflow.js.map +1 -1
  93. package/dist/constants/paths.d.ts +4 -0
  94. package/dist/constants/paths.d.ts.map +1 -1
  95. package/dist/constants/paths.js +4 -0
  96. package/dist/constants/paths.js.map +1 -1
  97. package/dist/migrations/manifests/0.6.0.json +442 -0
  98. package/dist/migrations/manifests/0.7.0.json +1378 -0
  99. package/dist/templates/atw/definition-of-done.md +65 -0
  100. package/dist/templates/atw/gitignore.txt +7 -0
  101. package/dist/templates/atw/index.d.ts +11 -0
  102. package/dist/templates/atw/index.d.ts.map +1 -1
  103. package/dist/templates/atw/index.js +22 -0
  104. package/dist/templates/atw/index.js.map +1 -1
  105. package/dist/templates/atw/scripts/common/active_task.py +2 -2
  106. package/dist/templates/atw/scripts/common/workflow_phase.py +33 -0
  107. package/dist/templates/atw/scripts/cross_model_review.py +3312 -0
  108. package/dist/templates/atw/scripts/decision_log.py +2002 -0
  109. package/dist/templates/atw/scripts/floor_guard.py +642 -0
  110. package/dist/templates/atw/scripts/task.py +25 -6
  111. package/dist/templates/atw/scripts/tickets.py +480 -10
  112. package/dist/templates/atw/workflow-general.md +6 -1
  113. package/dist/templates/atw/workflow.md +346 -26
  114. package/dist/templates/claude/settings.json +12 -0
  115. package/dist/templates/codex/hooks/session-start.py +2 -2
  116. package/dist/templates/common/bundled-skills/atw-askme/SKILL.md +1 -1
  117. package/dist/templates/common/bundled-skills/atw-askme-with-docs/SKILL.md +1 -1
  118. package/dist/templates/common/bundled-skills/atw-channel/SKILL.md +5 -2
  119. package/dist/templates/common/bundled-skills/atw-channel/references/command-reference.md +44 -5
  120. package/dist/templates/common/bundled-skills/atw-channel/references/progress-debugging.md +9 -0
  121. package/dist/templates/common/bundled-skills/atw-channel/references/workers.md +48 -4
  122. package/dist/templates/common/bundled-skills/atw-code-review/SKILL.md +78 -3
  123. package/dist/templates/common/bundled-skills/atw-codebase-design/SKILL.md +2 -2
  124. package/dist/templates/common/bundled-skills/atw-codebase-design/{DESIGN-IT-TWICE.md → design-it-twice.md} +3 -3
  125. package/dist/templates/common/bundled-skills/atw-cross-model-review/SKILL.md +361 -0
  126. package/dist/templates/common/bundled-skills/atw-cross-model-review/agents/openai.yaml +5 -0
  127. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/four-tiers.md +42 -0
  128. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/log-review-questions.md +38 -0
  129. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/questions.md +54 -0
  130. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/recheck-questions.md +42 -0
  131. package/dist/templates/common/bundled-skills/atw-cross-model-review/references/report-format.md +22 -0
  132. package/dist/templates/common/bundled-skills/atw-diagnosing-bugs/SKILL.md +13 -2
  133. package/dist/templates/common/bundled-skills/atw-domain-modeling/SKILL.md +2 -2
  134. package/dist/templates/common/bundled-skills/atw-handoff/SKILL.md +1 -1
  135. package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +37 -1
  136. package/dist/templates/common/bundled-skills/atw-implement-all/SKILL.md +219 -24
  137. package/dist/templates/common/bundled-skills/atw-implement-spec/SKILL.md +237 -18
  138. package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/SKILL.md +2 -2
  139. package/dist/templates/common/bundled-skills/atw-init-repo/SKILL.md +1 -1
  140. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +7 -1
  141. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +7 -1
  142. package/dist/templates/common/bundled-skills/atw-map/SKILL.md +1 -1
  143. package/dist/templates/common/bundled-skills/atw-meta/SKILL.md +1 -1
  144. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/add-project-local-conventions.md +4 -3
  145. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-skills-or-commands.md +21 -16
  146. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-task-lifecycle.md +1 -1
  147. package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/overview.md +1 -0
  148. package/dist/templates/common/bundled-skills/atw-meta/references/local-architecture/task-system.md +2 -1
  149. package/dist/templates/common/bundled-skills/atw-meta/references/platform-files/hooks-and-settings.md +1 -0
  150. package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +1 -1
  151. package/dist/templates/common/bundled-skills/atw-performance/SKILL.md +134 -0
  152. package/dist/templates/common/bundled-skills/atw-performance/agents/openai.yaml +3 -0
  153. package/dist/templates/common/bundled-skills/atw-performance/references/optimization-patterns.md +250 -0
  154. package/dist/templates/common/bundled-skills/atw-performance/references/performance-checklist.md +238 -0
  155. package/dist/templates/common/bundled-skills/atw-performance/references/performance-optimization.md +264 -0
  156. package/dist/templates/common/bundled-skills/atw-prototype/SKILL.md +3 -3
  157. package/dist/templates/common/bundled-skills/atw-prototype/{LOGIC.md → logic.md} +1 -1
  158. package/dist/templates/common/bundled-skills/atw-prototype/references/design-direction.md +91 -58
  159. package/dist/templates/common/bundled-skills/atw-prototype/references/direction-persuasion.md +25 -0
  160. package/dist/templates/common/bundled-skills/atw-prototype/references/style-explorer.md +1 -1
  161. package/dist/templates/common/bundled-skills/atw-prototype/ui.md +194 -0
  162. package/dist/templates/common/bundled-skills/atw-reflect/SKILL.md +77 -0
  163. package/dist/templates/common/bundled-skills/atw-reflect/agents/openai.yaml +5 -0
  164. package/dist/templates/common/bundled-skills/atw-reflect/references/divergent-reviewer.md +38 -0
  165. package/dist/templates/common/bundled-skills/atw-reflect/references/judgment-reviewer.md +37 -0
  166. package/dist/templates/common/bundled-skills/atw-reflect/references/synthesizer.md +63 -0
  167. package/dist/templates/common/bundled-skills/atw-reflect/references/tooling-reviewer.md +48 -0
  168. package/dist/templates/common/bundled-skills/atw-security/SKILL.md +248 -0
  169. package/dist/templates/common/bundled-skills/atw-security/agents/openai.yaml +3 -0
  170. package/dist/templates/common/bundled-skills/atw-security/references/hardening-patterns.md +324 -0
  171. package/dist/templates/common/bundled-skills/atw-security/references/security-checklist.md +248 -0
  172. package/dist/templates/common/bundled-skills/atw-session-insight/SKILL.md +1 -1
  173. package/dist/templates/common/bundled-skills/atw-session-insight/references/cli-quick-reference.md +11 -2
  174. package/dist/templates/common/bundled-skills/atw-spec/SKILL.md +1 -1
  175. package/dist/templates/common/bundled-skills/atw-tdd/SKILL.md +25 -0
  176. package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +1 -1
  177. package/dist/templates/common/bundled-skills/atw-triage/SKILL.md +5 -5
  178. package/dist/templates/common/bundled-skills/atw-ui/SKILL.md +99 -31
  179. package/dist/templates/common/bundled-skills/atw-ui/references/accessibility-checklist.md +160 -0
  180. package/dist/templates/common/bundled-skills/atw-ui/references/layout-and-viewport.md +7 -5
  181. package/dist/templates/common/bundled-skills/atw-ui/references/media.md +117 -20
  182. package/dist/templates/common/bundled-skills/atw-ui/references/motion.md +47 -23
  183. package/dist/templates/common/bundled-skills/atw-ui/references/play.md +18 -0
  184. package/dist/templates/common/bundled-skills/atw-ui/references/reviewer-manual.md +73 -0
  185. package/dist/templates/common/bundled-skills/atw-ui/references/scroll-narrative.md +98 -0
  186. package/dist/templates/common/bundled-skills/atw-ui/references/tools.md +46 -0
  187. package/dist/templates/common/bundled-skills/atw-ui/references/visual-language.md +40 -24
  188. package/dist/templates/common/bundled-skills/atw-ui/references/visual-review.md +26 -82
  189. package/dist/templates/common/bundled-skills/atw-ui/scripts/shoot.mjs +1721 -0
  190. package/dist/templates/common/bundled-skills/atw-verify-skill/SKILL.md +58 -0
  191. package/dist/templates/common/bundled-skills/atw-verify-skill/agents/openai.yaml +5 -0
  192. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/README.md +47 -0
  193. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/create-note.md +39 -0
  194. package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/search.md +45 -0
  195. package/dist/templates/common/bundled-skills/atw-verify-skill/references/generate.md +107 -0
  196. package/dist/templates/common/bundled-skills/atw-verify-skill/references/health-check.md +100 -0
  197. package/dist/templates/common/bundled-skills/atw-verify-skill/references/verify-skill-template.md +99 -0
  198. package/dist/templates/common/bundled-skills/atw-what-happened/SKILL.md +49 -0
  199. package/dist/templates/common/bundled-skills/atw-what-happened/agents/openai.yaml +5 -0
  200. package/dist/templates/common/commands/finish-work.md +10 -1
  201. package/dist/templates/common/commands/start.md +3 -1
  202. package/dist/templates/common/skills/update-spec.md +40 -4
  203. package/dist/templates/copilot/hooks/session-start.py +2 -2
  204. package/dist/templates/dsh/DSH.md +2 -2
  205. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +10 -0
  206. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +10 -0
  207. package/dist/templates/omp/config.yml +15 -0
  208. package/dist/templates/omp/extensions/atw/index.ts.txt +135 -18
  209. package/dist/templates/omp/index.d.ts +1 -0
  210. package/dist/templates/omp/index.d.ts.map +1 -1
  211. package/dist/templates/omp/index.js +3 -0
  212. package/dist/templates/omp/index.js.map +1 -1
  213. package/dist/templates/opencode/lib/session-utils.js +4 -2
  214. package/dist/templates/opencode/plugins/inject-workflow-state.js +5 -1
  215. package/dist/templates/pi/extensions/atw/index.ts.txt +80 -7
  216. package/dist/templates/shared-hooks/index.d.ts +8 -1
  217. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  218. package/dist/templates/shared-hooks/index.js +8 -0
  219. package/dist/templates/shared-hooks/index.js.map +1 -1
  220. package/dist/templates/shared-hooks/inject-workflow-state.py +131 -14
  221. package/dist/templates/shared-hooks/session-start.py +4 -2
  222. package/dist/templates/shared-hooks/show-notice.py +135 -0
  223. package/dist/templates/snow/SNOW.md +1 -1
  224. package/dist/utils/initialized.d.ts +9 -0
  225. package/dist/utils/initialized.d.ts.map +1 -0
  226. package/dist/utils/initialized.js +24 -0
  227. package/dist/utils/initialized.js.map +1 -0
  228. package/dist/utils/managed-removal.d.ts +2 -0
  229. package/dist/utils/managed-removal.d.ts.map +1 -1
  230. package/dist/utils/managed-removal.js +23 -3
  231. package/dist/utils/managed-removal.js.map +1 -1
  232. package/dist/utils/optional-skills.d.ts +2 -0
  233. package/dist/utils/optional-skills.d.ts.map +1 -1
  234. package/dist/utils/optional-skills.js +1 -1
  235. package/dist/utils/optional-skills.js.map +1 -1
  236. package/dist/utils/template-hash.d.ts.map +1 -1
  237. package/dist/utils/template-hash.js +3 -0
  238. package/dist/utils/template-hash.js.map +1 -1
  239. package/dist/utils/uninstall-scrubbers.d.ts +10 -0
  240. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  241. package/dist/utils/uninstall-scrubbers.js +50 -0
  242. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  243. package/dist/utils/verify-entries.d.ts +51 -0
  244. package/dist/utils/verify-entries.d.ts.map +1 -0
  245. package/dist/utils/verify-entries.js +399 -0
  246. package/dist/utils/verify-entries.js.map +1 -0
  247. package/package.json +2 -2
  248. package/dist/templates/common/bundled-skills/atw-prototype/UI.md +0 -174
  249. package/dist/templates/common/bundled-skills/atw-prototype/references/visual-language.md +0 -88
  250. package/dist/templates/common/bundled-skills/atw-prototype/references/visual-review.md +0 -63
  251. package/dist/templates/common/bundled-skills/atw-ui/references/imagery.md +0 -69
  252. /package/dist/templates/common/bundled-skills/atw-codebase-design/{DEEPENING.md → deepening.md} +0 -0
  253. /package/dist/templates/common/bundled-skills/atw-domain-modeling/{ADR-FORMAT.md → adr-format.md} +0 -0
  254. /package/dist/templates/common/bundled-skills/atw-domain-modeling/{GLOSSARY-FORMAT.md → glossary-format.md} +0 -0
  255. /package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/{HTML-REPORT.md → html-report.md} +0 -0
  256. /package/dist/templates/common/bundled-skills/atw-triage/{AGENT-BRIEF.md → agent-brief.md} +0 -0
  257. /package/dist/templates/common/bundled-skills/atw-triage/{OUT-OF-SCOPE.md → out-of-scope.md} +0 -0
package/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  <h1 align="center">A Team Workflow</h1>
2
2
 
3
3
  <p align="center">
4
- <strong>An AI workflow framework that encodes your conventions into the process — for writing code, and for work that isn't code.</strong><br/>
5
- <sub>AI works fast, but every session it starts from scratch — no memory of your project, your conventions, or what was agreed last time. ATW persists specs, tasks, and memory into your project. In <code>dev</code> mode any coding agent works to your team's engineering standards; in <code>general</code> mode the same record carries writing, research, organizing material and planning.</sub>
4
+ <strong>ATW gives your AI coding tool a process to follow: it writes down what you agreed, stops for your OK where it matters, and remembers your project from one session to the next.</strong>
6
5
  </p>
7
6
 
8
7
  <p align="center">
@@ -13,466 +12,144 @@
13
12
  <a href="https://www.npmjs.com/package/@chinhae/atw-cli"><img src="https://img.shields.io/npm/v/@chinhae/atw-cli.svg?style=flat-square&color=2563eb" alt="npm version" /></a>
14
13
  </p>
15
14
 
16
- ## Two modes
17
-
18
- A project is in one of two modes. The mode is a project setting — the `mode:`
19
- line in `.atw/config.yaml`, committed with the project and shared by everyone
20
- working in it — and it decides three things at once: which workflow the AI
21
- follows, which skills and sub-agents are installed, and whether noob mode is on
22
- by default.
23
-
24
- | | `dev` (the default) | `general` |
25
- | --- | --- | --- |
26
- | For | Building software — whether or not you are an engineer | Work that is not code: writing, research, organizing material, planning |
27
- | The AI follows | Six stages, four stops, tickets, review by sub-agents — see [How It Works](#how-it-works) | Talk it through → write it down → do it → check it, with two stops |
28
- | Installed | 29 skills, the `/atw-continue` and `/atw-finish-work` commands, the `atw-implement-agent` and `atw-review` sub-agents, `.atw/spec/` by package and layer | 6 skills and one conventions file |
29
- | Noob mode, for someone who never chose | Off | On |
30
-
31
- A project with no `mode:` line is a `dev` project, so one set up before modes
32
- existed needs no change.
33
-
34
- ### Choosing a mode
35
-
36
- ```bash
37
- atw init -u your-name # in a terminal, asks what the project is for
38
- atw init --mode general -u your-name # answers it up front
39
- ```
40
-
41
- In a terminal, `atw init` asks a project that is not set up yet "What is this
42
- project mainly for?". "Writing code" is `dev`; "Other work (writing, research,
43
- organizing material, planning)" is `general`. `--mode dev` or `--mode general`
44
- answers the question up front. With `--yes`, or when it is not run from a
45
- terminal, the question is not asked and the project is `dev` unless `--mode`
46
- says otherwise.
47
-
48
- `--template` and `--registry` install coding guidelines, which a `general`
49
- project does not have, so `atw init` refuses them there.
50
-
51
- ### Switching later
52
-
53
- ```bash
54
- atw mode # show the current mode
55
- atw mode general # switch to general
56
- atw mode dev # and back
57
- ```
58
-
59
- `atw mode <mode>` first prints what it is about to do, file by file: what will
60
- be deleted, added and replaced, which files it keeps because you changed them,
61
- and which tasks are not archived yet. Then it asks. Nothing on disk changes
62
- before you confirm.
63
-
64
- - A file you edited is not deleted. It stays where it is and the output names
65
- it.
66
- - Unarchived tasks do not block the switch. Both modes use the same task
67
- statuses, so the tasks carry over.
68
- - `-y, --yes` switches without asking. Without a terminal and without `--yes`,
69
- the command prints the full list, changes nothing and exits with status 1 —
70
- so it also serves as a preview.
71
- - `-f, --force` replaces an edited `.atw/workflow.md` with the target mode's
72
- workflow without asking.
73
- - Asking for the mode the project is already in changes nothing and exits
74
- normally.
75
- - `atw init --mode` does not switch a project that is already set up; it stops
76
- and points to `atw mode`.
77
-
78
- Switching to `general` leaves an existing `.atw/spec/` tree where it is, unused.
79
- Switching to `dev` puts the empty spec skeleton back when there is none.
80
-
81
- ### What `general` keeps, and what it drops
82
-
83
- You say what you want in your own words; the AI runs the process.
84
-
85
- ```
86
- Phase 1: Plan talk it through → write down what was agreed → you confirm
87
- Phase 2: Do the AI does the work
88
- Phase 3: Finish item-by-item check → you accept → archive and journal
89
- ```
90
-
91
- Kept:
92
-
93
- - **Task records.** Anything beyond a small request gets a directory under
94
- `.atw/tasks/`. The AI creates it itself instead of asking whether to; a small
95
- request is just done, with no record.
96
- - **Written down and confirmed.** Before starting, the AI writes what will be
97
- done, what will not be done, and what counts as done into the task's
98
- `prd.md`, shows it to you, and waits. When something is unclear it asks you
99
- first, without being told to.
100
- - **Checked against what was agreed.** When the work is finished the AI goes
101
- through "what counts as done" item by item, with evidence, and waits for you
102
- to accept.
103
- - **Session memory.** After you accept, the AI archives the task and writes the
104
- session journal itself. Say "continue" in a later session and it picks up
105
- unfinished work. `atw mem` still searches earlier conversations.
106
- - **Conventions, injected.** One flat file, `.atw/spec/conventions.md`, is
107
- handed to the AI at the start of every session. When you correct the AI or
108
- repeat a preference, it writes the rule there itself.
109
-
110
- Dropped:
111
-
112
- - **Tickets, and two of the four stops.** There is no `slice` stage, no "create
113
- a task?" question and no `/atw-implement` to run. The two stops left are the
114
- two above: confirming what was written down, and accepting the result. You
115
- never type a command to move the work along.
116
- - **23 of the 29 skills.** The six that stay: `atw-interview`, `atw-research`,
117
- `atw-session-insight` and `atw-noob-mode`, which the AI also uses on its own,
118
- and `/atw-askme` and `/atw-handoff`, which start only when you type them.
119
- - **The `/atw-continue` and `/atw-finish-work` commands.** `/atw-start` stays on
120
- platforms that have no session-start hook, in a version without the
121
- spec-reading step. On platforms that turn commands into skills, such as
122
- Codex, it shows up as a seventh skill, `atw-start`.
123
- - **The sub-agents.** The closing check is done by the main session, not by an
124
- independent reviewer. It is less strict than `dev` review, and your acceptance
125
- is what backs it.
126
- - **The spec tree.** No `.atw/spec/` by package and layer, and no
127
- `00-bootstrap-guidelines` task to fill it in.
128
- - **The need for git.** A `general` project works in an ordinary folder that is
129
- not a git repository.
130
-
131
- ### Noob mode and project mode
132
-
133
- The two are independent. The project mode decides the process: which stages,
134
- which stops, which skills. Noob mode decides only how the AI talks to one
135
- person — plain words, terms explained where they appear, every action explained
136
- before it happens. It changes no stage, no stop and nothing in the task files,
137
- and it is personal: one line in your own `.atw/.developer`, never committed.
138
-
139
- The one link between them is the default for someone who has never chosen: on
140
- in a `general` project, off in a `dev` project. Your own choice comes first.
141
- Say "关闭小白模式" / "turn off noob mode", or run `/atw-noob-mode off`, and it
142
- stays off — neither the project default nor a later change of project mode
143
- turns it back on. `python3 ./.atw/scripts/noob_mode.py status` prints whether
144
- it is on, and whether that comes from your own setting or from the project
145
- default.
15
+ ## What it solves
16
+
17
+ - **The AI forgets.** Every session starts from scratch: your project, your
18
+ conventions, what was agreed last time are gone. ATW keeps tasks, coding
19
+ conventions and session journals in your repo, and hands the relevant part to
20
+ the AI at the start of every session.
21
+ - **The AI starts building before the request is clear.** ATW makes it ask
22
+ first, write the requirements down, and wait for you to confirm them.
23
+ - **"Done" means whatever the AI says.** ATW walks every acceptance criterion
24
+ with evidence, and you are the one who signs off. In `dev` mode a separate AI
25
+ session reviews the work first.
26
+ - **Every tool, and every teammate, does it differently.** The same structure
27
+ installs into 22 AI coding tools and is shared through the repo.
28
+
29
+ ## Who it's for
30
+
31
+ A project is in one of two modes, chosen when you set it up:
32
+
33
+ - **`dev` (the default)** — for building software, whether or not you are an
34
+ engineer. The full process: written requirements, work split into tickets
35
+ (small pieces, done one at a time), an independent review of every change.
36
+ - **`general`** — for work that is not code: writing, research, organizing
37
+ material, planning. A lighter process: talk it through, write it down, do it,
38
+ check it.
39
+ - **Noob mode** — a personal setting for someone who is not technical: plain
40
+ words, terms explained where they appear, every action explained before it
41
+ happens. It changes how the AI talks to you, not the process.
146
42
 
147
43
  **Not technical, but building software? Use `dev` mode with noob mode on, not
148
- `general`.** `general` takes away the spec, the tickets and the independent
149
- review, and those are the protections software needs most when you cannot read
150
- the code yourself. Noob mode keeps all of them and changes only the language.
151
-
152
- ## Why ATW?
153
-
154
- This table describes `dev` mode, and so do [Set Up a Project](#set-up-a-project),
155
- [How It Works](#how-it-works) and [Skills and sub-agents](#skills-and-sub-agents)
156
- below, except where they say otherwise. Project memory, records shared through
157
- the repo and multi-platform setup hold in `general` mode as well.
158
-
159
- | Capability | What it changes |
160
- | --- | --- |
161
- | **A task record with six stages** | Every task moves through `discover → specify → slice → implement → accept → completed`. The stage lives in `task.json`, and a per-turn hook injects that stage's rules into the session — so the AI knows where it is without being told again. |
162
- | **Four stops, all yours** | Everywhere else the AI advances on its own. At four points it must stop and wait for you: creating the task, confirming the spec, starting each ticket, and accepting the result. |
163
- | **Auto-injected specs** | Write conventions once in `.atw/spec/`, then let ATW inject the relevant context into each session instead of repeating yourself. |
164
- | **One ticket at a time** | Work is sliced into tickets with explicit dependencies. Exactly one is `doing`; two at once is a broken state, not a choice. The one exception is a parallel whole-spec run you start yourself with `/atw-implement-spec`; `/atw-implement-all` stays serial. |
165
- | **Project memory** | Journals in `.atw/workspace/` preserve what happened last time, so each new session starts with real context. `atw mem` searches conversation history across hosts. |
166
- | **Team-shared standards** | Specs and tasks live in the repo. Workspace journals stay per-developer, so two people on the same repo don't collide. |
167
- | **Multi-platform setup** | Bring the same ATW structure to 22 AI coding platforms instead of rebuilding your workflow per tool. |
44
+ `general`.** `general` drops the requirements check, the tickets and the
45
+ independent review — the protections software needs most when you cannot read
46
+ the code yourself. To turn noob mode on, tell the AI "turn on noob mode".
168
47
 
169
- ## Prerequisites
48
+ ## Quick start
170
49
 
171
- - **Node.js** >= 18.17
172
- - **Python** >= 3.9
173
-
174
- ## Quick Start
50
+ You need **Node.js** >= 18.17 and **Python** >= 3.9.
175
51
 
176
52
  ```bash
177
53
  # 1. Install ATW
178
54
  npm install -g @chinhae/atw-cli@latest
179
55
 
180
- # 2. Initialize in your repo
181
- atw init -u your-name
182
-
183
- # 3. Or initialize with the platforms you actually use
184
- atw init --cursor --opencode --codex -u your-name
185
-
186
- # 4. Or set the project up for work that is not code
187
- atw init --mode general -u your-name
188
- ```
189
-
190
- In a terminal, `atw init` opens by asking which language its own prompts should
191
- use — 中文 or English — then asks a project that is not set up yet what it is
192
- mainly for (see [Two modes](#two-modes)), and closes by offering extra skills to
193
- install (see [Extra skills](#extra-skills)). With `--yes`, or when it is not run
194
- from a terminal, it asks none of these: the prompts stay English, the project
195
- is `dev` unless `--mode` says otherwise, and no extra skill is installed.
196
-
197
- ## Set Up a Project
198
-
199
- This section is for a `dev` project. A `general` project needs neither step:
200
- `/atw-init-repo` is not installed there and there is no spec tree to fill, so
201
- you can start talking to the AI right after `atw init`.
202
-
203
- `atw init` writes the files. Two one-time steps make them useful. Order between
204
- them doesn't matter; the AI does most of the work in both.
205
-
206
- **1. Run `/atw-init-repo`.** Records three things the engineering skills assume:
207
- where issues live, the triage label vocabulary, and where domain docs go. Output
208
- is three files under `docs/agents/`, read by `atw-spec`, `atw-tickets`,
209
- `atw-triage`, `atw-map`, `atw-code-review` and `atw-research`. Takes a few
210
- minutes. You must run it yourself — the AI cannot invoke this one.
211
-
212
- **2. Fill `.atw/spec/`.** Init leaves the spec files as empty placeholders, so
213
- review sub-agents have no conventions to match and write generic code. Two ways
214
- in — pick one, they do the same job:
215
-
216
- - `python3 ./.atw/scripts/task.py start 00-bootstrap-guidelines`, then tell the
217
- agent to start that task. Run the command from inside an AI session so the
218
- session identity reaches the script. Checklist-driven: it asks whether an
219
- existing `CLAUDE.md`, `.cursorrules` or `CONTRIBUTING.md` can be imported
220
- before it reads any source.
221
- - `/atw-spec-bootstrap` — the same work as a skill. One agent analyses the
222
- codebase and writes the docs.
223
-
224
- Close it out with `task.py finish`, then
225
- `task.py archive 00-bootstrap-guidelines`. After the archive, teammates who run
226
- `atw init` get a `00-join-<slug>` onboarding task instead of the bootstrap one.
227
-
228
- **Then commit** `.atw/`, `docs/agents/`, `.gitattributes` and `AGENTS.md`.
229
- Teammates should clone your conventions, not an empty scaffold.
230
-
231
- Neither step is mandatory — triage, tasks and specs all work without them. What
232
- you give up is concrete: sub-agents matching your patterns, and skills knowing
233
- where issues and research notes belong.
234
-
235
- ## How It Works
236
-
237
- This is the `dev` workflow. The `general` workflow is under
238
- [What `general` keeps, and what it drops](#what-general-keeps-and-what-it-drops).
239
-
240
- ATW runs three phases over a six-stage task record:
241
-
242
- ```
243
- Phase 1: Plan discover → specify → slice (optional)
244
- Phase 2: Execute implement — one ticket at a time, or the whole spec in one run
245
- Phase 3: Finish accept → completed
246
- ```
247
-
248
- **Phase 1 — Plan.** `/atw-askme` works through open requirements one question at
249
- a time. When the work is large and the route is unclear, `/atw-map` scans the
250
- territory first and files decision tickets; `/atw-research` handles external
251
- unknowns and `/atw-prototype` handles design questions that need a throwaway
252
- build — including comparing several visual directions side by side before one
253
- is chosen. `/atw-spec` turns the findings into `prd.md` — the requirements,
254
- constraints, and acceptance criteria everything downstream is checked against.
255
- When the work won't fit one session, `/atw-tickets` slices the confirmed spec
256
- into `issues/NN-*.md`.
257
-
258
- **Phase 2 — Execute.** One ticket at a time, claimed from the ready frontier.
259
- Each ticket runs a closed chain that must not be broken up from the outside:
260
- implement → run tests → review → handle findings → write learnings back to spec
261
- → commit. Review is an `atw-review` sub-agent reading two axes, project
262
- standards and the task's own spec, and both of its reports reach you verbatim —
263
- including when the verdict is "nothing found". When a ticket changes what a user
264
- sees, `/atw-ui` builds that part on real screens and a third, Visual axis
265
- reviews the screenshots.
266
-
267
- **Phase 3 — Finish.** Read-only. The acceptance criteria in `prd.md` get walked
268
- one by one with evidence, and nothing new gets opened — things you notice become
269
- tickets or a follow-up task. After you accept, the task archives.
270
-
271
- ### Not every request needs a task
272
-
273
- | Path | Route |
274
- | --- | --- |
275
- | Simple | No task. Just do it, skip ATW for this session. |
276
- | Medium | Task → discover → specify → implement |
277
- | Complex | Task → map → specify → slice into tickets → implement each |
278
-
279
- The threshold is deliberately not a file count — changing two files can be a
280
- typo fix or an auth rewrite. When unsure, go one path up: the cost of going up
281
- is one more `prd.md`, and the cost of going down is discovering mid-build that
282
- there is no record, no spec, and no review baseline.
283
-
284
- ### The four stops
285
-
286
- Outside these four, the AI advances stages on its own. It does not stop to ask
287
- "shall we move on?".
288
-
289
- | Where | Whose call |
290
- | --- | --- |
291
- | Before a task is created | Does this work deserve a record |
292
- | After `prd.md` is written | Is the spec right |
293
- | Before implementation starts | You run `/atw-implement` per ticket, `/atw-implement-spec` once for the whole spec in parallel, or `/atw-implement-all` once for the whole spec serially; the AI cannot invoke any of the three |
294
- | Before archiving | "This is done" |
295
-
296
- ## What lands in your repo
297
-
298
- ```
299
- .atw/
300
- ├── spec/ coding guidelines, by package and layer
301
- ├── tasks/MM-DD-<slug>/
302
- │ ├── task.json stage, branch, metadata
303
- │ ├── prd.md the spec
304
- │ ├── map.md territory map — complex path only
305
- │ ├── issues/NN-*.md implementation tickets (Impl / Blocked by)
306
- │ ├── research/<topic>.md research notes, one file per topic
307
- │ └── check.jsonl which specs the review sub-agents read
308
- ├── workspace/<you>/ per-developer session journals
309
- ├── workflow.md the workflow the AI follows, in your repo
310
- └── scripts/ the Python that reads and writes all of it
311
- ```
312
-
313
- A `general` project gets a smaller tree:
314
-
315
- ```
316
- .atw/
317
- ├── spec/conventions.md what you asked for more than once, injected every session
318
- ├── tasks/MM-DD-<slug>/
319
- │ ├── task.json status and metadata
320
- │ ├── prd.md what will be done, what will not, what counts as done
321
- │ └── research/<topic>.md notes from looking things up, one file per topic
322
- ├── workspace/<you>/ per-person session journals
323
- ├── workflow.md the general workflow
324
- └── scripts/ the Python that reads and writes all of it
325
- ```
326
-
327
- `workflow.md` is a file in your project, not something baked into the CLI —
328
- `atw workflow` switches it between the built-in `native` template and anything
329
- published to the workflow marketplace, and editing it changes what the AI
330
- actually does. `native` is the workflow that comes with the project's mode: the
331
- `dev` workflow in a `dev` project, the `general` one in a `general` project.
332
-
333
- ## Skills and sub-agents
334
-
335
- In `dev` mode, 29 skills install into every configured platform; in `general`
336
- mode, six do (see [Two modes](#two-modes)). The ones you reach for daily in
337
- `dev`:
338
-
339
- | Skill | For |
340
- | --- | --- |
341
- | `/atw-askme` | fuzzy requirements, one question at a time (`/atw-askme-with-docs` when the answer is in project docs) |
342
- | `/atw-map` | large scope, unclear route — scans breadth-first and stops itself if it finds no fog |
343
- | `/atw-research` | external or third-party unknowns |
344
- | `/atw-spec` | write or revise `prd.md` |
345
- | `/atw-tickets` | slice a confirmed spec into tickets |
346
- | `/atw-implement` | run one ticket's full chain — you invoke it, the AI can't |
347
- | `/atw-implement-spec` | run every ticket of a sliced spec in one parallel run on an integration branch, reviewed once at the end — you invoke it, the AI can't |
348
- | `/atw-implement-all` | run every ticket of a sliced spec in one serial run in place on the current branch, reviewed per ticket; `--max N` stops cleanly after N tickets and running it again resumes — you invoke it, the AI can't |
349
- | `/atw-diagnosing-bugs` | the same bug got fixed more than once |
350
- | `/atw-update-spec` | promote a learning back into `.atw/spec/` |
351
- | `/atw-channel` | multi-agent collaboration over a durable local event log |
352
- | `/atw-noob-mode` | plain-language mode for a user who is not an engineer: terms explained where they appear, every action explained before it happens, in every stage until switched off — say "开启小白模式" / "turn on noob mode", or run it; personal, never committed; off by default in `dev`, on by default in `general` |
353
-
354
- Three commands sit alongside them: `/atw-start` loads session context on
355
- platforms that have no session-start hook, `/atw-continue` resumes the current
356
- task at the right step, and `/atw-finish-work` archives the task and writes the
357
- session journal. Nothing is committed there — the implement chain commits per
358
- ticket, long before a task reaches it. Of the three, a `general`
359
- project keeps only `/atw-start`: the AI resumes and files the work itself.
360
-
361
- `/atw-implement` writes the code in your main session; `atw-review` sub-agents
362
- review the diff so the review does not share the implementer's context.
363
-
364
- ### Extra skills
365
-
366
- On top of the built-in skills, `atw init` can install optional ones. They are
367
- not part of ATW: the list and the skills themselves are downloaded from
368
- [LFT-OXY/oxy-Tools](https://github.com/LFT-OXY/oxy-Tools) when you ask for
369
- them. At the end of every run — the first one and any later one in the same
370
- project, in either mode — init asks whether you want any, shows the list with
371
- one line on what each skill does, and installs the ones you tick into the skill
372
- directory of each configured platform.
373
-
374
- - `atw update` checks that list and replaces an installed extra skill when it
375
- names another version. The skill's whole directory is replaced without
376
- asking, so edits you made inside it are lost.
377
- - `atw uninstall` removes the extra skills ATW installed.
378
- - A directory of the same name that ATW did not install is never touched.
379
-
380
- ## CLI
381
-
382
- ```bash
383
- atw init # set up this repo, optionally per-platform
384
- atw platforms # show which platforms are configured here
385
- atw update # pull new template bodies into this repo, refresh extra skills
386
- atw workflow # list or switch the .atw/workflow.md template
387
- atw mode # show the project's mode, or switch it between dev and general
388
- atw upgrade # upgrade the CLI itself
389
- atw mem # search conversation history across Claude Code, Codex, OpenCode, Pi
390
- atw channel # multi-agent collaboration runtime
391
- atw ablate # temporarily remove ATW; atw restore puts it back
392
- atw uninstall # permanent removal
56
+ # 2. Set it up in your project folder
57
+ atw init -u your-name # asks what the project is for
58
+ atw init --cursor --codex -u your-name # or only for the tools you use
59
+ atw init --mode general -u your-name # or for work that is not code
393
60
  ```
394
61
 
395
- ## FAQ
396
-
397
- <details>
398
- <summary><strong>How is ATW different from <code>CLAUDE.md</code>, <code>AGENTS.md</code>, or <code>.cursorrules</code>?</strong></summary>
399
-
400
- Those files are useful entry points, but they tend to become monolithic, and
401
- they say the same thing on every turn regardless of what you are doing. ATW adds
402
- a stage the work is actually in, specs scoped to the package and layer you are
403
- touching, a spec you confirmed before implementation started, and four points
404
- where the AI has to stop and ask you. A `general` project keeps the stage and
405
- the confirmed write-up, with one conventions file and two stops.
406
-
407
- </details>
408
-
409
- <details>
410
- <summary><strong>Is ATW only for Claude Code?</strong></summary>
411
-
412
- No. ATW is a project layer that works across multiple coding agents and IDEs.
413
- Run `atw platforms` to see what is configured in the current project.
414
-
415
- </details>
416
-
417
- <details>
418
- <summary><strong>What actually stops the AI from just writing code?</strong></summary>
419
-
420
- A per-turn hook reads the task's stage and injects that stage's rules into the
421
- session. In `discover` those rules say not to write code and not to create
422
- tickets yet; in `accept` they say read-only. The rules come from the
423
- `[workflow-state:*]` blocks in your project's `.atw/workflow.md`, so they are
424
- editable — and when the hook can't find them, it says so visibly instead of
425
- failing quietly.
426
-
427
- </details>
428
-
429
- <details>
430
- <summary><strong>Is ATW for solo developers or teams?</strong></summary>
431
-
432
- Both. Solo developers use it for memory and repeatable workflow. Teams get the
433
- larger benefit: shared standards, task boundaries, reviewable context, and
434
- platform portability.
435
-
436
- </details>
437
-
438
- <details>
439
- <summary><strong>Do I have to write every spec file manually?</strong></summary>
440
-
441
- No. Many teams start by letting AI draft specs from existing code and then
442
- tighten the important parts by hand. `/atw-update-spec` promotes learnings back
443
- as you go. ATW works best when you keep the high-signal rules explicit and
444
- versioned. A `general` project has no spec files to write: the AI adds to
445
- `.atw/spec/conventions.md` as you correct it.
446
-
447
- </details>
448
-
449
- <details>
450
- <summary><strong>Can teams use this without constant conflicts?</strong></summary>
451
-
452
- Yes. Personal workspace journals stay separate per developer, while shared specs
453
- and tasks stay in the repo where they can be reviewed and improved like any
454
- other project artifact.
455
-
456
- </details>
457
-
458
- <details>
459
- <summary><strong>Can I temporarily compare a project with and without ATW?</strong></summary>
460
-
461
- Yes. `atw ablate` temporarily removes all supported project-owned ATW
462
- surfaces after creating a verified recovery transaction outside the project.
463
- Start a fresh agent session for the comparison, then run `atw restore` to
464
- recover the exact prior state. Use `--dry-run` to preview either operation.
465
- The private recovery transaction includes exact `.atw` task, spec, and
466
- workspace bytes, which may contain user-authored sensitive text, and is kept
467
- until restore verifies successfully.
468
-
469
- This is different from `atw uninstall` (permanent removal) and
470
- `ATW_HOOKS=0` (hooks only). Ablation does not launch agents, manage
471
- worktrees, hide Git changes, or remove the global CLI, channel logs, or host
472
- transcripts. If a managed path changes while ablated, restore refuses all
473
- writes until the conflict is resolved.
474
-
475
- </details>
62
+ 3. Open your AI tool in the project and say what you want, in your own words.
63
+ There are no commands to learn first: the AI tells you when it needs one.
64
+
65
+ A `dev` project gets more out of ATW after two one-time steps; see
66
+ [Getting started](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/getting-started.md).
67
+
68
+ ## What it looks like
69
+
70
+ A request in a `dev` project, from asking to accepting. The AI moves on by
71
+ itself everywhere except the four marked stops.
72
+
73
+ > **You:** Add a "remember me" checkbox to the login page.
74
+ >
75
+ > **AI:** This touches sign-in, so I'd treat it as a task. With a task, I write
76
+ > the requirements down, you confirm them before I build, and at the end I check
77
+ > each one with you. Without one, I just make the change, with no record.
78
+ > Create a task?
79
+
80
+ **Stop 1 — does this deserve a record?** Your call.
81
+
82
+ > **You:** Yes.
83
+ >
84
+ > **AI:** One question first: how long should "remember me" keep someone signed
85
+ > in? … I've written the requirements to `prd.md`: what will be done, what
86
+ > won't, and five acceptance criteria, such as "after 30 days the user has to
87
+ > sign in again". Please read it.
88
+
89
+ **Stop 2 — are the requirements right?** The AI waits until you confirm.
90
+
91
+ > **You:** Looks right.
92
+ >
93
+ > **AI:** Confirmed. Run `/atw-implement` when you want me to start building.
94
+
95
+ **Stop 3 — building starts only when you start it.** The AI cannot run this
96
+ command itself.
97
+
98
+ > **You:** /atw-implement
99
+ >
100
+ > **AI:** Built, tests first. A separate AI session that didn't see me write it
101
+ > reviewed the change against the project's conventions and against `prd.md`.
102
+ > It found one problem, which I fixed. Committed. Now the check: criterion 1 is
103
+ > met, here is the test that shows it; … all five are met. Do you accept?
104
+
105
+ **Stop 4 — "this is done."** Only you can say it.
106
+
107
+ > **You:** Accepted.
108
+ >
109
+ > **AI:** Archived the task (filed it away as done) and wrote the session
110
+ > journal, a short note on what happened. Next session I'll start from that
111
+ > record.
112
+
113
+ ## Core ideas
114
+
115
+ - **Task** — one piece of work with its own folder under `.atw/tasks/`. The
116
+ folder records which stage the work is in, so the AI knows where it left off.
117
+ A small request can skip the task; the AI asks.
118
+ - **Requirements document** — the task's `prd.md`: what will be done, what will
119
+ not, and the acceptance criteria. Everything after it is checked against it.
120
+ - **Four stops** — the only places the AI stops and waits for you: before
121
+ creating a task, after writing the requirements, before building starts, and
122
+ before archiving. `general` mode keeps two of them: confirming what was
123
+ written down and accepting the result.
124
+ - **Acceptance** — at the end, every acceptance criterion is checked one by one
125
+ with evidence. The work is done when you accept it, not when the AI says so.
126
+
127
+ ## Supported AI tools
128
+
129
+ Claude Code, Cursor, OpenCode, Codex, Kilo CLI, Kiro Code, Gemini CLI,
130
+ Antigravity, Devin, Qoder, CodeBuddy, GitHub Copilot, Factory Droid, DeepSeek
131
+ Harness (dsh), Pi Agent, Reasonix, ZCode, Trae, Oh My Pi, Grok Build, Kimi Code
132
+ and Snow CLI — 22 in all. `atw init` sets up the ones you name, or asks.
133
+
134
+ ## Documentation
135
+
136
+ - [Modes](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/modes.md)
137
+ — `dev` and `general`, how to choose and switch, and how noob mode fits in.
138
+ - [Getting started](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/getting-started.md)
139
+ — the two one-time steps after `atw init` and which files to commit.
140
+ - [How it works](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/how-it-works.md)
141
+ — the three phases, the three paths a request can take, the four stops, and
142
+ what lands in your repo.
143
+ - [Skills](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/skills.md)
144
+ — every skill (instructions the AI loads for one kind of job) and who can
145
+ start it, skill notes, and extra skills.
146
+ - [Command line](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/cli.md)
147
+ — what each `atw` command is for.
148
+ - [FAQ](https://github.com/LFT-OXY/A-Team-Workflow/blob/main/docs/guide/faq.md)
149
+ — how ATW differs from `CLAUDE.md`, what stops the AI from just writing code,
150
+ teams, and more.
151
+
152
+ ## License
476
153
 
477
154
  <p align="center">
478
155
  <a href="https://github.com/LFT-OXY/A-Team-Workflow">Repository</a> •
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMhE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC"}