@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.
- package/README.md +128 -451
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +24 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/channel/adapters/claude.d.ts +44 -2
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -1
- package/dist/commands/channel/adapters/claude.js +124 -23
- package/dist/commands/channel/adapters/claude.js.map +1 -1
- package/dist/commands/channel/adapters/codex.d.ts +36 -6
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -1
- package/dist/commands/channel/adapters/codex.js +150 -10
- package/dist/commands/channel/adapters/codex.js.map +1 -1
- package/dist/commands/channel/adapters/index.d.ts +33 -4
- package/dist/commands/channel/adapters/index.d.ts.map +1 -1
- package/dist/commands/channel/adapters/index.js +159 -6
- package/dist/commands/channel/adapters/index.js.map +1 -1
- package/dist/commands/channel/adapters/omp.d.ts +106 -0
- package/dist/commands/channel/adapters/omp.d.ts.map +1 -0
- package/dist/commands/channel/adapters/omp.js +405 -0
- package/dist/commands/channel/adapters/omp.js.map +1 -0
- package/dist/commands/channel/adapters/pi.d.ts +123 -0
- package/dist/commands/channel/adapters/pi.d.ts.map +1 -0
- package/dist/commands/channel/adapters/pi.js +387 -0
- package/dist/commands/channel/adapters/pi.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +16 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -1
- package/dist/commands/channel/agent-loader.d.ts +1 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -1
- package/dist/commands/channel/agent-loader.js +45 -5
- package/dist/commands/channel/agent-loader.js.map +1 -1
- package/dist/commands/channel/dev-parse-trace.d.ts +1 -1
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -1
- package/dist/commands/channel/dev-parse-trace.js +25 -2
- package/dist/commands/channel/dev-parse-trace.js.map +1 -1
- package/dist/commands/channel/index.d.ts.map +1 -1
- package/dist/commands/channel/index.js +44 -12
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/run.d.ts +39 -2
- package/dist/commands/channel/run.d.ts.map +1 -1
- package/dist/commands/channel/run.js +227 -68
- package/dist/commands/channel/run.js.map +1 -1
- package/dist/commands/channel/spawn.d.ts +7 -2
- package/dist/commands/channel/spawn.d.ts.map +1 -1
- package/dist/commands/channel/spawn.js +35 -1
- package/dist/commands/channel/spawn.js.map +1 -1
- package/dist/commands/channel/store/events.d.ts +2 -2
- package/dist/commands/channel/store/events.d.ts.map +1 -1
- package/dist/commands/channel/store/events.js +1 -1
- package/dist/commands/channel/store/events.js.map +1 -1
- package/dist/commands/channel/supervisor/shutdown.d.ts +2 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/shutdown.js +6 -1
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -1
- package/dist/commands/channel/supervisor.d.ts +2 -2
- package/dist/commands/channel/supervisor.d.ts.map +1 -1
- package/dist/commands/channel/supervisor.js +26 -3
- package/dist/commands/channel/supervisor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mem.d.ts +2 -1
- package/dist/commands/mem.d.ts.map +1 -1
- package/dist/commands/mem.js +162 -13
- package/dist/commands/mem.js.map +1 -1
- package/dist/commands/mode.d.ts.map +1 -1
- package/dist/commands/mode.js +5 -3
- package/dist/commands/mode.js.map +1 -1
- package/dist/commands/uninstall.d.ts +5 -3
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +40 -16
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +34 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +209 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/verify.d.ts +18 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +75 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +3 -2
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/omp.d.ts +22 -0
- package/dist/configurators/omp.d.ts.map +1 -1
- package/dist/configurators/omp.js +101 -2
- package/dist/configurators/omp.js.map +1 -1
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +39 -7
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +5 -1
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +4 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +4 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.6.0.json +442 -0
- package/dist/migrations/manifests/0.7.0.json +1378 -0
- package/dist/templates/atw/definition-of-done.md +65 -0
- package/dist/templates/atw/gitignore.txt +7 -0
- package/dist/templates/atw/index.d.ts +11 -0
- package/dist/templates/atw/index.d.ts.map +1 -1
- package/dist/templates/atw/index.js +22 -0
- package/dist/templates/atw/index.js.map +1 -1
- package/dist/templates/atw/scripts/common/active_task.py +2 -2
- package/dist/templates/atw/scripts/common/workflow_phase.py +33 -0
- package/dist/templates/atw/scripts/cross_model_review.py +3312 -0
- package/dist/templates/atw/scripts/decision_log.py +2002 -0
- package/dist/templates/atw/scripts/floor_guard.py +642 -0
- package/dist/templates/atw/scripts/task.py +25 -6
- package/dist/templates/atw/scripts/tickets.py +480 -10
- package/dist/templates/atw/workflow-general.md +6 -1
- package/dist/templates/atw/workflow.md +346 -26
- package/dist/templates/claude/settings.json +12 -0
- package/dist/templates/codex/hooks/session-start.py +2 -2
- package/dist/templates/common/bundled-skills/atw-askme/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-askme-with-docs/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-channel/SKILL.md +5 -2
- package/dist/templates/common/bundled-skills/atw-channel/references/command-reference.md +44 -5
- package/dist/templates/common/bundled-skills/atw-channel/references/progress-debugging.md +9 -0
- package/dist/templates/common/bundled-skills/atw-channel/references/workers.md +48 -4
- package/dist/templates/common/bundled-skills/atw-code-review/SKILL.md +78 -3
- package/dist/templates/common/bundled-skills/atw-codebase-design/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-codebase-design/{DESIGN-IT-TWICE.md → design-it-twice.md} +3 -3
- package/dist/templates/common/bundled-skills/atw-cross-model-review/SKILL.md +361 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/four-tiers.md +42 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/log-review-questions.md +38 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/questions.md +54 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/recheck-questions.md +42 -0
- package/dist/templates/common/bundled-skills/atw-cross-model-review/references/report-format.md +22 -0
- package/dist/templates/common/bundled-skills/atw-diagnosing-bugs/SKILL.md +13 -2
- package/dist/templates/common/bundled-skills/atw-domain-modeling/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-handoff/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +37 -1
- package/dist/templates/common/bundled-skills/atw-implement-all/SKILL.md +219 -24
- package/dist/templates/common/bundled-skills/atw-implement-spec/SKILL.md +237 -18
- package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-init-repo/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +7 -1
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +7 -1
- package/dist/templates/common/bundled-skills/atw-map/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/add-project-local-conventions.md +4 -3
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-skills-or-commands.md +21 -16
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/change-task-lifecycle.md +1 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/customize-local/overview.md +1 -0
- package/dist/templates/common/bundled-skills/atw-meta/references/local-architecture/task-system.md +2 -1
- package/dist/templates/common/bundled-skills/atw-meta/references/platform-files/hooks-and-settings.md +1 -0
- package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-performance/SKILL.md +134 -0
- package/dist/templates/common/bundled-skills/atw-performance/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/optimization-patterns.md +250 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/performance-checklist.md +238 -0
- package/dist/templates/common/bundled-skills/atw-performance/references/performance-optimization.md +264 -0
- package/dist/templates/common/bundled-skills/atw-prototype/SKILL.md +3 -3
- package/dist/templates/common/bundled-skills/atw-prototype/{LOGIC.md → logic.md} +1 -1
- package/dist/templates/common/bundled-skills/atw-prototype/references/design-direction.md +91 -58
- package/dist/templates/common/bundled-skills/atw-prototype/references/direction-persuasion.md +25 -0
- package/dist/templates/common/bundled-skills/atw-prototype/references/style-explorer.md +1 -1
- package/dist/templates/common/bundled-skills/atw-prototype/ui.md +194 -0
- package/dist/templates/common/bundled-skills/atw-reflect/SKILL.md +77 -0
- package/dist/templates/common/bundled-skills/atw-reflect/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/divergent-reviewer.md +38 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/judgment-reviewer.md +37 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/synthesizer.md +63 -0
- package/dist/templates/common/bundled-skills/atw-reflect/references/tooling-reviewer.md +48 -0
- package/dist/templates/common/bundled-skills/atw-security/SKILL.md +248 -0
- package/dist/templates/common/bundled-skills/atw-security/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/atw-security/references/hardening-patterns.md +324 -0
- package/dist/templates/common/bundled-skills/atw-security/references/security-checklist.md +248 -0
- package/dist/templates/common/bundled-skills/atw-session-insight/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-session-insight/references/cli-quick-reference.md +11 -2
- package/dist/templates/common/bundled-skills/atw-spec/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-tdd/SKILL.md +25 -0
- package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-triage/SKILL.md +5 -5
- package/dist/templates/common/bundled-skills/atw-ui/SKILL.md +99 -31
- package/dist/templates/common/bundled-skills/atw-ui/references/accessibility-checklist.md +160 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/layout-and-viewport.md +7 -5
- package/dist/templates/common/bundled-skills/atw-ui/references/media.md +117 -20
- package/dist/templates/common/bundled-skills/atw-ui/references/motion.md +47 -23
- package/dist/templates/common/bundled-skills/atw-ui/references/play.md +18 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/reviewer-manual.md +73 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/scroll-narrative.md +98 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/tools.md +46 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-language.md +40 -24
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-review.md +26 -82
- package/dist/templates/common/bundled-skills/atw-ui/scripts/shoot.mjs +1721 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/SKILL.md +58 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/README.md +47 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/create-note.md +39 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/feature-map-example/search.md +45 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/generate.md +107 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/health-check.md +100 -0
- package/dist/templates/common/bundled-skills/atw-verify-skill/references/verify-skill-template.md +99 -0
- package/dist/templates/common/bundled-skills/atw-what-happened/SKILL.md +49 -0
- package/dist/templates/common/bundled-skills/atw-what-happened/agents/openai.yaml +5 -0
- package/dist/templates/common/commands/finish-work.md +10 -1
- package/dist/templates/common/commands/start.md +3 -1
- package/dist/templates/common/skills/update-spec.md +40 -4
- package/dist/templates/copilot/hooks/session-start.py +2 -2
- package/dist/templates/dsh/DSH.md +2 -2
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +10 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +10 -0
- package/dist/templates/omp/config.yml +15 -0
- package/dist/templates/omp/extensions/atw/index.ts.txt +135 -18
- package/dist/templates/omp/index.d.ts +1 -0
- package/dist/templates/omp/index.d.ts.map +1 -1
- package/dist/templates/omp/index.js +3 -0
- package/dist/templates/omp/index.js.map +1 -1
- package/dist/templates/opencode/lib/session-utils.js +4 -2
- package/dist/templates/opencode/plugins/inject-workflow-state.js +5 -1
- package/dist/templates/pi/extensions/atw/index.ts.txt +80 -7
- package/dist/templates/shared-hooks/index.d.ts +8 -1
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +8 -0
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-workflow-state.py +131 -14
- package/dist/templates/shared-hooks/session-start.py +4 -2
- package/dist/templates/shared-hooks/show-notice.py +135 -0
- package/dist/templates/snow/SNOW.md +1 -1
- package/dist/utils/initialized.d.ts +9 -0
- package/dist/utils/initialized.d.ts.map +1 -0
- package/dist/utils/initialized.js +24 -0
- package/dist/utils/initialized.js.map +1 -0
- package/dist/utils/managed-removal.d.ts +2 -0
- package/dist/utils/managed-removal.d.ts.map +1 -1
- package/dist/utils/managed-removal.js +23 -3
- package/dist/utils/managed-removal.js.map +1 -1
- package/dist/utils/optional-skills.d.ts +2 -0
- package/dist/utils/optional-skills.d.ts.map +1 -1
- package/dist/utils/optional-skills.js +1 -1
- package/dist/utils/optional-skills.js.map +1 -1
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +3 -0
- package/dist/utils/template-hash.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts +10 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +50 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/verify-entries.d.ts +51 -0
- package/dist/utils/verify-entries.d.ts.map +1 -0
- package/dist/utils/verify-entries.js +399 -0
- package/dist/utils/verify-entries.js.map +1 -0
- package/package.json +2 -2
- package/dist/templates/common/bundled-skills/atw-prototype/UI.md +0 -174
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-language.md +0 -88
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-review.md +0 -63
- package/dist/templates/common/bundled-skills/atw-ui/references/imagery.md +0 -69
- /package/dist/templates/common/bundled-skills/atw-codebase-design/{DEEPENING.md → deepening.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-domain-modeling/{ADR-FORMAT.md → adr-format.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-domain-modeling/{GLOSSARY-FORMAT.md → glossary-format.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-improve-codebase-architecture/{HTML-REPORT.md → html-report.md} +0 -0
- /package/dist/templates/common/bundled-skills/atw-triage/{AGENT-BRIEF.md → agent-brief.md} +0 -0
- /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>
|
|
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
|
-
##
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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`
|
|
149
|
-
review
|
|
150
|
-
the code yourself.
|
|
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
|
-
##
|
|
48
|
+
## Quick start
|
|
170
49
|
|
|
171
|
-
|
|
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.
|
|
181
|
-
atw init -u your-name
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
`
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
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> •
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
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"}
|