@chinhae/atw-cli 0.2.10 → 0.3.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 (97) hide show
  1. package/README.md +29 -5
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +243 -123
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/uninstall.d.ts.map +1 -1
  6. package/dist/commands/uninstall.js +18 -3
  7. package/dist/commands/uninstall.js.map +1 -1
  8. package/dist/commands/update.d.ts +0 -3
  9. package/dist/commands/update.d.ts.map +1 -1
  10. package/dist/commands/update.js +45 -0
  11. package/dist/commands/update.js.map +1 -1
  12. package/dist/configurators/index.d.ts +8 -0
  13. package/dist/configurators/index.d.ts.map +1 -1
  14. package/dist/configurators/index.js +19 -0
  15. package/dist/configurators/index.js.map +1 -1
  16. package/dist/migrations/manifests/0.3.0.json +3410 -0
  17. package/dist/templates/atw/config.yaml +4 -3
  18. package/dist/templates/atw/index.d.ts +2 -0
  19. package/dist/templates/atw/index.d.ts.map +1 -1
  20. package/dist/templates/atw/index.js +4 -0
  21. package/dist/templates/atw/index.js.map +1 -1
  22. package/dist/templates/atw/scripts/common/noob_mode.py +102 -0
  23. package/dist/templates/atw/scripts/common/session_context.py +7 -0
  24. package/dist/templates/atw/scripts/noob_mode.py +41 -0
  25. package/dist/templates/atw/scripts/tickets.py +66 -10
  26. package/dist/templates/atw/workflow.md +81 -17
  27. package/dist/templates/common/bundled-skills/atw-code-review/SKILL.md +4 -2
  28. package/dist/templates/common/bundled-skills/atw-codebase-design/DESIGN-IT-TWICE.md +1 -1
  29. package/dist/templates/common/bundled-skills/atw-diagnosing-bugs/SKILL.md +2 -2
  30. package/dist/templates/common/bundled-skills/atw-domain-modeling/{CONTEXT-FORMAT.md → GLOSSARY-FORMAT.md} +10 -10
  31. package/dist/templates/common/bundled-skills/atw-domain-modeling/SKILL.md +12 -12
  32. package/dist/templates/common/bundled-skills/atw-handoff/SKILL.md +1 -1
  33. package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +6 -4
  34. package/dist/templates/common/bundled-skills/atw-implement-spec/SKILL.md +79 -0
  35. package/dist/templates/common/bundled-skills/atw-implement-spec/agents/openai.yaml +5 -0
  36. package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/SKILL.md +5 -5
  37. package/dist/templates/common/bundled-skills/atw-init-repo/SKILL.md +6 -4
  38. package/dist/templates/common/bundled-skills/atw-init-repo/references/domain.md +8 -8
  39. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +5 -2
  40. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +5 -2
  41. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-github.md +5 -4
  42. package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-gitlab.md +2 -2
  43. package/dist/templates/common/bundled-skills/atw-init-repo/references/triage-labels.md +1 -1
  44. package/dist/templates/common/bundled-skills/atw-interview/SKILL.md +9 -1
  45. package/dist/templates/common/bundled-skills/atw-map/SKILL.md +5 -5
  46. package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +101 -0
  47. package/dist/templates/common/bundled-skills/atw-noob-mode/agents/openai.yaml +3 -0
  48. package/dist/templates/common/bundled-skills/atw-spec/SKILL.md +1 -1
  49. package/dist/templates/common/bundled-skills/atw-tdd/SKILL.md +2 -2
  50. package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +4 -4
  51. package/dist/templates/common/bundled-skills/atw-triage/SKILL.md +2 -2
  52. package/dist/templates/common/commands/continue.md +1 -1
  53. package/dist/templates/opencode/plugins/inject-workflow-state.js +29 -1
  54. package/dist/templates/shared-hooks/inject-subagent-context.py +29 -3
  55. package/dist/templates/shared-hooks/inject-workflow-state.py +27 -3
  56. package/dist/templates/shared-hooks/session-start.py +23 -0
  57. package/dist/templates/snow/SNOW.md +1 -1
  58. package/dist/utils/file-writer.d.ts.map +1 -1
  59. package/dist/utils/file-writer.js +29 -16
  60. package/dist/utils/file-writer.js.map +1 -1
  61. package/dist/utils/interactive-guard.d.ts +2 -2
  62. package/dist/utils/interactive-guard.js +2 -2
  63. package/dist/utils/lang.d.ts +14 -0
  64. package/dist/utils/lang.d.ts.map +1 -0
  65. package/dist/utils/lang.js +20 -0
  66. package/dist/utils/lang.js.map +1 -0
  67. package/dist/utils/optional-skills.d.ts +90 -0
  68. package/dist/utils/optional-skills.d.ts.map +1 -0
  69. package/dist/utils/optional-skills.js +266 -0
  70. package/dist/utils/optional-skills.js.map +1 -0
  71. package/dist/utils/template-fetcher.d.ts +6 -0
  72. package/dist/utils/template-fetcher.d.ts.map +1 -1
  73. package/dist/utils/template-fetcher.js +1 -1
  74. package/dist/utils/template-fetcher.js.map +1 -1
  75. package/package.json +2 -2
  76. package/dist/templates/common/bundled-skills/atw-merge/SKILL.md +0 -14
  77. package/dist/templates/common/bundled-skills/atw-merge/agents/openai.yaml +0 -3
  78. package/dist/templates/common/bundled-skills/dejargonizer/SKILL.md +0 -133
  79. package/dist/templates/common/bundled-skills/noob-mode/SKILL.md +0 -175
  80. package/dist/templates/common/bundled-skills/noob-mode/references/examples.md +0 -418
  81. package/dist/templates/common/bundled-skills/noob-mode/references/glossary.md +0 -368
  82. package/dist/templates/common/bundled-skills/oxy-explanation/SKILL.md +0 -80
  83. package/dist/templates/common/bundled-skills/oxy-learning-hub/SKILL.md +0 -179
  84. package/dist/templates/common/bundled-skills/oxy-learning-hub/assets/course.css +0 -1044
  85. package/dist/templates/common/bundled-skills/oxy-learning-hub/assets/course.js +0 -184
  86. package/dist/templates/common/bundled-skills/oxy-learning-hub/assets/lesson-template.html +0 -125
  87. package/dist/templates/common/bundled-skills/oxy-learning-hub/assets/summary-template.html +0 -659
  88. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/publishing.md +0 -64
  89. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/summary-mode.md +0 -96
  90. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/teaching/GLOSSARY-FORMAT.md +0 -30
  91. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/teaching/LEARNING-RECORD-FORMAT.md +0 -42
  92. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/teaching/MISSION-FORMAT.md +0 -50
  93. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/teaching/RESOURCES-FORMAT.md +0 -40
  94. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/teaching-mode.md +0 -251
  95. package/dist/templates/common/bundled-skills/oxy-learning-hub/references/workspace.md +0 -112
  96. package/dist/templates/common/bundled-skills/oxy-learning-hub/scripts/validate_html.py +0 -200
  97. package/dist/templates/common/bundled-skills/show-me/SKILL.md +0 -127
package/README.md CHANGED
@@ -20,7 +20,7 @@
20
20
  | **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. |
21
21
  | **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. |
22
22
  | **Auto-injected specs** | Write conventions once in `.atw/spec/`, then let ATW inject the relevant context into each session instead of repeating yourself. |
23
- | **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. |
23
+ | **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 whole-spec run you start yourself with `/atw-implement-spec`. |
24
24
  | **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. |
25
25
  | **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. |
26
26
  | **Multi-platform setup** | Bring the same ATW structure to 22 AI coding platforms instead of rebuilding your workflow per tool. |
@@ -43,6 +43,12 @@ atw init -u your-name
43
43
  atw init --cursor --opencode --codex -u your-name
44
44
  ```
45
45
 
46
+ In a terminal, `atw init` opens by asking which language its own prompts should
47
+ use — 中文 or English — and closes by offering extra skills to install (see
48
+ [Extra skills](#extra-skills)). With `--yes`, or when it is not run from a
49
+ terminal, it asks neither: the prompts stay English and no extra skill is
50
+ installed.
51
+
46
52
  ## Set Up a Project
47
53
 
48
54
  `atw init` writes the files. Two one-time steps make them useful. Order between
@@ -83,7 +89,7 @@ ATW runs three phases over a six-stage task record:
83
89
 
84
90
  ```
85
91
  Phase 1: Plan discover → specify → slice (optional)
86
- Phase 2: Execute implement — one ticket at a time
92
+ Phase 2: Execute implement — one ticket at a time, or the whole spec in one run
87
93
  Phase 3: Finish accept → completed
88
94
  ```
89
95
 
@@ -132,7 +138,7 @@ Outside these four, the AI advances stages on its own. It does not stop to ask
132
138
  | --- | --- |
133
139
  | Before a task is created | Does this work deserve a record |
134
140
  | After `prd.md` is written | Is the spec right |
135
- | Before each ticket starts | You run `/atw-implement`; the AI cannot invoke it |
141
+ | Before implementation starts | You run `/atw-implement` per ticket, or `/atw-implement-spec` once for the whole spec; the AI cannot invoke either |
136
142
  | Before archiving | "This is done" |
137
143
 
138
144
  ## What lands in your repo
@@ -159,7 +165,7 @@ actually does.
159
165
 
160
166
  ## Skills and sub-agents
161
167
 
162
- 26 skills install into every configured platform. The ones you reach for daily:
168
+ 28 skills install into every configured platform. The ones you reach for daily:
163
169
 
164
170
  | Skill | For |
165
171
  | --- | --- |
@@ -169,9 +175,11 @@ actually does.
169
175
  | `/atw-spec` | write or revise `prd.md` |
170
176
  | `/atw-tickets` | slice a confirmed spec into tickets |
171
177
  | `/atw-implement` | run one ticket's full chain — you invoke it, the AI can't |
178
+ | `/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 |
172
179
  | `/atw-diagnosing-bugs` | the same bug got fixed more than once |
173
180
  | `/atw-update-spec` | promote a learning back into `.atw/spec/` |
174
181
  | `/atw-channel` | multi-agent collaboration over a durable local event log |
182
+ | `/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 |
175
183
 
176
184
  Three commands sit alongside them: `/atw-start` loads session context on
177
185
  platforms that have no session-start hook, `/atw-continue` resumes the current
@@ -182,12 +190,28 @@ ticket, long before a task reaches it.
182
190
  `/atw-implement` writes the code in your main session; `atw-review` sub-agents
183
191
  review the diff so the review does not share the implementer's context.
184
192
 
193
+ ### Extra skills
194
+
195
+ On top of the built-in skills, `atw init` can install optional ones. They are
196
+ not part of ATW: the list and the skills themselves are downloaded from
197
+ [LFT-OXY/oxy-Tools](https://github.com/LFT-OXY/oxy-Tools) when you ask for
198
+ them. At the end of every run — the first one and any later one in the same
199
+ project — init asks whether you want any, shows the list with one line on what
200
+ each skill does, and installs the ones you tick into the skill directory of
201
+ each configured platform.
202
+
203
+ - `atw update` checks that list and replaces an installed extra skill when it
204
+ names another version. The skill's whole directory is replaced without
205
+ asking, so edits you made inside it are lost.
206
+ - `atw uninstall` removes the extra skills ATW installed.
207
+ - A directory of the same name that ATW did not install is never touched.
208
+
185
209
  ## CLI
186
210
 
187
211
  ```bash
188
212
  atw init # set up this repo, optionally per-platform
189
213
  atw platforms # show which platforms are configured here
190
- atw update # pull new template bodies into this repo
214
+ atw update # pull new template bodies into this repo, refresh extra skills
191
215
  atw workflow # list or switch the .atw/workflow.md template
192
216
  atw upgrade # upgrade the CLI itself
193
217
  atw mem # search conversation history across Claude Code, Codex, OpenCode, Pi
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA+FA,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAUvE;AAuBD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkC9D;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAoEA;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzD;AA6sBD,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+DD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA69B9D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAuGA,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAUvE;AAuBD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkC9D;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAoEA;AAmCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzD;AAguBD,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+DD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwtC9D"}