claude-yes 1.31.2 → 1.32.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 (44) hide show
  1. package/README.md +225 -21
  2. package/dist/agent-yes.js +2 -0
  3. package/dist/amp-yes.js +2 -0
  4. package/dist/auggie-yes.js +2 -0
  5. package/dist/claude-yes.js +2 -20432
  6. package/dist/cli.js +18342 -10955
  7. package/dist/codex-yes.js +2 -20432
  8. package/dist/copilot-yes.js +2 -20432
  9. package/dist/cursor-yes.js +2 -20432
  10. package/dist/gemini-yes.js +2 -20432
  11. package/dist/grok-yes.js +2 -20432
  12. package/dist/index.js +16258 -13586
  13. package/dist/qwen-yes.js +2 -20432
  14. package/package.json +93 -81
  15. package/ts/ReadyManager.spec.ts +10 -10
  16. package/ts/ReadyManager.ts +1 -1
  17. package/ts/SUPPORTED_CLIS.ts +4 -0
  18. package/ts/catcher.spec.ts +69 -70
  19. package/ts/cli-idle.spec.ts +8 -8
  20. package/ts/cli.ts +18 -26
  21. package/ts/defineConfig.ts +4 -4
  22. package/ts/idleWaiter.spec.ts +9 -9
  23. package/ts/index.ts +474 -233
  24. package/ts/logger.ts +22 -0
  25. package/ts/parseCliArgs.spec.ts +146 -147
  26. package/ts/parseCliArgs.ts +127 -59
  27. package/ts/postbuild.ts +29 -15
  28. package/ts/pty-fix.ts +155 -0
  29. package/ts/pty.ts +19 -0
  30. package/ts/removeControlCharacters.spec.ts +37 -38
  31. package/ts/removeControlCharacters.ts +2 -1
  32. package/ts/runningLock.spec.ts +119 -125
  33. package/ts/runningLock.ts +44 -55
  34. package/ts/session-integration.spec.ts +34 -42
  35. package/ts/utils.spec.ts +35 -35
  36. package/ts/utils.ts +7 -7
  37. package/dist/cli.js.map +0 -365
  38. package/dist/index.js.map +0 -323
  39. package/ts/codex-resume.spec.ts +0 -239
  40. package/ts/codexSessionManager.spec.ts +0 -51
  41. package/ts/codexSessionManager.test.ts +0 -259
  42. package/ts/codexSessionManager.ts +0 -312
  43. package/ts/yesLog.spec.ts +0 -74
  44. package/ts/yesLog.ts +0 -27
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Cli Yes! Claude/Gemini/Cursor/Copilot/Qwen
1
+ # Agent-Yes! for Claude/Codex/Gemini/Cursor/Copilot/Qwen/Auggie
2
2
 
3
3
  A wrapper tool that automates interactions with various AI CLI tools by automatically handling common prompts and responses. Originally designed for Claude CLI, now supports multiple AI coding assistants.
4
4
 
@@ -12,51 +12,68 @@ A wrapper tool that automates interactions with various AI CLI tools by automati
12
12
  - **Interactive Control**: You can still queue more prompts or cancel executing tasks with `ESC` or `Ctrl+C`
13
13
  - **Crash Recovery**: Automatically restarts crashed processes (where supported)
14
14
  - **Idle Detection**: Optional auto-exit when the AI becomes idle
15
+ - **Named Pipe Input (Linux)**: On Linux systems, automatically creates a FIFO (named pipe) at `/tmp/agent-yes-YYYYMMDDHHMMSSXXX.stdin` for additional input streams
15
16
 
16
- ## Prerequisites
17
+ ## Agent Clis
17
18
 
18
19
  Install the AI CLI tool(s) you want to use:
19
20
 
20
21
  ### Claude
22
+
21
23
  ```bash
22
24
  npm install -g @anthropic-ai/claude-code
23
25
  ```
26
+
24
27
  Learn more: https://www.anthropic.com/claude-code
25
28
 
26
29
  ### Gemini
30
+
27
31
  ```bash
28
32
  # Install Gemini CLI (if available)
29
33
  # Check Google's documentation for installation instructions
30
34
  ```
31
35
 
32
36
  ### Codex
37
+
33
38
  ```bash
34
39
  # Install Codex CLI (if available)
35
40
  # Check Microsoft's documentation for installation instructions
36
41
  ```
37
42
 
38
43
  ### GitHub Copilot
44
+
39
45
  ```bash
40
46
  # Install GitHub Copilot CLI
41
47
  # Check GitHub's documentation for installation instructions
42
48
  ```
43
49
 
44
50
  ### Cursor
51
+
45
52
  ```bash
46
53
  # Install Cursor agent CLI
47
54
  # Check Cursor's documentation for installation instructions
48
55
  ```
49
56
 
50
57
  ### Grok
58
+
51
59
  ```bash
52
60
  npm install -g @vibe-kit/grok-cli
53
61
  ```
62
+
54
63
  Learn more: https://github.com/vibe-kit/grok-cli
55
64
 
65
+ ### Auggie
66
+
67
+ ```bash
68
+ npm install -g @augmentcode-inc/auggie-cli
69
+ ```
70
+
71
+ Learn more: https://www.augmentcode.com/
72
+
56
73
  Then install this project:
57
74
 
58
75
  ```bash
59
- npm install cli-yes -g
76
+ npm install agent-yes -g
60
77
  ```
61
78
 
62
79
  ## Usage
@@ -70,12 +87,14 @@ claude-yes [--exit-on-idle=60s] [tool-command] [prompts]
70
87
  #### Examples
71
88
 
72
89
  **Claude (default):**
90
+
73
91
  ```bash
74
92
  claude-yes -- run all tests and commit current changes
75
93
  bunx claude-yes "Solve TODO.md"
76
94
  ```
77
95
 
78
96
  **Other AI tools:**
97
+
79
98
  ```bash
80
99
  # Use Codex directly
81
100
  codex-yes -- refactor this function
@@ -92,31 +111,139 @@ cursor-yes -- optimize performance
92
111
  # Use Gemini directly
93
112
  gemini-yes -- debug this code
94
113
 
114
+ # Use Auggie directly
115
+ auggie-yes -- analyze code patterns
116
+
95
117
  claude-yes "help me with this code"
96
118
  claude-yes "optimize performance"
97
119
  ```
98
120
 
99
121
  **Auto-exit when idle (useful for automation):**
122
+
100
123
  ```bash
101
124
  claude-yes --exit-on-idle=60s "run all tests and commit current changes"
102
125
  ```
103
126
 
104
127
  **Alternative with claude-code-execute:**
128
+
105
129
  ```bash
106
130
  claude-code-execute claude-yes "your task here"
107
131
  ```
108
132
 
133
+ ### Docker Usage
134
+
135
+ You can run `agent-yes` in a Docker container with all AI CLI tools pre-installed.
136
+
137
+ **Pull the image:**
138
+
139
+ ```bash
140
+ # From GitHub Container Registry (recommended)
141
+ docker pull ghcr.io/snomiao/agent-yes:latest
142
+
143
+ # Or from Docker Hub
144
+ docker pull snomiao/agent-yes:latest
145
+ ```
146
+
147
+ **Basic usage:**
148
+
149
+ ```bash
150
+ # Run with Claude (default)
151
+ docker run --rm -v $(pwd):/workspace -w /workspace \
152
+ ghcr.io/snomiao/agent-yes:latest \
153
+ -- run all tests
154
+
155
+ # Run with other AI tools
156
+ docker run --rm -v $(pwd):/workspace -w /workspace \
157
+ ghcr.io/snomiao/agent-yes:latest \
158
+ --cli=gemini -- debug this code
159
+ ```
160
+
161
+ **Persisting credentials:**
162
+
163
+ To persist API keys and configuration across container runs, mount the config directories:
164
+
165
+ ```bash
166
+ # For Claude
167
+ docker run --rm \
168
+ -v $(pwd):/workspace \
169
+ -v ~/.config/claude:/root/.config/claude \
170
+ -v ~/.anthropic:/root/.anthropic \
171
+ -w /workspace \
172
+ ghcr.io/snomiao/agent-yes:latest \
173
+ -- help me with this code
174
+
175
+ # For multiple AI tools (mount all config directories)
176
+ docker run --rm \
177
+ -v $(pwd):/workspace \
178
+ -v ~/.config:/root/.config \
179
+ -v ~/.anthropic:/root/.anthropic \
180
+ -v ~/.openai:/root/.openai \
181
+ -v ~/.cursor:/root/.cursor \
182
+ -w /workspace \
183
+ ghcr.io/snomiao/agent-yes:latest \
184
+ --cli=claude -- optimize performance
185
+ ```
186
+
187
+ **Complete example with environment variables:**
188
+
189
+ ```bash
190
+ # Pass API keys via environment variables
191
+ docker run --rm \
192
+ -v $(pwd):/workspace \
193
+ -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
194
+ -e OPENAI_API_KEY=$OPENAI_API_KEY \
195
+ -e GOOGLE_API_KEY=$GOOGLE_API_KEY \
196
+ -w /workspace \
197
+ ghcr.io/snomiao/agent-yes:latest \
198
+ -- refactor this module
199
+
200
+ # Or use an env file
201
+ docker run --rm \
202
+ -v $(pwd):/workspace \
203
+ --env-file .env \
204
+ -w /workspace \
205
+ ghcr.io/snomiao/agent-yes:latest \
206
+ --exit-on-idle=60s -- run all tests and commit
207
+ ```
208
+
209
+ **Docker Compose example:**
210
+
211
+ ```yaml
212
+ version: "3.8"
213
+ services:
214
+ agent-yes:
215
+ image: ghcr.io/snomiao/agent-yes:latest
216
+ volumes:
217
+ - .:/workspace
218
+ - ~/.config/claude:/root/.config/claude
219
+ - ~/.anthropic:/root/.anthropic
220
+ working_dir: /workspace
221
+ environment:
222
+ - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
223
+ command: ["--", "help me solve all todos"]
224
+ ```
225
+
226
+ **Available platforms:**
227
+
228
+ - `linux/amd64` (x86_64)
229
+ - `linux/arm64` (aarch64)
230
+
231
+ **Cloud deployment:**
232
+
233
+ For deploying to cloud platforms like Google Cloud Run, AWS, Azure, see [Cloud Deployment Guide](./docs/clouds.md).
234
+
109
235
  ### Supported CLI Tools
110
236
 
111
- | Tool | CLI Name | Description | Installation/Update |
112
- |------|----------|-------------|---------------------|
113
- | Claude | `claude` | Anthropic's Claude Code (default) | `npm install -g @anthropic-ai/claude-code@latest` |
114
- | Gemini | `gemini` | Google's Gemini CLI | `npm install -g @google/gemini-cli@latest` |
115
- | Codex | `codex` | OpenAI's Codex CLI | `npm install -g @openai/codex-cli@latest` |
116
- | Copilot | `copilot` | GitHub Copilot CLI | `npm install -g @github/copilot@latest` |
117
- | Cursor | `cursor` | Cursor agent CLI | See https://cursor.com/ja/docs/cli/installation |
118
- | Grok | `grok` | Vibe Kit's Grok CLI | `npm install -g @vibe-kit/grok-cli@latest` |
119
- | Qwen | `qwen` | Alibaba's Qwen Code CLI | `npm install -g @qwen-code/qwen-code@latest` |
237
+ | Tool | CLI Name | Description | Installation/Update |
238
+ | ------- | --------- | --------------------------------- | --------------------------------------------------- |
239
+ | Claude | `claude` | Anthropic's Claude Code (default) | `npm install -g @anthropic-ai/claude-code@latest` |
240
+ | Gemini | `gemini` | Google's Gemini CLI | `npm install -g @google/gemini-cli@latest` |
241
+ | Codex | `codex` | OpenAI's Codex CLI | `npm install -g @openai/codex-cli@latest` |
242
+ | Copilot | `copilot` | GitHub Copilot CLI | `npm install -g @github/copilot@latest` |
243
+ | Cursor | `cursor` | Cursor agent CLI | See https://cursor.com/ja/docs/cli/installation |
244
+ | Grok | `grok` | Vibe Kit's Grok CLI | `npm install -g @vibe-kit/grok-cli@latest` |
245
+ | Qwen | `qwen` | Alibaba's Qwen Code CLI | `npm install -g @qwen-code/qwen-code@latest` |
246
+ | Auggie | `auggie` | Augment Code's Auggie CLI | `npm install -g @augmentcode-inc/auggie-cli@latest` |
120
247
 
121
248
  The tool will:
122
249
 
@@ -130,7 +257,9 @@ The tool will:
130
257
  ### Pros & Cons Analysis
131
258
 
132
259
  #### Claude Code CLI (Anthropic)
260
+
133
261
  **Pros:**
262
+
134
263
  - Industry-leading performance on SWE-bench (72.5%) and Terminal-bench (43.2%)
135
264
  - Advanced checkpointing feature for code state management
136
265
  - Deep terminal integration with Unix philosophy support
@@ -138,13 +267,16 @@ The tool will:
138
267
  - Excellent at complex refactoring and debugging tasks
139
268
 
140
269
  **Cons:**
270
+
141
271
  - Higher cost compared to alternatives ($5+ per session)
142
272
  - Terminal-based interface may not suit all developers
143
273
  - Closed ecosystem with limited community plugins
144
274
  - Requires API subscription for full features
145
275
 
146
276
  #### Gemini CLI (Google)
277
+
147
278
  **Pros:**
279
+
148
280
  - Free tier with generous limits (60 requests/min, 1,000/day)
149
281
  - Fully open source (Apache 2.0 license)
150
282
  - 1 million token context window
@@ -152,13 +284,16 @@ The tool will:
152
284
  - GitHub Actions integration at no cost
153
285
 
154
286
  **Cons:**
287
+
155
288
  - Currently in preview with potential stability issues
156
289
  - Shared quotas between CLI and Code Assist
157
290
  - May produce factually incorrect outputs
158
291
  - Limited to English language support
159
292
 
160
293
  #### Codex CLI (OpenAI/Microsoft)
294
+
161
295
  **Pros:**
296
+
162
297
  - Cloud-based scalability for team collaboration
163
298
  - Powers GitHub Copilot ecosystem
164
299
  - Supports multimodal input (images, diagrams)
@@ -166,13 +301,16 @@ The tool will:
166
301
  - Flexible API for custom implementations
167
302
 
168
303
  **Cons:**
304
+
169
305
  - Requires more setup and technical knowledge
170
306
  - Internet dependency for all operations
171
307
  - Less mature/polished than competitors
172
308
  - Higher computational requirements
173
309
 
174
310
  #### Copilot CLI (GitHub)
311
+
175
312
  **Pros:**
313
+
176
314
  - Seamless GitHub integration
177
315
  - Terminal-native development experience
178
316
  - Wide language and model support
@@ -180,13 +318,16 @@ The tool will:
180
318
  - Enterprise policy controls available
181
319
 
182
320
  **Cons:**
321
+
183
322
  - Requires active subscription
184
323
  - English-only support
185
324
  - May struggle with complex/uncommon commands
186
325
  - Organization admin approval needed for business users
187
326
 
188
327
  #### Cursor CLI
328
+
189
329
  **Pros:**
330
+
190
331
  - Superior performance in setup and deployment
191
332
  - Multi-model support from various providers
192
333
  - Excellent context awareness with RAG system
@@ -194,13 +335,16 @@ The tool will:
194
335
  - Can run multiple agents in parallel
195
336
 
196
337
  **Cons:**
338
+
197
339
  - Steeper learning curve
198
340
  - UI/UX can be clunky with cramped interface
199
341
  - Manual context management required
200
342
  - Screen real estate limitations
201
343
 
202
344
  #### Grok CLI (xAI/Vibe Kit)
345
+
203
346
  **Pros:**
347
+
204
348
  - Open source and free for basic use
205
349
  - Cost-effective premium tier ($30/month)
206
350
  - Real-time data access via X integration
@@ -208,13 +352,16 @@ The tool will:
208
352
  - Cross-platform compatibility
209
353
 
210
354
  **Cons:**
355
+
211
356
  - Requires API key for advanced features
212
357
  - Internet dependency for AI features
213
358
  - Additional setup and authentication needed
214
359
  - Newer with less mature ecosystem
215
360
 
216
361
  #### Qwen Code CLI (Alibaba)
362
+
217
363
  **Pros:**
364
+
218
365
  - Fully open source (Apache 2.0)
219
366
  - Exceptional benchmark performance (87.9 on MultiPL-E)
220
367
  - 256K-1M token context support
@@ -222,11 +369,29 @@ The tool will:
222
369
  - Enterprise-ready with full infrastructure control
223
370
 
224
371
  **Cons:**
372
+
225
373
  - Newer entrant with developing ecosystem
226
374
  - Geopolitical considerations for adoption
227
375
  - Less established tooling and integrations
228
376
  - Regional trust and security concerns
229
377
 
378
+ #### Auggie CLI (Augment Code)
379
+
380
+ **Pros:**
381
+
382
+ - AI-powered code assistant with context awareness
383
+ - Supports multiple programming languages
384
+ - Real-time code suggestions and completions
385
+ - Integration with popular IDEs
386
+ - Team collaboration features
387
+
388
+ **Cons:**
389
+
390
+ - Requires subscription for full features
391
+ - Newer product with evolving feature set
392
+ - Limited documentation compared to established tools
393
+ - May require configuration for optimal performance
394
+
230
395
  ### Choosing the Right Tool
231
396
 
232
397
  - **For Solo Developers:** Claude Code (complex tasks) or Grok CLI (cost-conscious)
@@ -239,30 +404,68 @@ The tool will:
239
404
 
240
405
  ## Options
241
406
 
242
- - `--cli=<tool>`: Specify which AI CLI tool to use (claude, gemini, codex, copilot, cursor). Defaults to `claude`.
407
+ - `--cli=<tool>`: Specify which AI CLI tool to use (claude, gemini, codex, copilot, cursor, grok, qwen, auggie). Defaults to `claude`.
243
408
  - `--exit-on-idle=<seconds>`: Automatically exit when the AI tool becomes idle for the specified duration. Useful for automation scripts.
409
+ - `--use-skills`: Automatically discover and prepend SKILL.md headers from the directory hierarchy (walks from current directory up to git root). Multiple SKILL.md files are merged with most specific first. Particularly useful to bring Claude Skills-like context to non-Claude agents such as Codex or Gemini. Supports nested skills for monorepos.
410
+
411
+ ## Advanced Features
412
+
413
+ ### Named Pipe Input (Linux Only)
414
+
415
+ On Linux systems, `agent-yes` automatically creates a named pipe (FIFO) for additional input streams. This allows you to send input to the CLI from multiple sources simultaneously.
416
+
417
+ **How it works:**
418
+
419
+ - When started on Linux, a FIFO is created at `/tmp/agent-yes-YYYYMMDDHHMMSSXXX.stdin`
420
+ - The FIFO path is displayed in the console output
421
+ - You can write to this FIFO from another terminal or script
422
+ - Input from both the FIFO and standard stdin are merged together
423
+
424
+ **Example usage:**
425
+
426
+ ```bash
427
+ # Terminal 1: Start the CLI
428
+ claude-yes "help me with my code"
429
+ # Output will show: [claude-yes] Created FIFO at /tmp/agent-yes-20260109123456abc.stdin
430
+
431
+ # Terminal 2: Send additional input via the FIFO
432
+ echo "also check the tests" > /tmp/agent-yes-20260109123456abc.stdin
433
+ ```
434
+
435
+ This feature is useful for:
436
+
437
+ - Scripting complex interactions
438
+ - Sending input from multiple sources
439
+ - Integrating with other tools and automation systems
244
440
 
245
441
  ## Library Usage
246
442
 
247
443
  You can also use this as a library in your Node.js projects:
248
444
 
249
445
  ```typescript
250
- import claudeYes from 'claude-yes';
446
+ import claudeYes from "claude-yes";
251
447
 
252
448
  // Use Claude
253
449
  await claudeYes({
254
- prompt: 'help me solve all todos in my codebase',
255
- cli: 'claude',
256
- cliArgs: ['--verbose'],
450
+ prompt: "help me solve all todos in my codebase",
451
+ cli: "claude",
452
+ cliArgs: ["--verbose"],
257
453
  exitOnIdle: 30000, // exit after 30 seconds of idle
258
454
  continueOnCrash: true,
259
- logFile: 'claude.log',
455
+ logFile: "claude.log",
260
456
  });
261
457
 
262
458
  // Use other tools
263
459
  await claudeYes({
264
- prompt: 'debug this function',
265
- cli: 'gemini',
460
+ prompt: "debug this function",
461
+ cli: "gemini",
462
+ exitOnIdle: 60000,
463
+ });
464
+
465
+ // Use Auggie
466
+ await claudeYes({
467
+ prompt: "analyze code patterns",
468
+ cli: "auggie",
266
469
  exitOnIdle: 60000,
267
470
  });
268
471
  ```
@@ -277,8 +480,9 @@ The tool uses `node-pty` to spawn and manage AI CLI processes, with a sophistica
277
480
  4. **Manages Process Lifecycle**: Handles crashes, restarts, and graceful exits
278
481
 
279
482
  Each supported CLI has its own configuration defining:
483
+
280
484
  - **Ready patterns**: Regex patterns that indicate the tool is ready for input
281
- - **Enter patterns**: Patterns that trigger automatic "Yes" responses
485
+ - **Enter patterns**: Patterns that trigger automatic "Yes" responses
282
486
  - **Fatal patterns**: Patterns that indicate fatal errors requiring exit
283
487
  - **Binary mapping**: Maps logical names to actual executable names
284
488
  - **Argument handling**: Special argument processing (e.g., adding `--search` to Codex)
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bun
2
+ await import('./cli.js')
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bun
2
+ await import('./cli.js')
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bun
2
+ await import('./cli.js')