@chinhae/atw-cli 0.3.0 → 0.3.1

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.
@@ -4,8 +4,8 @@
4
4
  "breaking": true,
5
5
  "recommendMigrate": true,
6
6
  "changelog": "Glossary rename: every bundled skill that read or wrote CONTEXT.md / CONTEXT-MAP.md now uses GLOSSARY.md / GLOSSARY-MAP.md, and atw-domain-modeling's format reference is GLOSSARY-FORMAT.md; there is no fallback to the old names. New bundled skill atw-implement-spec (user-triggered): one orchestrating session works a sliced spec as a task graph, dispatching implementer sub-agents across the ready frontier, each in its own worktree, landing everything on one integration branch, reviewing once at the end with a single fix round and one focused re-check, then writing spec updates back before the closing commit. tickets.py claim gains --parallel for it: several tickets may sit at Impl: doing, implementation_base_sha is recorded once for the run, check.jsonl carries no current-ticket line, and task.json records meta.ticket_mode = parallel so the sub-agent context hook reads several doing tickets as a run in progress instead of a contradiction; a plain claim still refuses a second ticket and puts the task back in serial mode. workflow.md, the per-turn implement breadcrumb, the continue command and the Codex mode banner now describe both ways through stop ③. Removed bundled skills: atw-merge, dejargonizer, noob-mode, oxy-explanation, oxy-learning-hub, show-me. Synced with upstream skill changes: atw-interview separates the questions of a round and words each so yes accepts the recommendation; atw-code-review lists every standards file and issues its sub-agents together; atw-implement states the ticket it was given and stops if the tracker marks a different one in progress, and calls its companion skills through the Skill tool; atw-tickets makes tickets sub-issues of an existing source issue on a real tracker; atw-map keeps triage labels off map tickets, wires cross-references with real ids, reads the ticket type from where the tracker records it, and puts research findings where the tracker doc says before falling back to a throwaway branch; atw-init-repo creates missing triage labels on GitHub/GitLab, documents the sub-issue operation and fixes several gh/glab commands; atw-tdd, atw-diagnosing-bugs and atw-handoff each gain one clarification. Skills that told the model to call the Skill tool for the user-only atw-init-repo now tell the user to run /atw-init-repo. atw init: an interactive run first asks which language its own prompts use (中文 or English; wording only, nothing written to the project depends on it), and no longer asks whether to install the Claude Code statusLine — --with-statusline still installs it. At the end of every interactive run, first or repeated, init offers extra skills: the list and the skills are downloaded from github.com/LFT-OXY/oxy-Tools, shown with one line each, and the ticked ones are copied into the skill directory of each configured platform and recorded in .atw/.optional-skills.json. atw update replaces a recorded extra skill, whole directory and without asking, when the list names another version; atw uninstall removes the recorded ones; a same-named directory ATW did not install is never touched. With --yes or outside a terminal both questions are skipped. New bundled skill atw-noob-mode: a plain-language mode for users who are not engineers, switched on by saying so or by running /atw-noob-mode. The switch is a noob_mode=on line in the gitignored .atw/.developer, so it is personal; while it is on, the per-turn hook, the session-start hook and get_context.py append the reminder from workflow.md's new [workflow-state:noob_mode] block, which keeps the mode in force across stages instead of fading after the skill was loaded once. scripts/noob_mode.py on|off|status flips it.",
7
- "migrationGuide": "### What changed\n\n1. **The project glossary is now `GLOSSARY.md`.** Every bundled skill that read or wrote `CONTEXT.md` / `CONTEXT-MAP.md` (atw-domain-modeling, atw-init-repo, atw-triage, atw-tdd, atw-diagnosing-bugs, atw-codebase-design, atw-improve-codebase-architecture) now uses `GLOSSARY.md` / `GLOSSARY-MAP.md`. There is no fallback to the old names: a glossary left at `CONTEXT.md` is simply not found.\n2. **Six bundled skills are gone:** atw-merge, dejargonizer, noob-mode, oxy-explanation, oxy-learning-hub, show-me. dejargonizer and noob-mode are succeeded by the new built-in `/atw-noob-mode`; explanation, oxy-learning-hub and show-me can be installed again as extra skills by re-running `atw init`.\n3. **New skill `/atw-implement-spec`** implements a whole sliced spec in one parallel run. `tickets.py claim` gained `--parallel` for it. The per-ticket `/atw-implement` flow is unchanged.\n4. **`atw init` asks for a display language and offers extra skills**, and no longer asks about the Claude Code statusLine (`--with-statusline` still installs it). Extra skills are downloaded from `LFT-OXY/oxy-Tools`; `atw update` keeps them current and `atw uninstall` removes them.\n5. **New skill `/atw-noob-mode`**, a personal plain-language mode that stays on across stages until switched off.\n\n### What `atw update --migrate` does for you\n\n- Offers to rename `CONTEXT.md` → `GLOSSARY.md` and `CONTEXT-MAP.md` → `GLOSSARY-MAP.md` at the repository root. These are your files, so it asks before each one. Skip only if the file is not the ATW glossary.\n- Deletes the installed files of the six removed skills, and the old `atw-domain-modeling/CONTEXT-FORMAT.md`, from every platform skill directory — but only copies you never edited. An edited copy is left where it is and reported.\n\n### What is left for you\n\n- [ ] **Multi-context repos:** rename each per-context `CONTEXT.md` to `GLOSSARY.md`, and fix the links inside `GLOSSARY-MAP.md` to match. The updater only knows the two root paths.\n- [ ] **`docs/agents/domain.md` and `docs/agents/issue-tracker.md`:** `/atw-init-repo` wrote these into your repo and they still name `CONTEXT.md`. Replace the name in both, or re-run `/atw-init-repo` to regenerate them.\n- [ ] **Any other mention** of `CONTEXT.md` / `CONTEXT-MAP.md` in `AGENTS.md`, `CLAUDE.md`, ADRs under `docs/adr/`, or `.atw/spec/`.\n- [ ] **Edited copies of removed skills** the updater reported as kept: delete them if you no longer want them.\n\nNothing else needs action. Open tasks, tickets and `task.json` files are compatible as they are.",
8
- "aiInstructions": "- Find every glossary file still on the old name: `git ls-files '*CONTEXT.md' '*CONTEXT-MAP.md'`. Before renaming one, open it and confirm it is an ATW glossary (a `## Language` heading with bold terms and `_Avoid_:` lines, or for the map a list of links to per-context files). Leave an unrelated file that only shares the name alone, and say that you did.\n- Rename with `git mv <dir>/CONTEXT.md <dir>/GLOSSARY.md` (and `CONTEXT-MAP.md` → `GLOSSARY-MAP.md`) so history follows the file. If a `GLOSSARY.md` already exists beside it, stop and ask the user which one is current instead of merging on your own.\n- After the renames, update the references: `grep -rnE 'CONTEXT(-MAP)?\\.md' --include='*.md' .` and fix each hit that points at a glossary — links inside `GLOSSARY-MAP.md`, `docs/agents/domain.md`, `docs/agents/issue-tracker.md`, `AGENTS.md` / `CLAUDE.md`, ADRs, `.atw/spec/`. Do not edit anything under `.atw/tasks/archive/`: archived tasks are a record of what was true then.\n- Do not rewrite the headings in `docs/agents/*.md` while you are there; other skills match them literally.\n- If the updater reported removed-skill files as kept because they were modified, list them for the user and ask before deleting. Never delete them silently.\n- Verify at the end: the first grep returns nothing outside archived tasks, and `git status` shows only renames and the reference edits.",
7
+ "migrationGuide": "### What changed\n\n1. **The project glossary is now `GLOSSARY.md`.** Every bundled skill that read or wrote `CONTEXT.md` / `CONTEXT-MAP.md` (atw-domain-modeling, atw-init-repo, atw-triage, atw-tdd, atw-diagnosing-bugs, atw-codebase-design, atw-improve-codebase-architecture) now uses `GLOSSARY.md` / `GLOSSARY-MAP.md`. There is no fallback to the old names: a glossary left at `CONTEXT.md` is simply not found.\n2. **Six bundled skills are gone:** atw-merge, dejargonizer, noob-mode, oxy-explanation, oxy-learning-hub, show-me. dejargonizer and noob-mode are succeeded by the new built-in `/atw-noob-mode`; explanation, oxy-learning-hub and show-me can be installed again as extra skills by re-running `atw init`.\n3. **New skill `/atw-implement-spec`** implements a whole sliced spec in one parallel run. `tickets.py claim` gained `--parallel` for it. The per-ticket `/atw-implement` flow is unchanged.\n4. **`atw init` asks for a display language and offers extra skills**, and no longer asks about the Claude Code statusLine (`--with-statusline` still installs it). Extra skills are downloaded from `LFT-OXY/oxy-Tools`; `atw update` keeps them current and `atw uninstall` removes them.\n5. **New skill `/atw-noob-mode`**, a personal plain-language mode that stays on across stages until switched off.\n\n### What `atw update --migrate` does for you\n\n- Offers to rename `CONTEXT.md` → `GLOSSARY.md` and `CONTEXT-MAP.md` → `GLOSSARY-MAP.md` at the repository root. These are your files, so it asks before each one. Skip only if the file is not the ATW glossary.\n- Deletes the installed files of the six removed skills, and the old `atw-domain-modeling/CONTEXT-FORMAT.md`, from every platform skill directory — but only copies you never edited. An edited copy is left where it is and reported.\n\n### What is left for you\n\n- [ ] **Multi-context repos:** rename each per-context `CONTEXT.md` to `GLOSSARY.md`, and fix the links inside `GLOSSARY-MAP.md` to match. The updater only knows the two root paths.\n- [ ] **`docs/agents/domain.md` and `docs/agents/issue-tracker.md`:** `/atw-init-repo` wrote these into your repo and they still name `CONTEXT.md`. Replace the name in both, or re-run `/atw-init-repo` to regenerate them.\n- [ ] **Open tasks:** `check.jsonl` and `implement.jsonl` under `.atw/tasks/<task>/` list files by path. A line that still names `CONTEXT.md` now points at a file that is gone, and the hook skips it without a word — the review sub-agent simply works without your glossary. Replace the name there, and in that task's `prd.md`, `map.md` and tickets. `python3 ./.atw/scripts/task.py validate <task-dir>` reports every line whose file is missing.\n- [ ] **Any other mention** of `CONTEXT.md` / `CONTEXT-MAP.md` in `AGENTS.md`, `CLAUDE.md`, ADRs under `docs/adr/`, or `.atw/spec/`.\n- [ ] **Edited copies of removed skills** the updater reported as kept: delete them if you no longer want them.\n\nNothing else needs action. Ticket states and `task.json` files are compatible as they are.",
8
+ "aiInstructions": "- Find every glossary file still on the old name: `git ls-files '*CONTEXT.md' '*CONTEXT-MAP.md'`. Before renaming one, open it and confirm it is an ATW glossary (a `## Language` heading with bold terms and `_Avoid_:` lines, or for the map a list of links to per-context files). Leave an unrelated file that only shares the name alone, and say that you did.\n- Rename with `git mv <dir>/CONTEXT.md <dir>/GLOSSARY.md` (and `CONTEXT-MAP.md` → `GLOSSARY-MAP.md`) so history follows the file. If a `GLOSSARY.md` already exists beside it, stop and ask the user which one is current instead of merging on your own.\n- After the renames, update the references: `grep -rnE 'CONTEXT(-MAP)?\\.md' --include='*.md' --include='*.jsonl' .` and fix each hit that points at a glossary — links inside `GLOSSARY-MAP.md`, `docs/agents/domain.md`, `docs/agents/issue-tracker.md`, `AGENTS.md` / `CLAUDE.md`, ADRs, `.atw/spec/`, and every task under `.atw/tasks/` that is not archived: its `check.jsonl` / `implement.jsonl`, `prd.md`, `map.md` and `issues/`. Do not edit anything under `.atw/tasks/archive/`: archived tasks are a record of what was true then.\n- A `check.jsonl` / `implement.jsonl` line whose file does not exist is skipped silently when sub-agent context is built, so a stale glossary path there is invisible at review time. After editing a task's jsonl, run `python3 ./.atw/scripts/task.py validate <task-dir>` and clear every `File not found`.\n- Do not rewrite the headings in `docs/agents/*.md` while you are there; other skills match them literally.\n- If the updater reported removed-skill files as kept because they were modified, list them for the user and ask before deleting. Never delete them silently.\n- Verify at the end: the first grep returns nothing outside archived tasks, and `git status` shows only renames and the reference edits.",
9
9
  "migrations": [
10
10
  {
11
11
  "type": "rename",
@@ -3406,5 +3406,5 @@
3406
3406
  ]
3407
3407
  }
3408
3408
  ],
3409
- "notes": "Run atw update --migrate. Two renames (root CONTEXT.md and CONTEXT-MAP.md) are user files with no template hash, so each is confirmed interactively; in a non-interactive shell pass --force to apply them or --skip-all to leave them. The safe-file-delete entries cover the six removed skills and atw-domain-modeling/CONTEXT-FORMAT.md under all 18 platform skill roots; allowed_hashes were computed from the rendered templates of every release from 0.1.0 to 0.2.10, on both POSIX and Windows python-command variants, so an unmodified copy from any earlier version is removed and a modified one is kept and reported. Per-context glossary files in multi-context repos and the docs/agents files written by atw-init-repo are not reachable from a manifest; the migration task created by this update lists them."
3409
+ "notes": "Run atw update --migrate. Two renames (root CONTEXT.md and CONTEXT-MAP.md) are user files with no template hash, so each is confirmed interactively; in a non-interactive shell pass --force to apply them or --skip-all to leave them. The safe-file-delete entries cover the six removed skills and atw-domain-modeling/CONTEXT-FORMAT.md under all 18 platform skill roots; allowed_hashes were computed from the rendered templates of every release from 0.1.0 to 0.2.10, on both POSIX and Windows python-command variants, so an unmodified copy from any earlier version is removed and a modified one is kept and reported. Per-context glossary files in multi-context repos, the docs/agents files written by atw-init-repo and the context lists (check.jsonl / implement.jsonl) of open tasks are not reachable from a manifest; the migration task created by this update lists them."
3410
3410
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": "0.3.1",
3
+ "description": "The 0.3.0 migration guide now covers open tasks whose context lists still name CONTEXT.md.",
4
+ "breaking": false,
5
+ "recommendMigrate": false,
6
+ "changelog": "Fix to the 0.3.0 migration guide, no template changes. The guide said open tasks need no action after the CONTEXT.md → GLOSSARY.md rename. That was wrong for a task whose check.jsonl or implement.jsonl lists CONTEXT.md: the path no longer exists, the hook that builds sub-agent context skips a missing file silently, and the review runs without the project glossary. The guide and its AI instructions now list those files, search *.jsonl as well as *.md, and point at task.py validate. If you already upgraded to 0.3.0, check once: grep -rnE 'CONTEXT(-MAP)?\\.md' .atw/tasks --include='*.jsonl' --include='*.md' --exclude-dir=archive — replace the name in each hit, then run python3 ./.atw/scripts/task.py validate <task-dir> on the task and clear every 'File not found'.",
7
+ "migrations": [],
8
+ "notes": "No migration required and no files added, deleted or renamed. Projects upgrading from 0.2.x straight to 0.3.1 get the corrected guide in their migrate-to task. Projects already on 0.3.0 get no new task: run the grep from the changelog once if a task was open during the 0.3.0 upgrade."
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chinhae/atw-cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A Team Workflow — an AI coding workflow framework that encodes your team's conventions into the process",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "inquirer": "^9.3.7",
34
34
  "undici": "^6.21.0",
35
35
  "zod": "^4.4.2",
36
- "@chinhae/atw-core": "0.3.0"
36
+ "@chinhae/atw-core": "0.3.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^9.18.0",