clitrigger 0.1.4 → 0.1.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 (112) hide show
  1. package/README.md +124 -100
  2. package/README_KR.md +243 -0
  3. package/dist/client/assets/index-BiXO2oR3.js +541 -0
  4. package/dist/client/assets/index-tGOot928.css +1 -0
  5. package/dist/client/index.html +2 -2
  6. package/dist/server/data/cli-models-registry.json +34 -0
  7. package/dist/server/db/queries.d.ts +95 -48
  8. package/dist/server/db/queries.d.ts.map +1 -1
  9. package/dist/server/db/queries.js +328 -129
  10. package/dist/server/db/queries.js.map +1 -1
  11. package/dist/server/db/schema.d.ts.map +1 -1
  12. package/dist/server/db/schema.js +67 -35
  13. package/dist/server/db/schema.js.map +1 -1
  14. package/dist/server/index.d.ts.map +1 -1
  15. package/dist/server/index.js +27 -13
  16. package/dist/server/index.js.map +1 -1
  17. package/dist/server/lib/git.d.ts +3 -0
  18. package/dist/server/lib/git.d.ts.map +1 -0
  19. package/dist/server/lib/git.js +7 -0
  20. package/dist/server/lib/git.js.map +1 -0
  21. package/dist/server/routes/{pipelines.d.ts → analytics.d.ts} +1 -1
  22. package/dist/server/routes/analytics.d.ts.map +1 -0
  23. package/dist/server/routes/analytics.js +102 -0
  24. package/dist/server/routes/analytics.js.map +1 -0
  25. package/dist/server/routes/cli-status.d.ts +3 -0
  26. package/dist/server/routes/cli-status.d.ts.map +1 -0
  27. package/dist/server/routes/cli-status.js +28 -0
  28. package/dist/server/routes/cli-status.js.map +1 -0
  29. package/dist/server/routes/discussions.js +5 -5
  30. package/dist/server/routes/discussions.js.map +1 -1
  31. package/dist/server/routes/execution.d.ts.map +1 -1
  32. package/dist/server/routes/execution.js +9 -5
  33. package/dist/server/routes/execution.js.map +1 -1
  34. package/dist/server/routes/images.d.ts +21 -0
  35. package/dist/server/routes/images.d.ts.map +1 -1
  36. package/dist/server/routes/images.js +163 -1
  37. package/dist/server/routes/images.js.map +1 -1
  38. package/dist/server/routes/logs.js +3 -3
  39. package/dist/server/routes/logs.js.map +1 -1
  40. package/dist/server/routes/models.d.ts.map +1 -1
  41. package/dist/server/routes/models.js +2 -0
  42. package/dist/server/routes/models.js.map +1 -1
  43. package/dist/server/routes/planner.d.ts +3 -0
  44. package/dist/server/routes/planner.d.ts.map +1 -0
  45. package/dist/server/routes/planner.js +344 -0
  46. package/dist/server/routes/planner.js.map +1 -0
  47. package/dist/server/routes/projects.d.ts.map +1 -1
  48. package/dist/server/routes/projects.js +159 -1
  49. package/dist/server/routes/projects.js.map +1 -1
  50. package/dist/server/routes/schedules.d.ts.map +1 -1
  51. package/dist/server/routes/schedules.js +39 -0
  52. package/dist/server/routes/schedules.js.map +1 -1
  53. package/dist/server/routes/sessions.d.ts +3 -0
  54. package/dist/server/routes/sessions.d.ts.map +1 -0
  55. package/dist/server/routes/sessions.js +200 -0
  56. package/dist/server/routes/sessions.js.map +1 -0
  57. package/dist/server/routes/todos.d.ts.map +1 -1
  58. package/dist/server/routes/todos.js +16 -4
  59. package/dist/server/routes/todos.js.map +1 -1
  60. package/dist/server/services/claude-manager.d.ts.map +1 -1
  61. package/dist/server/services/claude-manager.js +63 -28
  62. package/dist/server/services/claude-manager.js.map +1 -1
  63. package/dist/server/services/cli-adapters.d.ts +60 -0
  64. package/dist/server/services/cli-adapters.d.ts.map +1 -1
  65. package/dist/server/services/cli-adapters.js +123 -5
  66. package/dist/server/services/cli-adapters.js.map +1 -1
  67. package/dist/server/services/cli-status.d.ts +8 -0
  68. package/dist/server/services/cli-status.d.ts.map +1 -0
  69. package/dist/server/services/cli-status.js +57 -0
  70. package/dist/server/services/cli-status.js.map +1 -0
  71. package/dist/server/services/discussion-orchestrator.d.ts.map +1 -1
  72. package/dist/server/services/discussion-orchestrator.js +33 -6
  73. package/dist/server/services/discussion-orchestrator.js.map +1 -1
  74. package/dist/server/services/log-streamer.d.ts +12 -0
  75. package/dist/server/services/log-streamer.d.ts.map +1 -1
  76. package/dist/server/services/log-streamer.js +117 -31
  77. package/dist/server/services/log-streamer.js.map +1 -1
  78. package/dist/server/services/model-sync.d.ts +22 -0
  79. package/dist/server/services/model-sync.d.ts.map +1 -0
  80. package/dist/server/services/model-sync.js +181 -0
  81. package/dist/server/services/model-sync.js.map +1 -0
  82. package/dist/server/services/orchestrator.d.ts +18 -0
  83. package/dist/server/services/orchestrator.d.ts.map +1 -1
  84. package/dist/server/services/orchestrator.js +81 -11
  85. package/dist/server/services/orchestrator.js.map +1 -1
  86. package/dist/server/services/pty-output-filter.d.ts.map +1 -1
  87. package/dist/server/services/pty-output-filter.js +91 -8
  88. package/dist/server/services/pty-output-filter.js.map +1 -1
  89. package/dist/server/services/session-manager.d.ts +22 -0
  90. package/dist/server/services/session-manager.d.ts.map +1 -0
  91. package/dist/server/services/session-manager.js +249 -0
  92. package/dist/server/services/session-manager.js.map +1 -0
  93. package/dist/server/services/worktree-manager.d.ts +11 -1
  94. package/dist/server/services/worktree-manager.d.ts.map +1 -1
  95. package/dist/server/services/worktree-manager.js +128 -32
  96. package/dist/server/services/worktree-manager.js.map +1 -1
  97. package/dist/server/websocket/events.d.ts +13 -22
  98. package/dist/server/websocket/events.d.ts.map +1 -1
  99. package/dist/server/websocket/index.d.ts.map +1 -1
  100. package/dist/server/websocket/index.js +17 -1
  101. package/dist/server/websocket/index.js.map +1 -1
  102. package/package.json +3 -3
  103. package/README_EN.md +0 -219
  104. package/dist/client/assets/index-B4peRpUi.js +0 -134
  105. package/dist/client/assets/index-Bjyoy6lB.css +0 -1
  106. package/dist/server/routes/pipelines.d.ts.map +0 -1
  107. package/dist/server/routes/pipelines.js +0 -315
  108. package/dist/server/routes/pipelines.js.map +0 -1
  109. package/dist/server/services/pipeline-orchestrator.d.ts +0 -43
  110. package/dist/server/services/pipeline-orchestrator.d.ts.map +0 -1
  111. package/dist/server/services/pipeline-orchestrator.js +0 -503
  112. package/dist/server/services/pipeline-orchestrator.js.map +0 -1
package/README_EN.md DELETED
@@ -1,219 +0,0 @@
1
- <div align="center">
2
-
3
- <picture>
4
- <source media="(prefers-color-scheme: dark)" srcset="src/client/public/logo.svg">
5
- <source media="(prefers-color-scheme: light)" srcset="src/client/public/logo.svg">
6
- <img alt="CLITrigger" src="src/client/public/logo.svg" width="360">
7
- </picture>
8
-
9
- **AI-Powered Parallel Worktree Automation**
10
-
11
- *Write tasks. Let AI execute them in parallel. Review and merge.*
12
-
13
- <p align="center">
14
- <a href="README.md">한국어</a> ·
15
- <a href="README_EN.md">English</a>
16
- </p>
17
-
18
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
19
- [![npm](https://img.shields.io/npm/v/clitrigger.svg)](https://www.npmjs.com/package/clitrigger)
20
- [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green.svg)](https://nodejs.org)
21
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)](https://www.typescriptlang.org)
22
- [![React](https://img.shields.io/badge/React-18-61dafb.svg)](https://react.dev)
23
-
24
- </div>
25
-
26
- ---
27
-
28
- > In the age of AI-generated code, the developer's role is shifting toward supervision and review.
29
- > But **vibe coding without understanding** eventually hits a wall.
30
- > CLITrigger lets you run AI in parallel — while keeping you in full context of what's happening.
31
-
32
- <div align="center">
33
- <img src="docs/images/screenshot-tasks.png" alt="Tasks — Parallel worktree execution" width="800">
34
- <p><em>AI CLIs working simultaneously across isolated git worktrees</em></p>
35
- </div>
36
-
37
- ---
38
-
39
- ## Why CLITrigger?
40
-
41
- Boris Cherny, creator of Claude Code, emphasizes **parallelism** as the key to AI-assisted development. Waiting for one task to finish before starting the next is the new bottleneck.
42
-
43
- At the same time, most AI services have **rate limits** — you can burn through your daily quota by noon and be stuck waiting until midnight.
44
-
45
- CLITrigger solves both problems:
46
-
47
- - **Right now** — Multiple tasks run in isolated git worktrees, with Claude / Gemini / Codex executing in parallel
48
- - **Without hitting limits** — Schedule tasks for off-peak hours to make the most of your token quota
49
- - **Better output** — Multiple AI agents debate and review before implementation, producing higher-quality results than a single AI working alone
50
-
51
- ---
52
-
53
- ## How It Works
54
-
55
- ```
56
- [Write TODOs in the browser]
57
-
58
- ┌──────────────────────────────────────────────────────────────┐
59
- │ TODO 1: Implement login → worktree/feature-login → Claude CLI → auto-commit │
60
- │ TODO 2: Signup page → worktree/feature-signup → Gemini CLI → auto-commit │
61
- │ TODO 3: Dashboard layout → worktree/feature-dashboard → Claude CLI → auto-commit │
62
- └──────────────────────────────────────────────────────────────┘
63
-
64
- [Live log streaming → Review diffs → Merge to main]
65
- ```
66
-
67
- Each TODO runs in its **own isolated git worktree** — no conflicts, separate branches, independent commit history. You review the results and decide what to merge.
68
-
69
- ---
70
-
71
- ## Features
72
-
73
- ### Parallel Worktree Execution
74
- Each TODO automatically gets its own git worktree. Claude / Gemini / Codex CLIs execute simultaneously in parallel. Dependency chains let you automatically trigger follow-up tasks and branch merges once prerequisites complete.
75
-
76
- ### Multi-Agent Discussion
77
- AI agents with different roles — architect, developer, reviewer — debate in rounds before implementation. The resulting design is far more robust than a single AI working in isolation.
78
-
79
- <div align="center">
80
- <img src="docs/images/screenshot-discussions.png" alt="Discussions — Multi-agent debate" width="800">
81
- <p><em>Multiple AI agents with different roles debating in the Discussion view</em></p>
82
- </div>
83
-
84
- ### Scheduled Execution
85
- Schedule tasks for off-peak hours to avoid rate limits. Supports both recurring cron schedules and one-time scheduled runs.
86
-
87
- <div align="center">
88
- <img src="docs/images/screenshot-schedules.png" alt="Schedules — Scheduled execution" width="800">
89
- <p><em>Cron-based recurring and one-time scheduled task execution</em></p>
90
- </div>
91
-
92
- ### Pipeline Execution
93
- Chain tasks into multi-phase sequential or parallel pipelines. Automate complex release workflows end-to-end.
94
-
95
- ### Live Logs & Built-in Git Client
96
- WebSocket-based real-time log streaming. Commit, push, merge, and manage branches directly from the web UI — so you always stay in context.
97
-
98
- ### Multi-CLI & Sandbox Mode
99
- Select Claude / Gemini / Codex per project or per task. Strict sandbox mode restricts CLI file access to the worktree directory only.
100
-
101
- ### Plugin System
102
- Jira, GitHub, Notion integrations and gstack skill injection — add external service integrations as self-contained plugins.
103
-
104
- ### Remote Access
105
- Access and control from anywhere via Cloudflare Tunnel.
106
-
107
- ---
108
-
109
- ## Tech Stack
110
-
111
- | Layer | Tech |
112
- |-------|------|
113
- | Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
114
- | Frontend | React 18 · Vite · Tailwind CSS |
115
- | AI CLIs | Claude · Gemini · Codex (Adapter Pattern) |
116
- | Git | simple-git (worktree management) |
117
- | Scheduling | node-cron |
118
- | Terminal | node-pty (TTY support) |
119
- | Remote Access | Cloudflare Tunnel (optional) |
120
-
121
- ---
122
-
123
- ## Quick Start
124
-
125
- ```bash
126
- npm i -g clitrigger
127
- clitrigger
128
- ```
129
-
130
- On first run, you'll be prompted to set a password. Then the server starts immediately.
131
- Open `http://localhost:3000` → Register a project → Write TODOs → Click Start.
132
-
133
- ```bash
134
- # Change settings
135
- clitrigger config port 8080 # Change port
136
- clitrigger config password # Change password
137
- ```
138
-
139
- > **Prerequisites**: Node.js 20+, Git, at least one AI CLI (Claude / Gemini / Codex)
140
- >
141
- > **Supported Platforms**: Windows · macOS · Linux — all core code is cross-platform compatible.
142
- > On macOS, you may need `xcode-select --install` for native module compilation.
143
-
144
- ### Run from Source (for development)
145
-
146
- <details>
147
- <summary>Click to expand</summary>
148
-
149
- ```bash
150
- # 1. Clone & install
151
- git clone https://github.com/OSgoodYZ/CLITrigger.git
152
- cd CLITrigger
153
- npm install
154
- cd src/client && npm install && cd ../..
155
-
156
- # 2. Configure environment
157
- cp .env.example .env
158
- # Edit .env and set AUTH_PASSWORD
159
-
160
- # 3. Run
161
- npm run dev
162
- ```
163
-
164
- Open `http://localhost:5173`.
165
-
166
- #### Windows One-Click Scripts
167
-
168
- Double-click any bat file in `scripts/` — no terminal needed.
169
-
170
- | File | Action |
171
- |------|--------|
172
- | `install.bat` | Install dependencies (first time) |
173
- | `dev.bat` | Start development mode |
174
- | `build.bat` | Build project |
175
- | `start.bat` | Start production server |
176
- | `start-tunnel.bat` | Start with Cloudflare Tunnel |
177
- | `test.bat` | Run all tests |
178
-
179
- #### macOS / Linux
180
-
181
- `npm run` commands work identically on all platforms. Use the terminal instead of `.bat` scripts.
182
-
183
- ```bash
184
- npm run dev # Development mode
185
- npm run build # Build
186
- npm run start # Production server
187
- npm test # Run tests
188
- ```
189
-
190
- </details>
191
-
192
- ### Remote Access (Cloudflare Tunnel)
193
-
194
- ```bash
195
- # Install cloudflared
196
- winget install cloudflare.cloudflared # Windows
197
- brew install cloudflared # macOS
198
-
199
- # Set TUNNEL_ENABLED=true in .env, then:
200
- npm run start:tunnel
201
- # → Outputs https://xxxx.trycloudflare.com in the console
202
- ```
203
-
204
- ---
205
-
206
- ## Documentation
207
-
208
- | Doc | Content |
209
- |-----|---------|
210
- | [SETUP.md](docs/SETUP.md) | Detailed installation and usage guide |
211
- | [CHANGELOG.md](docs/CHANGELOG.md) | Version history |
212
- | [CICD.md](docs/CICD.md) | GitHub Actions CI/CD setup |
213
- | [TESTING.md](docs/TESTING.md) | Testing guide |
214
-
215
- ---
216
-
217
- ## License
218
-
219
- [MIT](LICENSE) — Free to use, modify, and distribute.