@howlil/ez-agents 3.1.0 → 3.4.2

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 (110) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +288 -718
  3. package/bin/install.js +438 -71
  4. package/commands/ez/auth.md +87 -0
  5. package/commands/ez/join-discord.md +18 -18
  6. package/ez-agents/bin/ez-tools.cjs +120 -2
  7. package/ez-agents/bin/lib/assistant-adapter.cjs +264 -205
  8. package/ez-agents/bin/lib/audit-exec.cjs +26 -9
  9. package/ez-agents/bin/lib/auth.cjs +2 -1
  10. package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
  11. package/ez-agents/bin/lib/commands.cjs +42 -23
  12. package/ez-agents/bin/lib/config.cjs +190 -183
  13. package/ez-agents/bin/lib/core.cjs +42 -25
  14. package/ez-agents/bin/lib/file-lock.cjs +236 -236
  15. package/ez-agents/bin/lib/frontmatter.cjs +299 -299
  16. package/ez-agents/bin/lib/fs-utils.cjs +153 -153
  17. package/ez-agents/bin/lib/git-utils.cjs +203 -203
  18. package/ez-agents/bin/lib/health-check.cjs +2 -3
  19. package/ez-agents/bin/lib/index.cjs +113 -113
  20. package/ez-agents/bin/lib/init.cjs +757 -710
  21. package/ez-agents/bin/lib/logger.cjs +52 -15
  22. package/ez-agents/bin/lib/milestone.cjs +241 -241
  23. package/ez-agents/bin/lib/model-provider.cjs +241 -146
  24. package/ez-agents/bin/lib/phase.cjs +925 -908
  25. package/ez-agents/bin/lib/planning-write.cjs +107 -0
  26. package/ez-agents/bin/lib/retry.cjs +119 -119
  27. package/ez-agents/bin/lib/roadmap.cjs +306 -305
  28. package/ez-agents/bin/lib/safe-exec.cjs +91 -5
  29. package/ez-agents/bin/lib/safe-path.cjs +130 -130
  30. package/ez-agents/bin/lib/state.cjs +736 -721
  31. package/ez-agents/bin/lib/temp-file.cjs +239 -239
  32. package/ez-agents/bin/lib/template.cjs +223 -222
  33. package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
  34. package/ez-agents/bin/lib/test-graceful.cjs +93 -93
  35. package/ez-agents/bin/lib/test-logger.cjs +60 -60
  36. package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
  37. package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
  38. package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
  39. package/ez-agents/bin/lib/timeout-exec.cjs +63 -62
  40. package/ez-agents/bin/lib/verify.cjs +69 -26
  41. package/ez-agents/references/checkpoints.md +776 -776
  42. package/ez-agents/references/continuation-format.md +249 -249
  43. package/ez-agents/references/questioning.md +162 -162
  44. package/ez-agents/references/tdd.md +263 -263
  45. package/ez-agents/templates/codebase/concerns.md +310 -310
  46. package/ez-agents/templates/codebase/conventions.md +307 -307
  47. package/ez-agents/templates/codebase/integrations.md +280 -280
  48. package/ez-agents/templates/codebase/stack.md +186 -186
  49. package/ez-agents/templates/codebase/testing.md +480 -480
  50. package/ez-agents/templates/config.json +37 -37
  51. package/ez-agents/templates/continue-here.md +78 -78
  52. package/ez-agents/templates/milestone-archive.md +123 -123
  53. package/ez-agents/templates/milestone.md +115 -115
  54. package/ez-agents/templates/requirements.md +231 -231
  55. package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
  56. package/ez-agents/templates/research-project/FEATURES.md +147 -147
  57. package/ez-agents/templates/research-project/PITFALLS.md +200 -200
  58. package/ez-agents/templates/research-project/STACK.md +120 -120
  59. package/ez-agents/templates/research-project/SUMMARY.md +170 -170
  60. package/ez-agents/templates/retrospective.md +54 -54
  61. package/ez-agents/templates/roadmap.md +202 -202
  62. package/ez-agents/templates/summary-minimal.md +41 -41
  63. package/ez-agents/templates/summary-standard.md +48 -48
  64. package/ez-agents/templates/summary.md +248 -248
  65. package/ez-agents/templates/user-setup.md +311 -311
  66. package/ez-agents/templates/verification-report.md +322 -322
  67. package/ez-agents/workflows/add-phase.md +112 -112
  68. package/ez-agents/workflows/add-tests.md +351 -351
  69. package/ez-agents/workflows/add-todo.md +158 -158
  70. package/ez-agents/workflows/audit-milestone.md +332 -332
  71. package/ez-agents/workflows/autonomous.md +743 -743
  72. package/ez-agents/workflows/check-todos.md +177 -177
  73. package/ez-agents/workflows/cleanup.md +152 -152
  74. package/ez-agents/workflows/complete-milestone.md +766 -766
  75. package/ez-agents/workflows/diagnose-issues.md +219 -219
  76. package/ez-agents/workflows/discovery-phase.md +289 -289
  77. package/ez-agents/workflows/discuss-phase.md +762 -762
  78. package/ez-agents/workflows/execute-phase.md +468 -468
  79. package/ez-agents/workflows/execute-plan.md +483 -483
  80. package/ez-agents/workflows/health.md +159 -159
  81. package/ez-agents/workflows/help.md +492 -492
  82. package/ez-agents/workflows/insert-phase.md +130 -130
  83. package/ez-agents/workflows/list-phase-assumptions.md +178 -178
  84. package/ez-agents/workflows/map-codebase.md +316 -316
  85. package/ez-agents/workflows/new-milestone.md +384 -384
  86. package/ez-agents/workflows/new-project.md +1113 -1111
  87. package/ez-agents/workflows/node-repair.md +92 -92
  88. package/ez-agents/workflows/pause-work.md +122 -122
  89. package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
  90. package/ez-agents/workflows/plan-phase.md +651 -651
  91. package/ez-agents/workflows/progress.md +382 -382
  92. package/ez-agents/workflows/quick.md +610 -610
  93. package/ez-agents/workflows/remove-phase.md +155 -155
  94. package/ez-agents/workflows/research-phase.md +74 -74
  95. package/ez-agents/workflows/resume-project.md +307 -307
  96. package/ez-agents/workflows/set-profile.md +81 -81
  97. package/ez-agents/workflows/settings.md +242 -242
  98. package/ez-agents/workflows/stats.md +57 -57
  99. package/ez-agents/workflows/transition.md +544 -544
  100. package/ez-agents/workflows/ui-phase.md +290 -290
  101. package/ez-agents/workflows/ui-review.md +157 -157
  102. package/ez-agents/workflows/update.md +320 -320
  103. package/ez-agents/workflows/validate-phase.md +167 -167
  104. package/ez-agents/workflows/verify-phase.md +243 -243
  105. package/ez-agents/workflows/verify-work.md +584 -584
  106. package/package.json +2 -3
  107. package/scripts/build-hooks.js +43 -43
  108. package/scripts/fix-qwen-installation.js +144 -0
  109. package/scripts/run-tests.cjs +29 -29
  110. package/README.zh-CN.md +0 -702
package/README.md CHANGED
@@ -2,891 +2,461 @@
2
2
 
3
3
  # EZ Agents
4
4
 
5
- **ez-agents** *Meta-prompting & Agent Orchestration, but ez*
5
+ **Turn AI coding assistants into reliable development teammates.**
6
6
 
7
- **English** · [简体中文](README.zh-CN.md)
8
-
9
- **An independent fork of EZ Agents (Get Shit Done) with multi-model support (Qwen, Kimi, OpenAI, Claude) and enhanced reliability features.**
10
-
11
- **Solves context rot — with added security, error handling, and cross-platform support.**
12
-
13
- [![GitHub forks](https://img.shields.io/github/forks/howlil/ez-agents?style=for-the-badge&logo=github&color=blue)](https://github.com/howlil/ez-agents/network)
14
- [![GitHub stars](https://img.shields.io/github/stars/howlil/ez-agents?style=for-the-badge&logo=github&color=yellow)](https://github.com/howlil/ez-agents/stargazers)
7
+ [![npm](https://img.shields.io/npm/v/@howlil/ez-agents?style=for-the-badge&logo=npm)](https://www.npmjs.com/package/@howlil/ez-agents)
15
8
  [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
16
-
17
- <br>
9
+ [![GitHub stars](https://img.shields.io/github/stars/howlil/ez-agents?style=for-the-badge&logo=github)](https://github.com/howlil/ez-agents/stargazers)
18
10
 
19
11
  ```bash
20
- npm install -g git+https://github.com/howlil/ez-agents.git
12
+ npm i -g @howlil/ez-agents@latest
21
13
  ```
22
14
 
23
- **Works on Mac, Windows, and Linux.**
24
-
25
- <br>
26
-
27
- **Original EZ Agents (Get Shit Done) by** [TÂCHES](https://github.com/glittercowboy/ez-agents) | **EZ Agents Fork by** [@howlil](https://github.com/howlil)
28
-
29
- <br>
30
-
31
- *"If you know clearly what you want, this WILL build it for you. No bs."*
32
-
33
- *"I've done SpecKit, OpenSpec and Taskmaster — this has produced the best results for me."*
15
+ **Works with:** Claude Code · OpenCode · Gemini CLI · Codex · Copilot · Qwen · Kimi
34
16
 
35
- *"By far the most powerful addition to my Claude Code. Nothing over-engineered. Literally ez mode activated."*
36
-
37
- <br>
38
-
39
- [Features](#-whats-new-in-ez-agents) · [Install](#install) · [Commands](#commands) · [Multi-Model](#multi-model-support) · [User Guide](docs/USER-GUIDE.md)
17
+ [Quick Start](#quick-start) · [How It Works](#how-it-works) · [Commands](#commands) · [Setup](#setup) · [Docs](docs/)
40
18
 
41
19
  </div>
42
20
 
43
21
  ---
44
22
 
45
- ## 🚀 What's New in EZ Agents
46
-
47
- > **Note:** This is an **independent fork** of EZ Agents (Get Shit Done). Not affiliated with the original EZ Agents project.
48
- >
49
- > **Original EZ Agents (Get Shit Done):** [glittercowboy/ez-agents](https://github.com/glittercowboy/ez-agents) by TÂCHES
50
- >
51
- > **This Fork:** [howlil/ez-agents](https://github.com/howlil/ez-agents) with multi-model support & enhancements
52
-
53
- **EZ Agents** adds **multi-model support** and **enterprise-grade reliability** to EZ Agents (Get Shit Done).
23
+ > **What is this?** EZ Agents adds structure to AI coding. Instead of asking Claude to "build a login system" and hoping for the best, you get a repeatable workflow: plan it out, build it in pieces, verify it works. Every change is committed with context, so you (or your team) can pick up where the AI left off.
54
24
 
55
- ### Why This Fork Exists
56
-
57
- I needed EZ Agents (Get Shit Done) to work with multiple AI providers (not just Anthropic) and run reliably on Windows. This fork adds:
25
+ ---
58
26
 
59
- - 🌍 **Multi-Model**: Qwen (Alibaba), Kimi (Moonshot), OpenAI, and Anthropic
60
- - 🔒 **Security**: Command injection prevention, path validation, audit logging
61
- - 🛡️ **Error Handling**: Retry with backoff, circuit breaker for failing operations
62
- - 🪟 **Windows Support**: Cross-platform file utilities (no Unix dependencies)
63
- - 🔄 **Easy Updates**: `ez-agents-update` command to stay current
27
+ ## Why EZ Agents Exists
64
28
 
65
- ### Features Comparison
29
+ AI coding tools are great at writing code. But real development work needs more than that:
66
30
 
67
- | Feature | Original EZ Agents (Get Shit Done) | EZ Agents Fork |
68
- |---------|------------------------------|-----------|
69
- | **Multi-Model** | Anthropic only | ✓ Anthropic, Qwen, Kimi, OpenAI |
70
- | **Security** | Basic | ✓ Command allowlist, path validation, audit log |
71
- | **Error Handling** | Basic | ✓ Retry with backoff, circuit breaker |
72
- | **Cross-Platform** | Unix commands | ✓ Pure JavaScript (Windows-safe) |
73
- | **Git Safety** | Direct calls | ✓ Atomic commits, branch automation |
74
- | **Update Command** | Manual npm | ✓ `ez-agents-update` |
75
- | **Credential Storage** | Plain text | ✓ System keychain (keytar) |
31
+ - **Context gets lost** between sessions
32
+ - **No one reviews** whether the code actually fits the plan
33
+ - **Important decisions** about architecture happen implicitly
34
+ - **Testing is an afterthought**
76
35
 
77
- ### 17 New Libraries
36
+ EZ Agents fixes this by adding a lightweight orchestration layer. Think of it as a project manager for your AI assistants.
78
37
 
79
- ```
80
- ez-agents/bin/lib/
81
- ├── safe-exec.cjs # Command injection prevention (allowlist + validation)
82
- ├── safe-path.cjs # Path traversal prevention
83
- ├── auth.cjs # Secure credential storage (keytar + fallback)
84
- ├── audit-exec.cjs # Command audit logging (.planning/logs/)
85
- ├── git-utils.cjs # Safe git operations (atomic commits)
86
- ├── fs-utils.cjs # Cross-platform file utils (find/grep/head/tail replacement)
87
- ├── retry.cjs # Exponential backoff retry logic
88
- ├── circuit-breaker.cjs # Prevent cascading failures
89
- ├── model-provider.cjs # Multi-model API abstraction
90
- ├── assistant-adapter.cjs # AI assistant abstraction (Claude/OpenCode/Gemini/Codex)
91
- ├── logger.cjs # Centralized logging (ERROR/WARN/INFO/DEBUG)
92
- ├── health-check.cjs # Environment validation
93
- ├── timeout-exec.cjs # Command timeout with fallback
94
- ├── file-lock.cjs # Concurrent write protection
95
- ├── temp-file.cjs # Secure temp file handling
96
- ├── index.cjs # Central library export
97
- └── update.js # ez-agents-update command
98
- ```
38
+ ---
99
39
 
100
- ### Multi-Model Support
40
+ ## Quick Start
101
41
 
102
- Configure different AI providers per agent:
42
+ ### 1. Install
103
43
 
104
- ```json
105
- // .planning/config.json
106
- {
107
- "provider": {
108
- "default": "alibaba",
109
- "anthropic": {
110
- "api_key": "env:ANTHROPIC_API_KEY",
111
- "models": { "opus": "claude-3-opus-20240229", "sonnet": "claude-3-sonnet-20240229" }
112
- },
113
- "alibaba": {
114
- "api_key": "env:DASHSCOPE_API_KEY",
115
- "models": { "high": "qwen-max", "balanced": "qwen-plus" }
116
- },
117
- "moonshot": {
118
- "api_key": "env:MOONSHOT_API_KEY",
119
- "models": { "high": "moonshot-v1-128k" }
120
- },
121
- "openai": {
122
- "api_key": "env:OPENAI_API_KEY",
123
- "models": { "high": "gpt-4-turbo-preview" }
124
- }
125
- },
126
- "agent_overrides": {
127
- "ez-planner": { "provider": "alibaba", "model": "qwen-max" },
128
- "ez-executor": { "provider": "anthropic", "model": "sonnet" },
129
- "ez-verifier": { "provider": "moonshot", "model": "balanced" }
130
- }
131
- }
44
+ ```bash
45
+ npm i -g @howlil/ez-agents@latest
132
46
  ```
133
47
 
134
- ### Quick Commands
48
+ ### 2. Setup for Your AI Tool
135
49
 
136
50
  ```bash
137
- # Install EZ Agents
138
- npm install -g ez-agents
139
-
140
- # Setup (Claude Code)
51
+ # For Claude Code
141
52
  ez-agents --claude --global
142
53
 
143
- # Update
144
- ez-agents-update
145
-
146
- # Force update
147
- ez-agents-update --force
54
+ # For OpenCode
55
+ ez-agents --opencode --global
148
56
 
149
- # Check version
150
- ez-agents --version
57
+ # For Gemini CLI
58
+ ez-agents --gemini --global
151
59
 
152
- # Help
60
+ # See all options
153
61
  ez-agents --help
154
62
  ```
155
63
 
156
- ### Install
157
-
158
- **⚠️ Important: Use one of the methods below. Do NOT use `npx github:howlil/ez-agents` as it may fail.**
159
-
160
- **Option 1: Install from GitHub (Recommended)**
64
+ ### 3. Start a Project
161
65
 
162
66
  ```bash
163
- # Install globally from GitHub
164
- npm install -g git+https://github.com/howlil/ez-agents.git
165
-
166
- # Then run installer
167
- ez-agents --claude --global
168
- ```
169
-
170
- **Option 2: Use npx (No Installation)**
171
-
172
- ```bash
173
- # Run installer directly without installing
174
- npx @howlil/ez-agents --claude --global
67
+ # In your project directory
68
+ /ez:new-project
175
69
  ```
176
70
 
177
- **Option 3: Install from npm**
71
+ You'll answer a few questions about what you're building, then EZ Agents generates a roadmap. From there, you work through phases:
178
72
 
179
73
  ```bash
180
- # Install from npm registry
181
- npm install -g @howlil/ez-agents
182
-
183
- # Then use
184
- ez-agents --claude --global
185
- ez-agents-update
74
+ /ez:discuss-phase 1 # Lock in how you want it built
75
+ /ez:plan-phase 1 # Break it into specific tasks
76
+ /ez:execute-phase 1 # Build it (one task per commit)
77
+ /ez:verify-work 1 # Check it actually works
186
78
  ```
187
79
 
188
- **Option 4: Install from Local Source (Development)**
189
-
190
- ```bash
191
- # Clone the repository
192
- git clone https://github.com/howlil/ez-agents.git
193
- cd ez-agents
80
+ ---
194
81
 
195
- # Install globally from local directory
196
- npm install -g .
82
+ ## How It Works
197
83
 
198
- # Then use
199
- ez-agents --claude --global
200
- ```
84
+ ### The Workflow
85
+
86
+ ```
87
+ ┌─────────────────┐
88
+ │ Start Project │
89
+ │ /ez:new-project│
90
+ └────────┬────────┘
91
+
92
+
93
+ ┌─────────────────────────────────────────────────┐
94
+ │ For Each Phase: │
95
+ │ │
96
+ │ 1. /ez:discuss-phase → Decide HOW to build │
97
+ │ 2. /ez:plan-phase → Break into tasks │
98
+ │ 3. /ez:execute-phase → Build (one commit/task)│
99
+ │ 4. /ez:verify-work → Test it works │
100
+ └─────────────────────────────────────────────────┘
101
+
102
+
103
+ ┌─────────────────────────┐
104
+ │ /ez:audit-milestone │
105
+ │ /ez:complete-milestone │
106
+ └─────────────────────────┘
107
+ ```
108
+
109
+ ### Parallel Execution with Git Commits
110
+
111
+ Setiap task dijalankan secara paralel (jika tidak ada dependensi), dengan fresh context dan atomic commit:
112
+
113
+ ```
114
+ Phase 1: Foundation
115
+
116
+ ├─ Wave 1 (Parallel) ───────────────────────────┐
117
+ │ ┌─────────────────┐ ┌─────────────────┐ │
118
+ │ │ Task 1.1: │ │ Task 1.2: │ │
119
+ │ │ Database Schema │ │ Next.js Setup │ │
120
+ │ │ │ │ │ │
121
+ │ │ Fresh 200K ctx │ │ Fresh 200K ctx │ │
122
+ │ │ ↓ │ │ ↓ │ │
123
+ │ │ git commit │ │ git commit │ │
124
+ │ │ "feat: schema" │ │ "feat: setup" │ │
125
+ │ └─────────────────┘ └─────────────────┘ │
126
+ └────────────────────────────────────────────────┘
127
+
128
+
129
+ ├─ Wave 2 (Depends on Wave 1) ──────────────────┐
130
+ │ ┌─────────────────┐ │
131
+ │ │ Task 1.3: │ │
132
+ │ │ Auth Endpoints │ ← Needs schema + setup │
133
+ │ │ │ │
134
+ │ │ Fresh 200K ctx │ │
135
+ │ │ ↓ │ │
136
+ │ │ git commit │ │
137
+ │ │ "feat: auth" │ │
138
+ │ └─────────────────┘ │
139
+ └────────────────────────────────────────────────┘
140
+ ```
141
+
142
+ **Keuntungan:**
143
+ - **Fresh context per task** — AI tidak kehilangan context karena window penuh
144
+ - **Atomic commits** — Setiap commit = satu task, mudah di-revert jika ada masalah
145
+ - **Parallel execution** — Task independen jalan barengan, lebih cepat
146
+ - **Clean git history** — Commit message deskriptif, jelas apa yang berubah
147
+
148
+ ### What Makes It Different
149
+
150
+ | Problem | Without EZ Agents | With EZ Agents |
151
+ |---------|------------------|----------------|
152
+ | **Lost context** | "What was I working on again?" | STATE.md tracks decisions, blockers, next steps |
153
+ | **Vague plans** | "Build the API" | Specific tasks: "Create POST /users endpoint with validation" |
154
+ | **No verification** | Code written, but does it work? | Each phase has explicit verification criteria |
155
+ | **Messy git history** | "WIP", "fix", "asdf" | One commit per task, meaningful messages |
156
+ | **Scope creep** | Features added ad-hoc | ROADMAP.md tracks what's in/out of scope |
201
157
 
202
158
  ---
203
159
 
204
- **Installation Commands Reference:**
205
-
206
- ```bash
207
- # Install EZ Agents globally
208
- npm install -g git+https://github.com/howlil/ez-agents.git
209
-
210
- # Setup for Claude Code (global)
211
- ez-agents --claude --global
160
+ ## Features
212
161
 
213
- # Setup for Claude Code (local project)
214
- ez-agents --claude --local
162
+ ### Core
215
163
 
216
- # Setup for all runtimes (Claude, OpenCode, Gemini, Codex, Copilot)
217
- ez-agents --all --global
164
+ - **Multi-Model Support** Use Qwen, Kimi, OpenAI, or Anthropic. Mix providers per task.
165
+ - **Wave Execution** — Independent tasks run in parallel; dependent tasks wait their turn
166
+ - **Context Engineering** — PROJECT.md, STATE.md, SUMMARY.md preserve decisions across sessions
167
+ - **Atomic Commits** — Each task gets its own commit with context about what changed and why
168
+ - **Milestone Tracking** — Version releases with requirements audit and git tagging
218
169
 
219
- # Update EZ Agents
220
- ez-agents-update
170
+ ### Built for Production
221
171
 
222
- # Force reinstall
223
- ez-agents-update --force
172
+ - **Security** — Command injection prevention, path validation, audit logging
173
+ - **Cross-Platform** — Pure JavaScript. Works on Windows, macOS, Linux (no Unix dependencies)
174
+ - **Error Handling** — Retry logic with backoff, circuit breaker for failing operations
175
+ - **Git Safety** — Atomic commits, branch automation, merge strategies
224
176
 
225
- # Check version
226
- ez-agents --version
177
+ ### For Existing Codebases
227
178
 
228
- # Help
229
- ez-agents --help
179
+ ```bash
180
+ # Analyze what you have
181
+ /ez:map-codebase
230
182
 
231
- # Uninstall
232
- ez-agents --all --global --uninstall
183
+ # Then plan what to add
184
+ /ez:new-project
233
185
  ```
234
186
 
235
- I'm a solo developer. I don't write code Claude Code does.
236
-
237
- Other spec-driven development tools exist; BMAD, Speckit... But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you're building. I'm not a 50-person software company. I don't want to play enterprise theater. I'm just a creative person trying to build great things that work.
187
+ Parallel agents analyze your stack, architecture, conventions, and pain points. The output: structured docs that inform the roadmap.
238
188
 
239
- So I built EZ Agents. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.
240
-
241
- The system gives Claude everything it needs to do the work *and* verify it. I trust the workflow. It just does a good job.
189
+ ---
242
190
 
243
- That's what this is. No enterprise roleplay bullshit. Just an incredibly effective system for building cool stuff consistently using Claude Code.
191
+ ## Commands
244
192
 
245
- **TÂCHES**
193
+ ### Starting Out
246
194
 
247
- ---
195
+ | Command | What It Does |
196
+ |---------|-------------|
197
+ | `/ez:new-project` | Initialize: answer questions, get research, requirements, and roadmap |
198
+ | `/ez:map-codebase` | Analyze existing codebase (before `/ez:new-project`) |
199
+ | `/ez:quick` | Small task without full phase workflow (bug fixes, config changes) |
248
200
 
249
- Vibecoding has a bad reputation. You describe what you want, AI generates code, and you get inconsistent garbage that falls apart at scale.
201
+ ### Phase Workflow
250
202
 
251
- EZ Agents fixes that. It's the context engineering layer that makes Claude Code reliable. Describe your idea, let the system extract everything it needs to know, and let Claude Code get to work.
203
+ | Command | What It Does |
204
+ |---------|-------------|
205
+ | `/ez:discuss-phase [N]` | Clarify implementation approach before planning |
206
+ | `/ez:plan-phase [N]` | Research domain, create task breakdown, define verification |
207
+ | `/ez:execute-phase [N]` | Build the plan (parallel waves, one commit per task) |
208
+ | `/ez:verify-work [N]` | Manual testing with auto-diagnosis of failures |
252
209
 
253
- ---
210
+ ### Managing Scope
254
211
 
255
- ## Who This Is For
212
+ | Command | What It Does |
213
+ |---------|-------------|
214
+ | `/ez:add-phase` | Append new phase to roadmap |
215
+ | `/ez:insert-phase [N]` | Insert urgent work between existing phases |
216
+ | `/ez:remove-phase [N]` | Remove a phase and renumber |
217
+ | `/ez:progress` | See where you are and what's next |
256
218
 
257
- People who want to describe what they want and have it built correctly — without pretending they're running a 50-person engineering org.
219
+ ### Wrapping Up
258
220
 
259
- ---
221
+ | Command | What It Does |
222
+ |---------|-------------|
223
+ | `/ez:audit-milestone` | Verify all requirements are met |
224
+ | `/ez:complete-milestone` | Archive milestone, create git tag |
225
+ | `/ez:new-milestone` | Start next version cycle |
260
226
 
261
- ## Getting Started
227
+ ### Utilities
262
228
 
263
- ```bash
264
- npx ez-agents
265
- ```
229
+ | Command | What It Does |
230
+ |---------|-------------|
231
+ | `/ez:resume-work` | Restore context from last session |
232
+ | `/ez:settings` | Configure workflow, model profile, git strategy |
233
+ | `/ez:update` | Update EZ Agents (with changelog preview) |
234
+ | `/ez:help` | Show all commands |
266
235
 
267
- The installer prompts you to choose:
268
- 1. **Runtime** — Claude Code, OpenCode, Gemini, Codex, Copilot, or all
269
- 2. **Location** — Global (all projects) or local (current project only)
236
+ ---
270
237
 
271
- Verify with:
272
- - Claude Code / Gemini: `/ez:help`
273
- - OpenCode: `/ez-help`
274
- - Codex: `$ez-help`
238
+ ## Setup
275
239
 
276
- > [!NOTE]
277
- > Codex installation uses skills (`skills/ez-*/SKILL.md`) rather than custom prompts.
240
+ ### Prerequisites
278
241
 
279
- ### Staying Updated
242
+ - Node.js >= 16.7.0
243
+ - One of: Claude Code, OpenCode, Gemini CLI, Codex, Copilot, Qwen Code, Kimi Code
280
244
 
281
- EZ Agents evolves fast. Update periodically:
245
+ ### Installation
282
246
 
283
247
  ```bash
284
- ez-agents-update
248
+ npm i -g @howlil/ez-agents@latest
249
+ ez-agents --claude --global
285
250
  ```
286
251
 
287
- <details>
288
- <summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
252
+ ### Updating
289
253
 
290
254
  ```bash
291
- # Claude Code
292
- ez-agents --claude --global # Install to ~/.claude/
293
- ez-agents --claude --local # Install to ./.claude/
294
-
295
- # OpenCode (open source, free models)
296
- ez-agents --opencode --global # Install to ~/.config/opencode/
297
-
298
- # Gemini CLI
299
- ez-agents --gemini --global # Install to ~/.gemini/
300
-
301
- # Codex (skills-first)
302
- ez-agents --codex --global # Install to ~/.codex/
303
- ez-agents --codex --local # Install to ./.codex/
304
-
305
- # All runtimes
306
- ez-agents --all --global # Install to all directories
255
+ npm update -g @howlil/ez-agents
307
256
  ```
308
257
 
309
- Use `--global` (`-g`) or `--local` (`-l`) to skip the location prompt.
310
- Use `--claude`, `--opencode`, `--gemini`, `--codex`, or `--all` to skip the runtime prompt.
311
-
312
- </details>
313
-
314
- <details>
315
- <summary><strong>Development Installation</strong></summary>
316
-
317
- Clone the repository and run the installer locally:
258
+ **Development Install** (for contributing)
318
259
 
319
260
  ```bash
320
261
  git clone https://github.com/howlil/ez-agents.git
321
262
  cd ez-agents
322
- node bin/install.js --claude --local
263
+ npm install -g .
264
+ ez-agents --claude --local
323
265
  ```
324
266
 
325
- Installs to `./.claude/` for testing modifications before contributing.
267
+ ---
326
268
 
327
- </details>
269
+ ## Configuration
328
270
 
329
- ### Recommended: Skip Permissions Mode
271
+ EZ Agents stores settings in `.planning/config.json`. You configure this during `/ez:new-project` or adjust later with `/ez:settings`.
330
272
 
331
- EZ Agents is designed for frictionless automation. Run Claude Code with:
273
+ ### Key Settings
332
274
 
333
- ```bash
334
- claude --dangerously-skip-permissions
335
- ```
275
+ | Setting | Options | Default | What It Does |
276
+ |---------|---------|---------|-------------|
277
+ | `mode` | `interactive`, `yolo` | `interactive` | `yolo` skips confirmation prompts |
278
+ | `model_profile` | `quality`, `balanced`, `budget` | `balanced` | Controls which model tier each agent uses |
279
+ | `granularity` | `coarse`, `standard`, `fine` | `standard` | How many phases (3-5, 5-8, or 8-12) |
336
280
 
337
- > [!TIP]
338
- > This is how EZ Agents is intended to be used — stopping to approve `date` and `git commit` 50 times defeats the purpose.
281
+ ### Model Profiles
282
+
283
+ | Agent | `quality` | `balanced` | `budget` |
284
+ |-------|-----------|------------|----------|
285
+ | Planner | Opus | Opus | Sonnet |
286
+ | Executor | Opus | Sonnet | Sonnet |
287
+ | Researcher | Opus | Sonnet | Haiku |
288
+ | Verifier | Sonnet | Sonnet | Haiku |
339
289
 
340
- <details>
341
- <summary><strong>Alternative: Granular Permissions</strong></summary>
290
+ **When to use each:**
291
+ - **quality** — Critical work, complex decisions, you have quota
292
+ - **balanced** — Day-to-day development (the default for a reason)
293
+ - **budget** — High-volume work, familiar domains, prototyping
342
294
 
343
- If you prefer not to use that flag, add this to your project's `.claude/settings.json`:
295
+ ### Multi-Provider Setup
296
+
297
+ Different providers for different tasks:
344
298
 
345
299
  ```json
346
300
  {
347
- "permissions": {
348
- "allow": [
349
- "Bash(date:*)",
350
- "Bash(echo:*)",
351
- "Bash(cat:*)",
352
- "Bash(ls:*)",
353
- "Bash(mkdir:*)",
354
- "Bash(wc:*)",
355
- "Bash(head:*)",
356
- "Bash(tail:*)",
357
- "Bash(sort:*)",
358
- "Bash(grep:*)",
359
- "Bash(tr:*)",
360
- "Bash(git add:*)",
361
- "Bash(git commit:*)",
362
- "Bash(git status:*)",
363
- "Bash(git log:*)",
364
- "Bash(git diff:*)",
365
- "Bash(git tag:*)"
366
- ]
301
+ "provider": {
302
+ "default": "alibaba",
303
+ "anthropic": {
304
+ "api_key": "env:ANTHROPIC_API_KEY"
305
+ },
306
+ "alibaba": {
307
+ "api_key": "env:DASHSCOPE_API_KEY"
308
+ }
309
+ },
310
+ "agent_overrides": {
311
+ "ez-planner": { "provider": "alibaba", "model": "qwen-max" },
312
+ "ez-executor": { "provider": "anthropic", "model": "sonnet" }
367
313
  }
368
314
  }
369
315
  ```
370
316
 
371
- </details>
372
-
373
317
  ---
374
318
 
375
- ## How It Works
376
-
377
- > **Already have code?** Run `/ez:map-codebase` first. It spawns parallel agents to analyze your stack, architecture, conventions, and concerns. Then `/ez:new-project` knows your codebase — questions focus on what you're adding, and planning automatically loads your patterns.
319
+ ## Project Structure
378
320
 
379
- ### 1. Initialize Project
321
+ After running `/ez:new-project`, you'll have:
380
322
 
381
323
  ```
382
- /ez:new-project
324
+ .planning/
325
+ PROJECT.md # What you're building and why
326
+ REQUIREMENTS.md # Scoped requirements with IDs
327
+ ROADMAP.md # Phase breakdown with status
328
+ STATE.md # Current decisions, blockers, next steps
329
+ config.json # Your configuration
330
+ phases/
331
+ 01-phase-name/
332
+ 01-01-PLAN.md # Tasks to execute
333
+ 01-01-SUMMARY.md # What was built and why
334
+ CONTEXT.md # Your implementation preferences
335
+ RESEARCH.md # Domain research
336
+ VERIFICATION.md # Test results
383
337
  ```
384
338
 
385
- One command, one flow. The system:
386
-
387
- 1. **Questions** — Asks until it understands your idea completely (goals, constraints, tech preferences, edge cases)
388
- 2. **Research** — Spawns parallel agents to investigate the domain (optional but recommended)
389
- 3. **Requirements** — Extracts what's v1, v2, and out of scope
390
- 4. **Roadmap** — Creates phases mapped to requirements
391
-
392
- You approve the roadmap. Now you're ready to build.
393
-
394
- **Creates:** `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, `.planning/research/`
339
+ **Note:** You can add `.planning/` to `.gitignore` if you don't want planning docs in your repo. Set `commit_docs: false` in `/ez:settings`.
395
340
 
396
341
  ---
397
342
 
398
- ### 2. Discuss Phase
343
+ ## Example: Building a Task App
399
344
 
400
- ```
401
- /ez:discuss-phase 1
402
- ```
403
-
404
- **This is where you shape the implementation.**
405
-
406
- Your roadmap has a sentence or two per phase. That's not enough context to build something the way *you* imagine it. This step captures your preferences before anything gets researched or planned.
407
-
408
- The system analyzes the phase and identifies gray areas based on what's being built:
345
+ Let's say you want to build "a task management app with team collaboration."
409
346
 
410
- - **Visual features** → Layout, density, interactions, empty states
411
- - **APIs/CLIs** → Response format, flags, error handling, verbosity
412
- - **Content systems** → Structure, tone, depth, flow
413
- - **Organization tasks** → Grouping criteria, naming, duplicates, exceptions
347
+ ### 1. Initialize
414
348
 
415
- For each area you select, it asks until you're satisfied. The output — `CONTEXT.md` — feeds directly into the next two steps:
349
+ ```bash
350
+ /ez:new-project
351
+ ```
416
352
 
417
- 1. **Researcher reads it** — Knows what patterns to investigate ("user wants card layout" → research card component libraries)
418
- 2. **Planner reads it** — Knows what decisions are locked ("infinite scroll decided" → plan includes scroll handling)
353
+ You answer questions:
354
+ - Tech stack? "Next.js + PostgreSQL"
355
+ - Auth method? → "Email + OAuth (Google, GitHub)"
356
+ - First milestone? → "MVP: user accounts, create/edit tasks, share with team"
419
357
 
420
- The deeper you go here, the more the system builds what you actually want. Skip it and you get reasonable defaults. Use it and you get *your* vision.
358
+ EZ Agents generates research, requirements, and a roadmap with ~6 phases.
421
359
 
422
- **Creates:** `{phase_num}-CONTEXT.md`
360
+ ### 2. Phase 1: Foundation
423
361
 
424
- ---
362
+ ```bash
363
+ /ez:discuss-phase 1
364
+ ```
425
365
 
426
- ### 3. Plan Phase
366
+ You clarify: "Use Next.js App Router, Prisma for DB, next-auth for OAuth."
427
367
 
428
- ```
368
+ ```bash
429
369
  /ez:plan-phase 1
430
370
  ```
431
371
 
432
- The system:
433
-
434
- 1. **Researches** Investigates how to implement this phase, guided by your CONTEXT.md decisions
435
- 2. **Plans** — Creates 2-3 atomic task plans with XML structure
436
- 3. **Verifies** — Checks plans against requirements, loops until they pass
437
-
438
- Each plan is small enough to execute in a fresh context window. No degradation, no "I'll be more concise now."
439
-
440
- **Creates:** `{phase_num}-RESEARCH.md`, `{phase_num}-{N}-PLAN.md`
372
+ Research runs (auth patterns, Prisma schema design). Plan is created:
373
+ - Task 1: Database schema (users, tasks, teams)
374
+ - Task 2: Next.js setup with next-auth
375
+ - Task 3: User model and auth endpoints
441
376
 
442
- ---
443
-
444
- ### 4. Execute Phase
445
-
446
- ```
377
+ ```bash
447
378
  /ez:execute-phase 1
448
379
  ```
449
380
 
450
- The system:
451
-
452
- 1. **Runs plans in waves** — Parallel where possible, sequential when dependent
453
- 2. **Fresh context per plan** — 200k tokens purely for implementation, zero accumulated garbage
454
- 3. **Commits per task** — Every task gets its own atomic commit
455
- 4. **Verifies against goals** — Checks the codebase delivers what the phase promised
456
-
457
- Walk away, come back to completed work with clean git history.
458
-
459
- **How Wave Execution Works:**
460
-
461
- Plans are grouped into "waves" based on dependencies. Within each wave, plans run in parallel. Waves run sequentially.
462
-
463
- ```
464
- ┌────────────────────────────────────────────────────────────────────┐
465
- │ PHASE EXECUTION │
466
- ├────────────────────────────────────────────────────────────────────┤
467
- │ │
468
- │ WAVE 1 (parallel) WAVE 2 (parallel) WAVE 3 │
469
- │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
470
- │ │ Plan 01 │ │ Plan 02 │ → │ Plan 03 │ │ Plan 04 │ → │ Plan 05 │ │
471
- │ │ │ │ │ │ │ │ │ │ │ │
472
- │ │ User │ │ Product │ │ Orders │ │ Cart │ │ Checkout│ │
473
- │ │ Model │ │ Model │ │ API │ │ API │ │ UI │ │
474
- │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
475
- │ │ │ ↑ ↑ ↑ │
476
- │ └───────────┴──────────────┴───────────┘ │ │
477
- │ Dependencies: Plan 03 needs Plan 01 │ │
478
- │ Plan 04 needs Plan 02 │ │
479
- │ Plan 05 needs Plans 03 + 04 │ │
480
- │ │
481
- └────────────────────────────────────────────────────────────────────┘
482
- ```
483
-
484
- **Why waves matter:**
485
- - Independent plans → Same wave → Run in parallel
486
- - Dependent plans → Later wave → Wait for dependencies
487
- - File conflicts → Sequential plans or same plan
488
-
489
- This is why "vertical slices" (Plan 01: User feature end-to-end) parallelize better than "horizontal layers" (Plan 01: All models, Plan 02: All APIs).
490
-
491
- **Creates:** `{phase_num}-{N}-SUMMARY.md`, `{phase_num}-VERIFICATION.md`
492
-
493
- ---
381
+ Three tasks, three commits. Each task gets fresh context.
494
382
 
495
- ### 5. Verify Work
496
-
497
- ```
383
+ ```bash
498
384
  /ez:verify-work 1
499
385
  ```
500
386
 
501
- **This is where you confirm it actually works.**
502
-
503
- Automated verification checks that code exists and tests pass. But does the feature *work* the way you expected? This is your chance to use it.
504
-
505
- The system:
506
-
507
- 1. **Extracts testable deliverables** — What you should be able to do now
508
- 2. **Walks you through one at a time** — "Can you log in with email?" Yes/no, or describe what's wrong
509
- 3. **Diagnoses failures automatically** — Spawns debug agents to find root causes
510
- 4. **Creates verified fix plans** — Ready for immediate re-execution
511
-
512
- If everything passes, you move on. If something's broken, you don't manually debug — you just run `/ez:execute-phase` again with the fix plans it created.
513
-
514
- **Creates:** `{phase_num}-UAT.md`, fix plans if issues found
387
+ You test: Can register? Can login? Can connect to DB? All pass.
515
388
 
516
- ---
517
-
518
- ### 6. Repeat → Complete → Next Milestone
389
+ ### 3. Repeat for Each Phase
519
390
 
520
- ```
391
+ ```bash
521
392
  /ez:discuss-phase 2
522
393
  /ez:plan-phase 2
523
394
  /ez:execute-phase 2
524
395
  /ez:verify-work 2
525
- ...
526
- /ez:complete-milestone
527
- /ez:new-milestone
528
396
  ```
529
397
 
530
- Loop **discuss plan → execute → verify** until milestone complete.
531
-
532
- If you want faster intake during discussion, use `/ez:discuss-phase <n> --batch` to answer a small grouped set of questions at once instead of one-by-one.
533
-
534
- Each phase gets your input (discuss), proper research (plan), clean execution (execute), and human verification (verify). Context stays fresh. Quality stays high.
535
-
536
- When all phases are done, `/ez:complete-milestone` archives the milestone and tags the release.
537
-
538
- Then `/ez:new-milestone` starts the next version — same flow as `new-project` but for your existing codebase. You describe what you want to build next, the system researches the domain, you scope requirements, and it creates a fresh roadmap. Each milestone is a clean cycle: define → build → ship.
539
-
540
- ---
541
-
542
- ### Quick Mode
543
-
544
- ```
545
- /ez:quick
546
- ```
547
-
548
- **For ad-hoc tasks that don't need full planning.**
549
-
550
- Quick mode gives you EZ Agents guarantees (atomic commits, state tracking) with a faster path:
551
-
552
- - **Same agents** — Planner + executor, same quality
553
- - **Skips optional steps** — No research, no plan checker, no verifier
554
- - **Separate tracking** — Lives in `.planning/quick/`, not phases
555
-
556
- Use for: bug fixes, small features, config changes, one-off tasks.
557
-
558
- ```
559
- /ez:quick
560
- > What do you want to do? "Add dark mode toggle to settings"
561
- ```
562
-
563
- **Creates:** `.planning/quick/001-add-dark-mode-toggle/PLAN.md`, `SUMMARY.md`
564
-
565
- ---
566
-
567
- ## Why It Works
568
-
569
- ### Context Engineering
570
-
571
- Claude Code is incredibly powerful *if* you give it the context it needs. Most people don't.
572
-
573
- EZ Agents handles it for you:
574
-
575
- | File | What it does |
576
- |------|--------------|
577
- | `PROJECT.md` | Project vision, always loaded |
578
- | `research/` | Ecosystem knowledge (stack, features, architecture, pitfalls) |
579
- | `REQUIREMENTS.md` | Scoped v1/v2 requirements with phase traceability |
580
- | `ROADMAP.md` | Where you're going, what's done |
581
- | `STATE.md` | Decisions, blockers, position — memory across sessions |
582
- | `PLAN.md` | Atomic task with XML structure, verification steps |
583
- | `SUMMARY.md` | What happened, what changed, committed to history |
584
- | `todos/` | Captured ideas and tasks for later work |
585
-
586
- Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
587
-
588
- ### XML Prompt Formatting
589
-
590
- Every plan is structured XML optimized for Claude:
591
-
592
- ```xml
593
- <task type="auto">
594
- <name>Create login endpoint</name>
595
- <files>src/app/api/auth/login/route.ts</files>
596
- <action>
597
- Use jose for JWT (not jsonwebtoken - CommonJS issues).
598
- Validate credentials against users table.
599
- Return httpOnly cookie on success.
600
- </action>
601
- <verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
602
- <done>Valid credentials return cookie, invalid return 401</done>
603
- </task>
604
- ```
605
-
606
- Precise instructions. No guessing. Verification built in.
607
-
608
- ### Multi-Agent Orchestration
609
-
610
- Every stage uses the same pattern: a thin orchestrator spawns specialized agents, collects results, and routes to the next step.
611
-
612
- | Stage | Orchestrator does | Agents do |
613
- |-------|------------------|-----------|
614
- | Research | Coordinates, presents findings | 4 parallel researchers investigate stack, features, architecture, pitfalls |
615
- | Planning | Validates, manages iteration | Planner creates plans, checker verifies, loop until pass |
616
- | Execution | Groups into waves, tracks progress | Executors implement in parallel, each with fresh 200k context |
617
- | Verification | Presents results, routes next | Verifier checks codebase against goals, debuggers diagnose failures |
618
-
619
- The orchestrator never does heavy lifting. It spawns agents, waits, integrates results.
620
-
621
- **The result:** You can run an entire phase — deep research, multiple plans created and verified, thousands of lines of code written across parallel executors, automated verification against goals — and your main context window stays at 30-40%. The work happens in fresh subagent contexts. Your session stays fast and responsive.
622
-
623
- ### Atomic Git Commits
624
-
625
- Each task gets its own commit immediately after completion:
398
+ ### 4. Complete Milestone
626
399
 
627
400
  ```bash
628
- abc123f docs(08-02): complete user registration plan
629
- def456g feat(08-02): add email confirmation flow
630
- hij789k feat(08-02): implement password hashing
631
- lmn012o feat(08-02): create registration endpoint
632
- ```
633
-
634
- > [!NOTE]
635
- > **Benefits:** Git bisect finds exact failing task. Each task independently revertable. Clear history for Claude in future sessions. Better observability in AI-automated workflow.
636
-
637
- Every commit is surgical, traceable, and meaningful.
638
-
639
- ### Modular by Design
640
-
641
- - Add phases to current milestone
642
- - Insert urgent work between phases
643
- - Complete milestones and start fresh
644
- - Adjust plans without rebuilding everything
645
-
646
- You're never locked in. The system adapts.
647
-
648
- ---
649
-
650
- ## Commands
651
-
652
- ### Core Workflow
653
-
654
- | Command | What it does |
655
- |---------|--------------|
656
- | `/ez:new-project [--auto]` | Full initialization: questions → research → requirements → roadmap |
657
- | `/ez:discuss-phase [N] [--auto]` | Capture implementation decisions before planning |
658
- | `/ez:plan-phase [N] [--auto]` | Research + plan + verify for a phase |
659
- | `/ez:execute-phase <N>` | Execute all plans in parallel waves, verify when complete |
660
- | `/ez:verify-work [N]` | Manual user acceptance testing ¹ |
661
- | `/ez:audit-milestone` | Verify milestone achieved its definition of done |
662
- | `/ez:complete-milestone` | Archive milestone, tag release |
663
- | `/ez:new-milestone [name]` | Start next version: questions → research → requirements → roadmap |
664
-
665
- ### Navigation
666
-
667
- | Command | What it does |
668
- |---------|--------------|
669
- | `/ez:progress` | Where am I? What's next? |
670
- | `/ez:help` | Show all commands and usage guide |
671
- | `/ez:update` | Update EZ Agents with changelog preview |
672
- | `/ez:join-discord` | Join the EZ Agents Discord community |
673
-
674
- ### Brownfield
675
-
676
- | Command | What it does |
677
- |---------|--------------|
678
- | `/ez:map-codebase [area]` | Analyze existing codebase before new-project |
679
-
680
- ### Phase Management
681
-
682
- | Command | What it does |
683
- |---------|--------------|
684
- | `/ez:add-phase` | Append phase to roadmap |
685
- | `/ez:insert-phase [N]` | Insert urgent work between phases |
686
- | `/ez:remove-phase [N]` | Remove future phase, renumber |
687
- | `/ez:list-phase-assumptions [N]` | See Claude's intended approach before planning |
688
- | `/ez:plan-milestone-gaps` | Create phases to close gaps from audit |
689
-
690
- ### Session
691
-
692
- | Command | What it does |
693
- |---------|--------------|
694
- | `/ez:pause-work` | Create handoff when stopping mid-phase |
695
- | `/ez:resume-work` | Restore from last session |
696
-
697
- ### Utilities
698
-
699
- | Command | What it does |
700
- |---------|--------------|
701
- | `/ez:settings` | Configure model profile and workflow agents |
702
- | `/ez:set-profile <profile>` | Switch model profile (quality/balanced/budget) |
703
- | `/ez:add-todo [desc]` | Capture idea for later |
704
- | `/ez:check-todos` | List pending todos |
705
- | `/ez:debug [desc]` | Systematic debugging with persistent state |
706
- | `/ez:quick [--full] [--discuss]` | Execute ad-hoc task with EZ Agents guarantees (`--full` adds plan-checking and verification, `--discuss` gathers context first) |
707
- | `/ez:health [--repair]` | Validate `.planning/` directory integrity, auto-repair with `--repair` |
708
-
709
- <sup>¹ Contributed by reddit user OracleGreyBeard</sup>
710
-
711
- ---
712
-
713
- ## Configuration
714
-
715
- EZ Agents stores project settings in `.planning/config.json`. Configure during `/ez:new-project` or update later with `/ez:settings`. For the full config schema, workflow toggles, git branching options, and per-agent model breakdown, see the [User Guide](docs/USER-GUIDE.md#configuration-reference).
716
-
717
- ### Core Settings
718
-
719
- | Setting | Options | Default | What it controls |
720
- |---------|---------|---------|------------------|
721
- | `mode` | `yolo`, `interactive` | `interactive` | Auto-approve vs confirm at each step |
722
- | `granularity` | `coarse`, `standard`, `fine` | `standard` | Phase granularity — how finely scope is sliced (phases × plans) |
723
-
724
- ### Model Profiles
725
-
726
- Control which Claude model each agent uses. Balance quality vs token spend.
727
-
728
- | Profile | Planning | Execution | Verification |
729
- |---------|----------|-----------|--------------|
730
- | `quality` | Opus | Opus | Sonnet |
731
- | `balanced` (default) | Opus | Sonnet | Sonnet |
732
- | `budget` | Sonnet | Sonnet | Haiku |
733
-
734
- Switch profiles:
401
+ /ez:audit-milestone # Checks all requirements are met
402
+ /ez:complete-milestone # Archives, tags v1.0
735
403
  ```
736
- /ez:set-profile budget
737
- ```
738
-
739
- Or configure via `/ez:settings`.
740
-
741
- ### Workflow Agents
742
-
743
- These spawn additional agents during planning/execution. They improve quality but add tokens and time.
744
-
745
- | Setting | Default | What it does |
746
- |---------|---------|--------------|
747
- | `workflow.research` | `true` | Researches domain before planning each phase |
748
- | `workflow.plan_check` | `true` | Verifies plans achieve phase goals before execution |
749
- | `workflow.verifier` | `true` | Confirms must-haves were delivered after execution |
750
- | `workflow.auto_advance` | `false` | Auto-chain discuss → plan → execute without stopping |
751
-
752
- Use `/ez:settings` to toggle these, or override per-invocation:
753
- - `/ez:plan-phase --skip-research`
754
- - `/ez:plan-phase --skip-verify`
755
-
756
- ### Execution
757
-
758
- | Setting | Default | What it controls |
759
- |---------|---------|------------------|
760
- | `parallelization.enabled` | `true` | Run independent plans simultaneously |
761
- | `planning.commit_docs` | `true` | Track `.planning/` in git |
762
-
763
- ### Git Branching
764
-
765
- Control how EZ Agents handles branches during execution.
766
-
767
- | Setting | Options | Default | What it does |
768
- |---------|---------|---------|--------------|
769
- | `git.branching_strategy` | `none`, `phase`, `milestone` | `none` | Branch creation strategy |
770
- | `git.phase_branch_template` | string | `ez/phase-{phase}-{slug}` | Template for phase branches |
771
- | `git.milestone_branch_template` | string | `ez/{milestone}-{slug}` | Template for milestone branches |
772
-
773
- **Strategies:**
774
- - **`none`** — Commits to current branch (default EZ Agents behavior)
775
- - **`phase`** — Creates a branch per phase, merges at phase completion
776
- - **`milestone`** — Creates one branch for entire milestone, merges at completion
777
-
778
- At milestone completion, EZ Agents offers squash merge (recommended) or merge with history.
779
404
 
780
405
  ---
781
406
 
782
- ## Security
783
-
784
- ### Protecting Sensitive Files
785
-
786
- EZ Agents' codebase mapping and analysis commands read files to understand your project. **Protect files containing secrets** by adding them to Claude Code's deny list:
787
-
788
- 1. Open Claude Code settings (`.claude/settings.json` or global)
789
- 2. Add sensitive file patterns to the deny list:
790
-
791
- ```json
792
- {
793
- "permissions": {
794
- "deny": [
795
- "Read(.env)",
796
- "Read(.env.*)",
797
- "Read(**/secrets/*)",
798
- "Read(**/*credential*)",
799
- "Read(**/*.pem)",
800
- "Read(**/*.key)"
801
- ]
802
- }
803
- }
804
- ```
805
-
806
- This prevents Claude from reading these files entirely, regardless of what commands you run.
407
+ ## Documentation
807
408
 
808
- > [!IMPORTANT]
809
- > EZ Agents includes built-in protections against committing secrets, but defense-in-depth is best practice. Deny read access to sensitive files as a first line of defense.
409
+ | Doc | What's Inside |
410
+ |-----|---------------|
411
+ | [User Guide](docs/USER-GUIDE.md) | Full command reference, workflows, troubleshooting |
412
+ | [Workflows](docs/WORKFLOWS.md) | Complete workflow diagrams for all use cases |
413
+ | [Provider Behaviors](docs/PROVIDER-BEHAVIORS.md) | Differences between Claude, OpenCode, Gemini, etc. |
414
+ | [Qwen Code Install](docs/QWEN-CODE-INSTALL.md) | Fix for Qwen Code CLI installation issues |
810
415
 
811
416
  ---
812
417
 
813
- ## Troubleshooting
418
+ ## Contributing
814
419
 
815
- **Commands not found after install?**
816
- - Restart your runtime to reload commands/skills
817
- - Verify files exist in `~/.claude/commands/ez/` (global) or `./.claude/commands/ez/` (local)
818
- - For Codex, verify skills exist in `~/.codex/skills/ez-*/SKILL.md` (global) or `./.codex/skills/ez-*/SKILL.md` (local)
420
+ Contributions welcome! A few guidelines:
819
421
 
820
- **Commands not working as expected?**
821
- - Run `/ez:help` to verify installation
822
- - Re-run `ez-agents` to reinstall
422
+ 1. **Test your changes** Run `npm test` before submitting
423
+ 2. **Keep it cross-platform** No Unix-specific commands (use `fs-utils.cjs`)
424
+ 3. **Document behavior** — Update USER-GUIDE.md for new commands
425
+ 4. **Respect the workflow** — EZ Agents is about structure; don't break existing patterns
823
426
 
824
- **Updating to the latest version?**
825
- ```bash
826
- ez-agents-update
827
- ```
427
+ ### Development Setup
828
428
 
829
- **Using Docker or containerized environments?**
830
-
831
- If file reads fail with tilde paths (`~/.claude/...`), set `CLAUDE_CONFIG_DIR` before installing:
832
429
  ```bash
833
- CLAUDE_CONFIG_DIR=/home/youruser/.claude ez-agents --global
430
+ git clone https://github.com/howlil/ez-agents.git
431
+ cd ez-agents
432
+ npm install
433
+ npm run build:hooks
434
+ npm link
834
435
  ```
835
- This ensures absolute paths are used instead of `~` which may not expand correctly in containers.
836
-
837
- ### Uninstalling
838
436
 
839
- To remove EZ Agents completely:
437
+ ### Running Tests
840
438
 
841
439
  ```bash
842
- # Global installs
843
- ez-agents --claude --global --uninstall
844
- ez-agents --opencode --global --uninstall
845
- ez-agents --codex --global --uninstall
846
-
847
- # Local installs (current project)
848
- ez-agents --claude --local --uninstall
849
- ez-agents --opencode --local --uninstall
850
- ez-agents --codex --local --uninstall
440
+ npm test # Run all tests
441
+ npm run test:coverage # With coverage report
851
442
  ```
852
443
 
853
- This removes all EZ Agents commands, agents, hooks, and settings while preserving your other configurations.
854
-
855
- ---
856
-
857
- ## Community Ports
858
-
859
- OpenCode, Gemini CLI, and Codex are now natively supported via `ez-agents`.
860
-
861
- These community ports pioneered multi-runtime support:
862
-
863
- | Project | Platform | Description |
864
- |---------|----------|-------------|
865
- | [ez-opencode](https://github.com/rokicool/ez-opencode) | OpenCode | Original OpenCode adaptation |
866
- | ez-gemini (archived) | Gemini CLI | Original Gemini adaptation by uberfuzzy |
867
-
868
444
  ---
869
445
 
870
- ## Star History
446
+ ## Acknowledgments
871
447
 
872
- <a href="https://star-history.com/#glittercowboy/ez-agents&Date">
873
- <picture>
874
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=glittercowboy/ez-agents&type=Date&theme=dark" />
875
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=glittercowboy/ez-agents&type=Date" />
876
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=glittercowboy/ez-agents&type=Date" />
877
- </picture>
878
- </a>
448
+ EZ Agents is a fork of the original project by [TÂCHES](https://github.com/glittercowboy). This fork adds multi-model support (Qwen, Kimi, OpenAI), enterprise-grade security, and cross-platform reliability. Not affiliated with the upstream repository.
879
449
 
880
450
  ---
881
451
 
882
452
  ## License
883
453
 
884
- MIT License. See [LICENSE](LICENSE) for details.
454
+ MIT see [LICENSE](LICENSE)
885
455
 
886
456
  ---
887
457
 
888
- <div align="center">
889
-
890
- **Claude Code is powerful. EZ Agents makes it reliable.**
458
+ ## Getting Help
891
459
 
892
- </div>
460
+ - **Issues:** [GitHub Issues](https://github.com/howlil/ez-agents/issues)
461
+ - **Discussions:** [GitHub Discussions](https://github.com/howlil/ez-agents/discussions)
462
+ - **npm:** [@howlil/ez-agents](https://www.npmjs.com/package/@howlil/ez-agents)