@brunosps00/dev-workflow 1.0.4 → 1.0.6

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 (70) hide show
  1. package/README.md +71 -23
  2. package/bin/dev-workflow.js +29 -3
  3. package/lib/agents.js +410 -0
  4. package/lib/constants.js +16 -2
  5. package/lib/doctor.js +213 -0
  6. package/lib/init.js +96 -8
  7. package/lib/install-state.js +57 -0
  8. package/lib/list-installed.js +27 -0
  9. package/lib/migrate-skills.js +26 -2
  10. package/lib/profiles.js +44 -0
  11. package/lib/skill-registry.js +109 -0
  12. package/lib/subtasks.js +264 -0
  13. package/lib/uninstall.js +21 -12
  14. package/lib/utils.js +42 -1
  15. package/lib/wrappers.js +2 -1
  16. package/package.json +1 -1
  17. package/scaffold/agent-registry.json +272 -0
  18. package/scaffold/agents/core/dw-build-fixer.md +21 -0
  19. package/scaffold/agents/core/dw-code-explorer.md +32 -0
  20. package/scaffold/agents/core/dw-code-reviewer.md +28 -0
  21. package/scaffold/agents/core/dw-planner.md +23 -0
  22. package/scaffold/agents/core/dw-test-author.md +21 -0
  23. package/scaffold/agents/csharp/dw-csharp-reviewer.md +15 -0
  24. package/scaffold/agents/csharp/dw-dotnet-build-fixer.md +15 -0
  25. package/scaffold/agents/frontend/dw-qa-runner.md +21 -0
  26. package/scaffold/agents/python/dw-python-build-fixer.md +15 -0
  27. package/scaffold/agents/python/dw-python-reviewer.md +15 -0
  28. package/scaffold/agents/rust/dw-rust-build-fixer.md +15 -0
  29. package/scaffold/agents/rust/dw-rust-reviewer.md +15 -0
  30. package/scaffold/agents/security/dw-security-reviewer.md +24 -0
  31. package/scaffold/agents/security/dw-silent-failure-hunter.md +22 -0
  32. package/scaffold/agents/typescript/dw-typescript-build-fixer.md +15 -0
  33. package/scaffold/agents/typescript/dw-typescript-reviewer.md +15 -0
  34. package/scaffold/en/agent-instructions.md +51 -6
  35. package/scaffold/en/commands/dw-autopilot.md +156 -275
  36. package/scaffold/en/commands/dw-bugfix.md +12 -2
  37. package/scaffold/en/commands/dw-context-budget.md +28 -0
  38. package/scaffold/en/commands/dw-goal.md +136 -0
  39. package/scaffold/en/commands/dw-harness-audit.md +31 -0
  40. package/scaffold/en/commands/dw-help.md +22 -10
  41. package/scaffold/en/commands/dw-intel.md +6 -0
  42. package/scaffold/en/commands/dw-plan.md +20 -3
  43. package/scaffold/en/commands/dw-review.md +12 -0
  44. package/scaffold/en/commands/dw-skill-health.md +29 -0
  45. package/scaffold/en/commands/dw-subtask-complete.md +40 -0
  46. package/scaffold/en/commands/dw-subtask-resume.md +21 -0
  47. package/scaffold/en/commands/dw-subtask-start.md +22 -0
  48. package/scaffold/pt-br/agent-instructions.md +51 -6
  49. package/scaffold/pt-br/commands/dw-autopilot.md +159 -278
  50. package/scaffold/pt-br/commands/dw-bugfix.md +12 -2
  51. package/scaffold/pt-br/commands/dw-context-budget.md +28 -0
  52. package/scaffold/pt-br/commands/dw-goal.md +136 -0
  53. package/scaffold/pt-br/commands/dw-harness-audit.md +31 -0
  54. package/scaffold/pt-br/commands/dw-help.md +22 -10
  55. package/scaffold/pt-br/commands/dw-intel.md +6 -0
  56. package/scaffold/pt-br/commands/dw-plan.md +20 -3
  57. package/scaffold/pt-br/commands/dw-review.md +12 -0
  58. package/scaffold/pt-br/commands/dw-skill-health.md +29 -0
  59. package/scaffold/pt-br/commands/dw-subtask-complete.md +40 -0
  60. package/scaffold/pt-br/commands/dw-subtask-resume.md +21 -0
  61. package/scaffold/pt-br/commands/dw-subtask-start.md +22 -0
  62. package/scaffold/skill-registry.json +258 -0
  63. package/scaffold/skills/dw-codebase-intel/SKILL.md +12 -5
  64. package/scaffold/skills/dw-context-budget/SKILL.md +45 -0
  65. package/scaffold/skills/dw-search-first/SKILL.md +31 -0
  66. package/scaffold/skills/dw-silent-failure/SKILL.md +33 -0
  67. package/scaffold/skills/dw-verify/SKILL.md +2 -29
  68. package/scaffold/skills/dw-verify/references/verification-discovery-and-attribution.md +32 -0
  69. package/scaffold/skills/humanizer/SKILL.md +7 -412
  70. package/scaffold/skills/humanizer/references/ai-writing-patterns.md +418 -0
package/README.md CHANGED
@@ -10,11 +10,11 @@ npx @brunosps00/dev-workflow init
10
10
 
11
11
  This will:
12
12
  1. Ask you to select a language (English or Portuguese)
13
- 2. Create `.dw/commands/` with 20 workflow commands
13
+ 2. Create `.dw/commands/` with workflow commands
14
14
  3. Create `.dw/templates/` with document templates (PRD, TechSpec, Tasks, ADR, etc.)
15
15
  4. Create `.dw/rules/` (populated by `/dw-analyze-project`)
16
16
  5. Install bundled skills (`dw-verify`, `dw-memory`, `dw-review-rigor`, `dw-ui-discipline`, `dw-testing-discipline`, `security-review`, etc.) to `.agents/skills/`
17
- 6. Generate skill wrappers for Claude Code, Codex, Copilot, and OpenCode
17
+ 6. Generate skill wrappers and project agents for Claude Code, Codex, Copilot, and OpenCode
18
18
  7. Configure MCP servers (Context7 + Playwright)
19
19
 
20
20
  > **Compozy-inspired disciplines.** Since 0.5.0, dev-workflow bundles three primitives — `dw-verify`, `dw-memory`, `dw-review-rigor` — adapted from the [Compozy](https://github.com/compozy/compozy) project and invoked internally by existing commands. See [docs/compozy-integration.md](docs/compozy-integration.md) for what was ported and what was not.
@@ -26,13 +26,13 @@ npx @brunosps00/dev-workflow install-deps
26
26
 
27
27
  ## Commands
28
28
 
29
- dev-workflow v1.0.4 ships **24 commands** organized into four tiers. Most users only invoke Tier 1 + Tier 2.
29
+ dev-workflow v1.0.6 ships **31 commands** organized into four tiers. Most users only invoke Tier 1 + Tier 2.
30
30
 
31
31
  ### Tier 1 — Gateway (3)
32
32
 
33
33
  | Command | When |
34
34
  |---------|------|
35
- | **`/dw-autopilot "wish"`** | Default entry point. Full pipeline (PRD → TechSpec → Tasks → Run → QA → Review → Commit → PR) with 3 approval gates. Use `--from-prd <slug>` to resume from an existing PRD (e.g., after a `/dw-bugfix` safety-valve escalation): skips Steps 1–4 and starts at GATE 1. |
35
+ | **`/dw-autopilot "wish"`** | Default entry point in two invocations. First run completes PRD → TechSpec → Tasks and stops. Second run resumes from state, executes `/dw-goal --from-autopilot <slug>` for Run → Review → QA/Fix → Review, then Commit → PR. |
36
36
  | **`/dw-bugfix "description"`** | A bug report or pasted error. Triages bug-vs-feature-vs-scope, surgical fix or routes to a PRD. |
37
37
  | **`/dw-help [keyword]`** | Discover commands. Pass a keyword for shortcuts; `--advanced` reveals internal commands. |
38
38
 
@@ -52,19 +52,22 @@ Use these when you want step-by-step control instead of `/dw-autopilot`.
52
52
  | **`/dw-commit`** | Atomic Conventional Commits for pending changes. Applies `dw-git-discipline` (one intent per commit, lint+tests+build green before). |
53
53
  | **`/dw-generate-pr [target]`** | Push the branch, draft a PR body with summary + test plan, open the browser. Hard gates: dw-verify PASS + secure-audit. |
54
54
 
55
- ### Tier 3 — Specialty (5)
55
+ ### Tier 3 — Specialty (8)
56
56
 
57
57
  | Command | What |
58
58
  |---------|------|
59
59
  | **`/dw-analyze-project`** | Scans the repo, writes `.dw/rules/` (per-module conventions, anti-patterns, naming). Step 8 offers to generate `.dw/constitution.md` (declarative principles the team commits to). Step 9 generates `.dw/rules/concerns.md` (risk map: hot spots, fragile integrations, hostile code, bug history). Run once per project; refresh after major refactors. |
60
60
  | **`/dw-redesign-ui "target"`** | Audits a frontend page, runs the `dw-ui-discipline` 4-question grounding, proposes 2-3 design directions, ships the redesign. WCAG 2.2 AA accessibility floor is non-negotiable. |
61
61
  | **`/dw-functional-doc`** | Maps screens + user flows into a functional doc, validated end-to-end with Playwright. |
62
+ | **`/dw-context-budget`** | Audits context overhead from commands, skills, agents, instruction files, and MCPs. |
63
+ | **`/dw-harness-audit`** | Deterministic health scorecard for the dev-workflow install, agents, wrappers, MCPs, and gates. |
64
+ | **`/dw-skill-health`** | Audits installed skills and agents for bloat, duplication, and missing references. |
62
65
  | **`/dw-new-project`** | Bootstrap a new project from empty directory. Stack interview, wraps official `create-*` tools, composes docker-compose for dev, seeds `.env`, scripts, CI, `.dw/rules/`. |
63
66
  | **`/dw-dockerize`** | Reads existing project, detects stack + runtime deps, proposes Dockerfile + docker-compose for dev/prod with explicit trade-offs (Conservative/Balanced/Bold). |
64
67
  | **`/dw-install-azure-skills`** | **Opt-in.** Clones curated Azure skills from [`MicrosoftDocs/Agent-Skills`](https://github.com/MicrosoftDocs/Agent-Skills) (CC-BY-4.0) into `.agents/skills/azure/` and registers the [Microsoft Learn MCP Server](https://learn.microsoft.com/en-us/training/support/mcp-get-started) (HTTP, no-auth). Interactive category selection (Compute / Data & Storage / AI & ML / Networking / Identity & Security / DevOps / Observability / Integration / Architecture / All). Re-run to refresh from upstream. Also available as CLI: `npx @brunosps00/dev-workflow install-azure-skills`. |
65
68
  | **`/dw-install-aws-skills`** | **Opt-in.** Clones curated AWS skills from [`aws/agent-toolkit-for-aws`](https://github.com/aws/agent-toolkit-for-aws) (Apache 2.0) into `.agents/skills/aws/` and registers the unified [AWS MCP Server](https://docs.aws.amazon.com/aws-mcp/) (stdio via `uvx mcp-proxy-for-aws@latest`). **Requires `uv`, `aws cli ≥ 2.32.0`, and AWS credentials.** Interactive category selection (Core / Analytics / Database / EC2 / Migration / Networking / Operations / Security / Serverless / Storage / All). The agent gains `aws___call_aws` (executes 15,000+ AWS APIs) and `aws___run_script` (Python sandboxed) — review `.dw/references/aws-mcp-instructions.md` for the destructive-operations protocol. Also available as CLI: `npx @brunosps00/dev-workflow install-aws-skills [--region=<aws-region>]`. |
66
69
 
67
- ### Tier 4 — Hidden/Internal (5)
70
+ ### Tier 4 — Hidden/Internal (9)
68
71
 
69
72
  These are auto-invoked by Tier 1-3 commands. Available standalone via `/dw-help --advanced`.
70
73
 
@@ -73,26 +76,29 @@ These are auto-invoked by Tier 1-3 commands. Available standalone via `/dw-help
73
76
  | **`/dw-adr "decision"`** | Records an Architecture Decision Record at `.dw/spec/<prd>/adrs/`. | `/dw-plan techspec --council`; deviations from constitution |
74
77
  | **`/dw-intel "question"`** | Query codebase intelligence (`.dw/intel/`). `--build` (re)creates the index. | `/dw-plan`, `/dw-review`, `/dw-bugfix` |
75
78
  | **`/dw-secure-audit`** | Unified security: OWASP + Trivy SCA/secret/IaC + lockfile + supply-chain check. Hard gate. Flags: `--scan-only`, `--plan`, `--execute`. | `/dw-review`, `/dw-generate-pr` (for TS/Python/C#/Rust) |
79
+ | **`/dw-goal "<objective>"`** | Durable objective contract. Uses Codex native `/goal` when available and `.dw/goals/` everywhere for Codex, Copilot, Claude Code, and OpenCode. | `/dw-autopilot` after planning |
76
80
  | **`/dw-find-skills "query"`** | Searches `npx skills` ecosystem, vets, installs. | manual when extending the bundle |
77
81
  | **`/dw-update`** | Updates dev-workflow to latest npm release with rollback snapshot. | manual maintenance |
82
+ | **`/dw-subtask-start`** | Creates a minimal input packet for a subagent without injecting the parent transcript. | parent agent before delegation |
83
+ | **`/dw-subtask-complete`** | Records a structured child-session handoff. | subagent / child session |
84
+ | **`/dw-subtask-resume`** | Consumes and archives pending handoffs for parent synthesis. | parent agent after delegation |
78
85
 
79
86
  ## Workflow
80
87
 
81
88
  ```
82
- /dw-autopilot "wish" ------> Runs entire pipeline automatically
83
- (3 gates: PRD approval, Tasks approval, PR confirmation)
89
+ /dw-autopilot "wish" ------> First invocation: PRD → TechSpec → Tasks → STOP
90
+ /dw-autopilot ------> Second invocation: /dw-goal → Commit → PR
84
91
  --- OR step-by-step ---
85
92
 
86
93
  /dw-brainstorm --> /dw-plan --> .dw/spec/prd-{name}/{prd,techspec,tasks}.md
87
94
  |
88
- /dw-run --> atomic commits per task, dependency-aware
89
- |
90
- /dw-qa --> .dw/spec/prd-{name}/QA/ (UI / API / --ai)
91
- |
92
- /dw-review --> L2 PRD coverage + L3 code quality
95
+ /dw-goal --> /dw-run → /dw-review → /dw-qa → /dw-review
93
96
  |
94
97
  /dw-commit + /dw-generate-pr
95
98
 
99
+ Manual alternative after /dw-plan:
100
+ /dw-run → /dw-review → /dw-qa → /dw-review → /dw-commit → /dw-generate-pr
101
+
96
102
  Shortcuts:
97
103
  /dw-intel "question" Query codebase intelligence
98
104
  /dw-redesign-ui "target" Visual redesign of a page or component
@@ -129,7 +135,7 @@ Customize templates locally without losing dev-workflow updates. Drop a file at
129
135
 
130
136
  **What's inside:**
131
137
 
132
- - **Trigger Map** — 15 mappings from user intent ("Implement X", "Bug in Y", "Review my PR", ...) to the `dw-*` command the agent should run. `/dw-autopilot` is the safest default for non-trivial feature requests.
138
+ - **Trigger Map** — mappings from user intent ("Implement X", "Bug in Y", "Review my PR", "resume autopilot", ...) to the `dw-*` command the agent should run. `/dw-autopilot` is the safest default for non-trivial feature requests; `/dw-goal` is the durable execution contract after planning.
133
139
  - **Hard Gates** — reminders that constitution violations (high/critical), missing `dw-verify` PASS, and security failures block downstream commands.
134
140
  - **Escape Hatches** — explicit cases where the agent should NOT auto-trigger (typos, exploration, aesthetic edits, user opt-out).
135
141
 
@@ -157,39 +163,81 @@ npx @brunosps00/dev-workflow update
157
163
  |----------|-----------------|--------|
158
164
  | Claude Code | `.claude/skills/` | Full support |
159
165
  | Codex CLI | `.agents/skills/` | Full support |
160
- | Copilot | `.agents/skills/` | Full support |
166
+ | Copilot | `.agents/skills/` + `.github/agents/` | Full support |
161
167
  | OpenCode | `.opencode/commands/` | Full support |
162
168
 
163
169
  All wrappers point to `.dw/commands/` as the single source of truth.
164
170
 
171
+ ### Durable Goals
172
+
173
+ `/dw-goal` gives every supported agent a portable version of Codex's durable goal workflow. In Codex, it may bridge to the native experimental `/goal` command when `features.goals` is enabled. In every platform, the canonical state is still stored under `.dw/goals/<slug>/` so Copilot, Claude Code, OpenCode, and Codex all follow the same objective, checkpoints, progress log, and stopping condition.
174
+
165
175
  ## Project Structure (after init)
166
176
 
167
177
  ```
168
178
  your-project/
169
179
  ├── .dw/
170
- │ ├── commands/ # 22 workflow command files (v1.0.2)
180
+ │ ├── commands/ # workflow command files
171
181
  │ ├── templates/ # Document templates (PRD, TechSpec, state, concerns, bugfix-summary, etc.)
172
182
  │ │ └── overrides/ # Project-local template customizations (override > core)
173
183
  │ ├── rules/ # Project-specific rules (run /dw-analyze-project)
174
184
  │ │ └── concerns.md # Risk map: hot spots, fragile integrations, bug history (Step 9 of /dw-analyze-project)
175
185
  │ ├── constitution.md # Declarative principles (auto-installed when missing)
186
+ │ ├── skill-registry.json # Local skill taxonomy, triggers, owners, load policy, and context limits
176
187
  │ ├── references/ # Reference documentation
177
188
  │ ├── scripts/ # Utility scripts
178
189
  │ ├── spec/ # PRD directories — each contains tasks-validation.md
179
190
  │ ├── bugfixes/ # Persistent bugfix records: NNN-<slug>/{TASK.md, SUMMARY.md, fix-report.md} + review/, QA/
191
+ │ ├── subtasks/ # Local ephemeral subagent input packets and handoffs (pending/archive ignored by Git)
180
192
  │ └── STATE.md # Session state: Decisions, Blockers, Todos, Open Loops, Deferred Ideas, Lessons, Preferences (managed by /dw-pause + /dw-resume)
181
193
  ├── CLAUDE.md # Auto-trigger decision tree for Claude Code (merge-aware, includes Auto-Sizing Matrix)
182
194
  ├── AGENTS.md # Same content for Codex / Copilot / OpenCode
183
195
  ├── .claude/
184
196
  │ ├── skills/ # Claude Code wrappers
197
+ │ ├── agents/ # Claude Code project agents
185
198
  │ └── settings.json # MCP servers (Context7, Playwright)
186
199
  ├── .agents/skills/ # Codex/Copilot wrappers + bundled skills
187
- └── .opencode/commands/ # OpenCode wrappers
200
+ ├── .agents/agents/ # Codex/Copilot fallback agent definitions
201
+ ├── .github/agents/ # GitHub Copilot custom agents
202
+ ├── .opencode/commands/ # OpenCode wrappers
203
+ └── .opencode/agent/ # OpenCode project agents
204
+ ```
205
+
206
+ ## Agents
207
+
208
+ `dev-workflow` installs a compact agent layer in addition to skills. Skills remain protocols and reference material; agents are dispatchable roles such as `dw-code-explorer`, `dw-build-fixer`, `dw-code-reviewer`, and language-specific reviewers.
209
+
210
+ Profiles control agent breadth:
211
+
212
+ ```bash
213
+ npx @brunosps00/dev-workflow init --profile=core
214
+ npx @brunosps00/dev-workflow init --profile=standard
215
+ npx @brunosps00/dev-workflow init --profile=full
216
+ npx @brunosps00/dev-workflow init --modules=typescript,python
217
+ ```
218
+
219
+ Claude Code and OpenCode receive native project-agent files. Copilot receives `.github/agents/*.agent.md`. Codex receives fallback agent definitions and dispatch instructions through `AGENTS.md`.
220
+
221
+ Subagent handoffs use local packets under `.dw/subtasks/`:
222
+
223
+ ```bash
224
+ npx @brunosps00/dev-workflow subtask create --agent=dw-code-explorer --goal="Map the auth flow"
225
+ npx @brunosps00/dev-workflow subtask complete --slug=<slug> --file=<handoff.md>
226
+ npx @brunosps00/dev-workflow subtask consume
188
227
  ```
189
228
 
190
229
  ## Bundled Skills
191
230
 
192
- Skills installed to `.agents/skills/` for use by all commands.
231
+ Skills installed to `.agents/skills/` for use by all commands. The bundle is governed by `scaffold/skill-registry.json`, which records each skill's kind, tier, owner, trigger, expected output, load policy, and context limit.
232
+
233
+ Skill kinds:
234
+
235
+ - `protocol`: execution discipline or gate used by commands.
236
+ - `domain-pack`: deeper expertise for a domain such as security, UI, testing, React, Remotion, incident response, or LLM evals.
237
+ - `recipe-pack`: tactical recipes for a narrow implementation surface.
238
+ - `asset-pack`: reusable non-code material, prompts, templates, or editorial references.
239
+
240
+ The rule is deliberate: `SKILL.md` should be a compact entrypoint. Large examples, rules, assets, and checklists live under `references/`, `assets/`, `scripts/`, or `rules/` and are loaded only when the trigger actually needs them. `dev-workflow doctor` validates the registry, installed bundled skills, and context-size limits; `/dw-skill-health` is the agent-facing audit for overlap, bloat, and weak triggers.
193
241
 
194
242
  ### Workflow discipline (invoked internally by dw-* commands)
195
243
 
@@ -273,7 +321,7 @@ Incident response (`dw-incident-response`) adapted from [`wilsto/claude-code-sta
273
321
 
274
322
  LLM evaluation (`dw-llm-eval`) trajectory-match modes (strict / unordered / subset / superset) and tool-argument matching strategies adapted from [`langchain-ai/agentevals`](https://github.com/langchain-ai/agentevals) (MIT). The broader oracle-ladder framing, judge-calibration discipline, and reference-dataset principle are distilled from the open evaluations literature (OpenAI evals cookbook, Anthropic evals guidance, the academic eval-of-LLM body of work) and rewritten in our voice.
275
323
 
276
- Optional AWS integration (v1.0.4). The `/dw-install-aws-skills` command and `npx @brunosps00/dev-workflow install-aws-skills` CLI pull curated agent skills from [`aws/agent-toolkit-for-aws`](https://github.com/aws/agent-toolkit-for-aws) (Apache 2.0, by AWS) into `.agents/skills/aws/` and register the unified [AWS MCP Server](https://docs.aws.amazon.com/aws-mcp/) via [`mcp-proxy-for-aws`](https://github.com/aws/mcp-proxy-for-aws) (stdio transport with SigV4 authentication). Unlike the Azure equivalent, the AWS MCP Server requires `uv`, `aws cli ≥ 2.32.0`, and valid AWS credentials configured via `aws login` or an IAM profile — the command detects each prerequisite and prints OS-specific install instructions if missing (without auto-installing anything). Capability includes `aws___search_documentation`, `aws___read_documentation`, `aws___retrieve_skill`, plus `aws___call_aws` (executes any of 15,000+ AWS APIs with the user's IAM permissions) and `aws___run_script` (Python sandboxed). `.dw/references/aws-mcp-instructions.md` encodes the destructive-operations protocol — agents must confirm before any `create*`/`update*`/`delete*`/`modify*` call, IAM change, or billing-affecting operation. The AWS Knowledge MCP (HTTP, no-auth) was considered for symmetry with Microsoft Learn MCP but is officially deprecated by AWS in favor of the unified server, which AWS explicitly recommends against running alongside the legacy endpoint ("tool conflicts that confuse AI agents"). Default endpoint is `us-east-1` with `eu-central-1` available; region overridable via `--region=<aws-region>` or by editing `.claude/settings.json` directly. Not installed by default; user explicitly invokes the command. Re-run refreshes from upstream; `dev-workflow update` deliberately does not touch `.agents/skills/aws/`.
324
+ Optional AWS integration (v1.0.5). The `/dw-install-aws-skills` command and `npx @brunosps00/dev-workflow install-aws-skills` CLI pull curated agent skills from [`aws/agent-toolkit-for-aws`](https://github.com/aws/agent-toolkit-for-aws) (Apache 2.0, by AWS) into `.agents/skills/aws/` and register the unified [AWS MCP Server](https://docs.aws.amazon.com/aws-mcp/) via [`mcp-proxy-for-aws`](https://github.com/aws/mcp-proxy-for-aws) (stdio transport with SigV4 authentication). Unlike the Azure equivalent, the AWS MCP Server requires `uv`, `aws cli ≥ 2.32.0`, and valid AWS credentials configured via `aws login` or an IAM profile — the command detects each prerequisite and prints OS-specific install instructions if missing (without auto-installing anything). Capability includes `aws___search_documentation`, `aws___read_documentation`, `aws___retrieve_skill`, plus `aws___call_aws` (executes any of 15,000+ AWS APIs with the user's IAM permissions) and `aws___run_script` (Python sandboxed). `.dw/references/aws-mcp-instructions.md` encodes the destructive-operations protocol — agents must confirm before any `create*`/`update*`/`delete*`/`modify*` call, IAM change, or billing-affecting operation. The AWS Knowledge MCP (HTTP, no-auth) was considered for symmetry with Microsoft Learn MCP but is officially deprecated by AWS in favor of the unified server, which AWS explicitly recommends against running alongside the legacy endpoint ("tool conflicts that confuse AI agents"). Default endpoint is `us-east-1` with `eu-central-1` available; region overridable via `--region=<aws-region>` or by editing `.claude/settings.json` directly. Not installed by default; user explicitly invokes the command. Re-run refreshes from upstream; `dev-workflow update` deliberately does not touch `.agents/skills/aws/`.
277
325
 
278
326
  Optional Azure integration (v1.0.3). The `/dw-install-azure-skills` command and `npx @brunosps00/dev-workflow install-azure-skills` CLI pull curated agent skills from [`MicrosoftDocs/Agent-Skills`](https://github.com/MicrosoftDocs/Agent-Skills) (CC-BY-4.0, by Microsoft) into `.agents/skills/azure/` and register the [Microsoft Learn MCP Server](https://learn.microsoft.com/en-us/training/support/mcp-get-started) (HTTP endpoint, no authentication required) into `.claude/settings.json`. The MCP server exposes three tools — `microsoft_docs_search`, `microsoft_docs_fetch`, `microsoft_code_sample_search` — that give the agent live access to Microsoft Learn documentation. **Not installed by default**: `init` and `update` do not touch `.agents/skills/azure/` or register the MCP. Users explicitly invoke the command when they begin Azure-focused work. The 10 categories (Compute, Data & Storage, AI & ML, Networking, Identity & Security, DevOps, Observability, Integration, Architecture, All) are dev-workflow's curated grouping over the 200+ skills in the upstream repo; the `--products=<csv>` flag lets advanced users pick individual services. Re-running the command refreshes from upstream; `dev-workflow update` deliberately does not touch these external skills so the Microsoft upstream release cadence is decoupled from the dev-workflow npm release cadence. Skills are copied verbatim from the upstream repo (CC-BY-4.0 permits this with attribution); the agent-facing `.dw/references/azure-mcp-instructions.md` is a clean-room adaptation of Microsoft's "Set instructions" guidance.
279
327
 
@@ -283,7 +331,7 @@ Four patterns from [`mattpocock/skills`](https://github.com/mattpocock/skills) b
283
331
 
284
332
  ## Migration from v0.x (1.0.0 is a consolidation release)
285
333
 
286
- v1.0.0 consolidates 30 commands → 20. **The `dev-workflow update` command auto-removes obsolete wrappers** via the migrator that landed in v0.13.0; no manual action required.
334
+ v1.0.0 consolidated the legacy command surface into the current `dw-*` pipeline. **The `dev-workflow init`, `update`, and `repair` flows auto-remove obsolete wrappers and known removed command sources**; no manual action required.
287
335
 
288
336
  ### Command renames (15 → 7 merged)
289
337
 
@@ -319,8 +367,8 @@ On the next `npx @brunosps00/dev-workflow update`, the following happens automat
319
367
 
320
368
  1. The 15 renamed commands' wrappers are detected as orphans (their names no longer exist in `lib/constants.js`) and removed from `.claude/skills/`, `.agents/skills/`, and `.opencode/commands/`.
321
369
  2. The migrator prints each removal with the friendly "old → new" mapping (e.g., `[orphan] Removing wrapper .agents/skills/dw-create-prd (replaced in v1.0.0 by 'dw-plan prd')`).
322
- 3. The 20 new wrappers are installed for the consolidated commands.
323
- 4. The 17 bundled skills are refreshed.
370
+ 3. The current command wrappers are installed for the consolidated commands.
371
+ 4. The bundled skills are refreshed.
324
372
 
325
373
  ### Backwards compatibility
326
374
 
@@ -332,7 +380,7 @@ The Trigger Map block (between `<!-- dev-workflow:start -->` and `<!-- dev-workf
332
380
 
333
381
  ### Skill conventions
334
382
 
335
- Skill description format ("pushy" trigger phrases ≤200 chars, "Use when X. Triggers on Y." pattern) and structural conventions (`SKILL.md` + `references/` / `scripts/` / `assets/` / `agents/` subdirectories, explicit `allowed-tools` in frontmatter) follow the official guidance from [`anthropics/skills/skill-creator`](https://github.com/anthropics/skills/tree/main/skills/skill-creator) (Apache 2.0). dev-workflow's 20 bundled skills are not derived from skill-creator's content — only its conventions are followed for auto-trigger reliability across Claude Code, Codex CLI, Copilot, and OpenCode.
383
+ Skill description format ("pushy" trigger phrases ≤200 chars, "Use when X. Triggers on Y." pattern) and structural conventions (`SKILL.md` + `references/` / `scripts/` / `assets/` / `agents/` subdirectories, explicit `allowed-tools` in frontmatter) follow the official guidance from [`anthropics/skills/skill-creator`](https://github.com/anthropics/skills/tree/main/skills/skill-creator) (Apache 2.0). dev-workflow's bundled skills are not derived from skill-creator's content — only its conventions are followed for auto-trigger reliability across Claude Code, Codex CLI, Copilot, and OpenCode.
336
384
 
337
385
  ## License
338
386
 
@@ -22,8 +22,16 @@ const HELP_TEXT = `
22
22
 
23
23
  Usage:
24
24
  npx dev-workflow init [--force] [--lang=en|pt-br]
25
- npx dev-workflow update [--lang=en|pt-br]
25
+ npx dev-workflow init [--force] [--lang=en|pt-br] [--profile=core|standard|full] [--modules=<csv>]
26
+ npx dev-workflow update [--lang=en|pt-br] [--profile=core|standard|full] [--modules=<csv>]
26
27
  npx dev-workflow install-deps
28
+ npx dev-workflow list-installed
29
+ npx dev-workflow doctor
30
+ npx dev-workflow repair
31
+ npx dev-workflow subtask create --agent=<name> --goal="<goal>"
32
+ npx dev-workflow subtask complete --slug=<slug> --file=<handoff.md>
33
+ npx dev-workflow subtask consume
34
+ npx dev-workflow subtask list
27
35
  npx dev-workflow install-azure-skills [--products=<csv>]
28
36
  npx dev-workflow install-aws-skills [--region=<aws-region>]
29
37
  npx dev-workflow help
@@ -32,6 +40,10 @@ const HELP_TEXT = `
32
40
  init Scaffold .dw/ (commands, templates, references, scripts, skills, rules, MCPs)
33
41
  update Update managed files (commands, templates, references, scripts, skills, wrappers, MCPs)
34
42
  Preserves: .dw/rules/, .dw/spec/, .dw/bugfixes/, .dw/STATE.md, .agents/skills/azure/, user data
43
+ list-installed Show dev-workflow install state for this project
44
+ doctor Check managed files, wrappers, agents, and MCP configuration
45
+ repair Reconcile managed files using the recorded install state
46
+ subtask Create, complete, consume, and list local subagent handoffs
35
47
  install-deps Install system dependencies (Playwright browsers, MCP servers)
36
48
  install-azure-skills Opt-in: clone curated Azure skills from MicrosoftDocs/Agent-Skills
37
49
  into .agents/skills/azure/ and register the Microsoft Learn MCP
@@ -47,6 +59,8 @@ const HELP_TEXT = `
47
59
  Options:
48
60
  --force Overwrite existing files (init only; update always overwrites managed files)
49
61
  --lang=LANG Set language without prompt (en or pt-br)
62
+ --profile=NAME Install profile for agents (core, standard, full)
63
+ --modules=CSV Extra agent modules to install (typescript, python, csharp, rust, security, frontend)
50
64
 
51
65
  Examples:
52
66
  npx dev-workflow init # Interactive language selection
@@ -61,10 +75,22 @@ const HELP_TEXT = `
61
75
  async function main() {
62
76
  switch (command) {
63
77
  case 'init':
64
- await run({ force: !!flags.force, lang: flags.lang, mode: 'init' });
78
+ await run({ force: !!flags.force, lang: flags.lang, mode: 'init', profile: flags.profile, modules: flags.modules });
65
79
  break;
66
80
  case 'update':
67
- await run({ force: !!flags.force, lang: flags.lang, mode: 'update' });
81
+ await run({ force: !!flags.force, lang: flags.lang, mode: 'update', profile: flags.profile, modules: flags.modules });
82
+ break;
83
+ case 'list-installed':
84
+ require('../lib/list-installed').run();
85
+ break;
86
+ case 'doctor':
87
+ require('../lib/doctor').run({ repair: false });
88
+ break;
89
+ case 'repair':
90
+ await run({ force: true, lang: flags.lang, mode: 'repair', profile: flags.profile, modules: flags.modules });
91
+ break;
92
+ case 'subtask':
93
+ require('../lib/subtasks').run(args.slice(1));
68
94
  break;
69
95
  case 'install-deps':
70
96
  installDeps.run();