clitrigger 0.2.65 → 0.2.67
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.
- package/README.md +120 -184
- package/README_KR.md +116 -180
- package/dist/client/assets/{AnalyticsPanel-BILFB_-1.js → AnalyticsPanel-DQ9grCp0.js} +1 -1
- package/dist/client/assets/CalendarGrid-Fk99r9nq.js +16 -0
- package/dist/client/assets/DiscussionDetail-HcG3ohsQ.js +8 -0
- package/dist/client/assets/DiscussionForm-BZfnK2EV.js +34 -0
- package/dist/client/assets/EmptyState-GADfcNs7.js +1 -0
- package/dist/client/assets/FloatingComposerController-5A3GJtK4-CTCqYxNF.js +1 -0
- package/dist/client/assets/LogViewer-Di7SxByZ.js +6 -0
- package/dist/client/assets/MarkdownContent-WshMOH5P.js +29 -0
- package/dist/client/assets/PersonalAgenda-DrfVGibs.js +7 -0
- package/dist/client/assets/{PlannerPageEditor-Qiwpi1s4.js → PlannerPageEditor-B2m5SwtT.js} +6 -6
- package/dist/client/assets/ProjectDetail-B96iIeaz.js +183 -0
- package/dist/client/assets/ProjectList-D2tf2Kfp.js +6 -0
- package/dist/client/assets/ReviewQueue-UrhgwrGk.js +11 -0
- package/dist/client/assets/TaskGraph-Bp62pL5V.js +2 -0
- package/dist/client/assets/{VaultLayout-0umIr6Qr.js → VaultLayout-ClyLfQdP.js} +20 -20
- package/dist/client/assets/folder-git-2-CntWBh-U.js +6 -0
- package/dist/client/assets/index-DB7C6wx1.js +427 -0
- package/dist/client/assets/index-gug7OXWO.css +32 -0
- package/dist/client/assets/rotate-ccw-DRnyCt5y.js +11 -0
- package/dist/client/assets/{style-X9FtoKKq.js → style-DcT-60Dn.js} +1 -1
- package/dist/client/assets/{with-selector-DyExB9Zl.js → with-selector-QmxTx8WM.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db/queries.d.ts +4 -1
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +9 -0
- package/dist/server/db/queries.js.map +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +2 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/discussions.d.ts.map +1 -1
- package/dist/server/routes/discussions.js +1 -0
- package/dist/server/routes/discussions.js.map +1 -1
- package/dist/server/routes/execution.d.ts.map +1 -1
- package/dist/server/routes/execution.js +2 -0
- package/dist/server/routes/execution.js.map +1 -1
- package/dist/server/routes/logs.d.ts.map +1 -1
- package/dist/server/routes/logs.js +4 -2
- package/dist/server/routes/logs.js.map +1 -1
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +7 -2
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts +0 -4
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +2 -22
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/services/log-streamer.d.ts.map +1 -1
- package/dist/server/services/log-streamer.js +2 -0
- package/dist/server/services/log-streamer.js.map +1 -1
- package/dist/server/services/orchestrator.d.ts.map +1 -1
- package/dist/server/services/orchestrator.js +12 -0
- package/dist/server/services/orchestrator.js.map +1 -1
- package/dist/server/services/session-manager.d.ts.map +1 -1
- package/dist/server/services/session-manager.js +8 -0
- package/dist/server/services/session-manager.js.map +1 -1
- package/dist/server/services/worktree-manager.d.ts +8 -0
- package/dist/server/services/worktree-manager.d.ts.map +1 -1
- package/dist/server/services/worktree-manager.js +28 -0
- package/dist/server/services/worktree-manager.js.map +1 -1
- package/package.json +2 -2
- package/dist/client/assets/FloatingComposerController-5A3GJtK4-BWTTg1eK.js +0 -1
- package/dist/client/assets/TaskGraph-7R6N_9W4.js +0 -2
- package/dist/client/assets/index-C0pXRm5D.css +0 -32
- package/dist/client/assets/index-D7UChvET.js +0 -715
package/README.md
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
<img alt="CLITrigger" src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/src/client/public/logo.svg" width="360">
|
|
7
7
|
</picture>
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Your coding agents work the night shift.**
|
|
10
10
|
|
|
11
|
-
*
|
|
11
|
+
*Queue the work before you leave. Review the diffs over coffee.*
|
|
12
12
|
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="https://github.com/HyperAITeam/CLITrigger/blob/main/README.md">English</a> ·
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
<br>
|
|
28
28
|
|
|
29
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/demo.gif" alt="CLITrigger demo
|
|
29
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/demo.gif" alt="CLITrigger demo: tasks running in parallel worktrees overnight, then the morning review queue" width="800">
|
|
30
30
|
|
|
31
31
|
<br><br>
|
|
32
32
|
|
|
@@ -34,314 +34,252 @@
|
|
|
34
34
|
npm i -g clitrigger && clitrigger
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
**Or
|
|
37
|
+
**Or grab the desktop app**, no Node.js required: **[Windows `.exe` · macOS `.dmg` · Linux `.AppImage`](https://github.com/HyperAITeam/CLITrigger/releases/latest)**
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
Open `http://localhost:3000`, set a password, add a project, write a few tasks, hit Start. That's the whole setup.
|
|
40
40
|
|
|
41
41
|
</div>
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
flowchart LR
|
|
55
|
-
docs["📚 Docs<br>Project knowledge"] --> plan["🗓 Plan<br>Planner · Calendar"]
|
|
56
|
-
plan --> term["⌨️ Terminal<br>Interactive Sessions"]
|
|
57
|
-
term --> auto["🤖 Autonomous Tasks<br>Parallel Worktrees"]
|
|
58
|
-
auto --> vcs["🔀 Version Control<br>Review Queue · Git"]
|
|
59
|
-
vcs -. lessons feed back into docs .-> docs
|
|
60
|
-
```
|
|
45
|
+
## What this is
|
|
46
|
+
|
|
47
|
+
You already run Claude Code, Codex, or Antigravity from a terminal. They're good. The catch is that they only work while you're sitting in front of them. You hit a rate limit at 11pm and the next five hours of quota go to waste. You close the laptop and nothing happens until you open it again.
|
|
48
|
+
|
|
49
|
+
CLITrigger puts those same CLIs on a queue. You write tasks. Each task gets its own git worktree. The agents run them in parallel while you're asleep, at dinner, or in a meeting. If a run hits a rate limit, one click parks it until the reset time. If a CLI runs out of context, the next one in your fallback chain takes over. In the morning you open one review queue, press `m` to merge or `d` to throw it away, and get on with your day.
|
|
50
|
+
|
|
51
|
+
During the day it's your terminal: the same CLIs in dockable floating windows, each on its own worktree branch. At night the same app becomes the task queue.
|
|
52
|
+
|
|
53
|
+
It runs on your own machine. Point a Cloudflare tunnel at it and you can check on it from your phone.
|
|
61
54
|
|
|
62
55
|
<div align="center">
|
|
63
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks
|
|
64
|
-
<p><em>
|
|
56
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks running in parallel worktrees" width="800">
|
|
57
|
+
<p><em>Three CLIs, three worktrees, one screen</em></p>
|
|
65
58
|
</div>
|
|
66
59
|
|
|
67
60
|
---
|
|
68
61
|
|
|
69
|
-
##
|
|
62
|
+
## How a night goes
|
|
63
|
+
|
|
64
|
+
**6:00pm.** You write five tasks in the project. Two of them depend on a third, so you chain them. One is "make the test suite pass", so you give it a loop rule: run `npm test` after every round, stop at exit code 0, cap it at 8 rounds and $5. You pull two files from the project docs into the prompt so the agent knows the conventions. You hit Start All.
|
|
65
|
+
|
|
66
|
+
**6:01pm.** Five worktrees spin up under `.worktrees/` inside the project. Three tasks start right away. The two dependents wait.
|
|
70
67
|
|
|
71
|
-
**The
|
|
68
|
+
**9:40pm.** The first task finishes and commits. Its two dependents start, each with the parent branch squash-merged in. The project has an auto-delegate rule, so a second CLI gets a fresh task: review the first one's diff.
|
|
72
69
|
|
|
73
|
-
|
|
70
|
+
**11:15pm.** Claude hits its five-hour limit. The task is marked, and the reset time is recorded. You tap the tunnel URL on your phone, hit "schedule on reset", and go to sleep. Or you had a fallback chain set, and Codex already picked it up.
|
|
74
71
|
|
|
75
|
-
|
|
72
|
+
**4:10am.** The reset passes. The parked task runs.
|
|
76
73
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
- **One place to land it** — triage every diff in the review queue, then commit, push, and merge in the built-in Git client
|
|
74
|
+
**7:30am.** You open the review queue. Five cards. Two are quick wins under 50 lines, merged in two keystrokes. One is flagged risky at 400 lines, you open the diff inline and read it properly. One failed, you read the log, press Continue with one more sentence of instruction. One is wrong, `d`, worktree gone.
|
|
75
|
+
|
|
76
|
+
That's a normal Tuesday.
|
|
81
77
|
|
|
82
78
|
---
|
|
83
79
|
|
|
84
80
|
## Features
|
|
85
81
|
|
|
86
|
-
|
|
82
|
+
### Before you leave
|
|
83
|
+
|
|
84
|
+
**Tasks and worktrees.** Every task runs in its own git worktree on its own branch. Set a concurrency limit per project. Tasks commit on completion. Chain tasks with dependencies and the child starts with the parent's branch merged in. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#parallel-worktree-execution)
|
|
87
85
|
|
|
88
|
-
|
|
86
|
+
**Loop rules.** Turn a task into a loop. Give it a verification command (exit 0 means done), or a done phrase to look for in the agent's last message. Add a max round count, a cost cap in USD, and a "stop if a round makes no commits" guard so a confused agent can't burn your budget. Rules you type in the box get appended to every round's prompt.
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
A per-project Obsidian-style knowledge base with a `[[wikilink]]` graph — inject any file into a prompt, CLI-agnostically. What accumulates here is the input to the whole pipeline. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#vault)
|
|
88
|
+
**Schedules.** Cron for recurring runs, one-off for a specific time, and a "run when the rate limit resets" button that reads the reset timestamp straight from the CLI output. Skip-if-running is on by default so a slow run doesn't stack up. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#scheduled-execution)
|
|
92
89
|
|
|
93
90
|
<div align="center">
|
|
94
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
95
|
-
<p><em>The Docs tab — browse project markdown with inline preview and a force-directed wikilink graph, then selectively inject files into prompts</em></p>
|
|
91
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules" width="800">
|
|
96
92
|
</div>
|
|
97
93
|
|
|
98
|
-
|
|
94
|
+
**Fallback chain.** Order your CLIs, say Claude then Antigravity then Codex. When one runs out of context window, or Antigravity reports its quota is gone three times in a minute, the process is killed and the next CLI starts on the same task. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-cli--sandbox-mode)
|
|
95
|
+
|
|
96
|
+
**Auto-delegate.** A project rule like "when Claude finishes, have Codex review it". The review runs as a chained task on the same branch. Delegated tasks never delegate again, so no loops.
|
|
99
97
|
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
**Sandbox mode.** Strict mode writes the CLI's permission file so it can only touch the worktree. Nothing outside it.
|
|
99
|
+
|
|
100
|
+
**Docs.** A per-project folder of markdown with `[[wikilinks]]` and a graph view. Pick files and they go into the prompt, whichever CLI you're using. There's also a wiki that accumulates lessons from past runs and gets injected as long-term memory. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#vault)
|
|
102
101
|
|
|
103
102
|
<div align="center">
|
|
104
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
105
|
-
<p><em>One calendar overlaying personal memos, cross-project schedules, planner due dates, and assigned Jira issues</em></p>
|
|
103
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="Docs with wikilink graph" width="800">
|
|
106
104
|
</div>
|
|
107
105
|
|
|
108
|
-
|
|
109
|
-
A lightweight task planner — capture ideas, then convert any item into a TODO, schedule, or session; Markdown import/export. What you plan here becomes the execution unit of the next stage. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#planner)
|
|
106
|
+
**Planner and calendar.** A plain list for ideas that aren't tasks yet. Turn any line into a task, a schedule, or a session with one click. My Schedule overlays your memos, every project's schedules, planner due dates, and assigned Jira issues on one calendar. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#planner)
|
|
110
107
|
|
|
111
108
|
<div align="center">
|
|
112
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner
|
|
113
|
-
<p><em>Inline editing, color-coded tags, image attachments, and one-click conversion to TODOs or schedules</em></p>
|
|
109
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner" width="800">
|
|
114
110
|
</div>
|
|
115
111
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
#### Interactive Sessions
|
|
119
|
-
Long-lived CLI sessions in floating windows with VS Code-style docking, pop-out, and real xterm.js terminals — the human-in-the-loop stage before handing work off to automation. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#interactive-sessions)
|
|
112
|
+
**Multi-agent discussion.** For the tasks you don't want to just fire off: an architect, a developer, and a reviewer argue about the approach first. The outcome can be committed as code or sent to the planner as action items. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-agent-discussion)
|
|
120
113
|
|
|
121
114
|
<div align="center">
|
|
122
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
123
|
-
<p><em>Claude, Antigravity, and Codex sessions docked side-by-side via VS Code-style window grouping — each running in its own worktree branch</em></p>
|
|
115
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Multi-agent discussion" width="800">
|
|
124
116
|
</div>
|
|
125
117
|
|
|
126
|
-
###
|
|
118
|
+
### While you're out
|
|
127
119
|
|
|
128
|
-
|
|
129
|
-
Every TODO runs in its own git worktree with Claude / Antigravity / Codex in parallel, plus dependency chains and merge control. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#parallel-worktree-execution)
|
|
120
|
+
**Live logs.** Every run streams over WebSocket. Chat mode renders the markdown, Raw mode is the actual terminal bytes. Raw output is stored, so reconnecting replays exactly what happened. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#live-logs)
|
|
130
121
|
|
|
131
|
-
|
|
132
|
-
Architect / developer / reviewer agents debate before implementing, then commit code or send action items to the planner. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-agent-discussion)
|
|
122
|
+
**Remote access.** `clitrigger config tunnel on` and you get a Cloudflare URL. Name the tunnel and route it through your own domain to avoid the "dangerous site" warning. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access)
|
|
133
123
|
|
|
134
|
-
|
|
135
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Discussions — Multi-agent debate" width="800">
|
|
136
|
-
<p><em>Multiple AI agents with different roles debating in the Discussion view</em></p>
|
|
137
|
-
</div>
|
|
124
|
+
**Notifications.** A bell in the sidebar turns on OS notifications for finished and failed runs. Click one and it jumps to that session.
|
|
138
125
|
|
|
139
|
-
|
|
140
|
-
|
|
126
|
+
**MCP server.** CLITrigger exposes itself over HTTP as an MCP server. Paste the config from Settings → MCP into Claude Desktop or Claude Code and you can list projects, create and start tasks, and check status from a chat. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server)
|
|
127
|
+
|
|
128
|
+
**Analytics.** Cost and tokens per project, split by CLI, status, and date. Useful for noticing that one loop task ate half the month. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#analytics)
|
|
141
129
|
|
|
142
130
|
<div align="center">
|
|
143
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
144
|
-
<p><em>Cron-based recurring and one-time scheduled task execution</em></p>
|
|
131
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics" width="800">
|
|
145
132
|
</div>
|
|
146
133
|
|
|
147
|
-
|
|
148
|
-
Pick Claude / Antigravity / Codex per project, TODO, or agent; strict sandbox confines file access to the worktree. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#multi-cli--sandbox-mode)
|
|
149
|
-
|
|
150
|
-
### 🔀 5. Version Control — review and land it
|
|
134
|
+
### The next morning
|
|
151
135
|
|
|
152
|
-
|
|
153
|
-
Triage every overnight TODO across projects in one keyboard-driven card stack — navigate, merge, or discard in a keypress. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#morning-review-queue)
|
|
136
|
+
**Review queue.** One screen for every project's recent tasks. Cards show the project, a one-line summary of the agent's last message, token totals, and diff size. Risk is auto-tagged: failed or over 300 lines is high, over 50 is medium. Filter by Risky, Quick wins, or Failed. Time window of 12h, 24h, or 7d. `j`/`k` to move, `Space` to expand the diff inline, `Enter` for the full log, `m` to merge, `d` to discard. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#morning-review-queue)
|
|
154
137
|
|
|
155
|
-
|
|
156
|
-
A Fork / SourceTree-style Git client in the browser — stage, commit, push, and manage branches and diffs. This is where AI output lands in your history, closing the pipeline. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
|
|
138
|
+
**Git client.** Stage, commit, push, branches, commit graph, file diffs, and a conflict resolver. All inside CLITrigger, so you can land an agent's branch from the same screen you reviewed it on. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
|
|
157
139
|
|
|
158
140
|
<div align="center">
|
|
159
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git
|
|
160
|
-
<p><em>Commit graph, branch actions, file diffs — all in the browser</em></p>
|
|
141
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git client" width="800">
|
|
161
142
|
</div>
|
|
162
143
|
|
|
163
|
-
|
|
144
|
+
**SVN too.** If the project is a Subversion working copy, turn on the SVN panel: status, log, diff, commit, externals, and properties. Same diff viewer as git.
|
|
164
145
|
|
|
165
|
-
|
|
166
|
-
|
|
146
|
+
### Daytime, when you are at the desk
|
|
147
|
+
|
|
148
|
+
**Sessions.** Long-lived interactive CLI sessions in floating windows. Dock them side by side VS Code style, pop one out to a separate window, tag and alias them. Real xterm.js terminals on node-pty. Each session can live on its own worktree branch. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#interactive-sessions)
|
|
167
149
|
|
|
168
150
|
<div align="center">
|
|
169
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-
|
|
170
|
-
<p><em>Cost and token usage broken down by CLI, status, and over time</em></p>
|
|
151
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Docked sessions" width="800">
|
|
171
152
|
</div>
|
|
172
153
|
|
|
173
|
-
|
|
174
|
-
Real-time WebSocket log streaming in Chat (markdown) or Raw (terminal) mode. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#live-logs)
|
|
175
|
-
|
|
176
|
-
#### Favorites Launcher
|
|
177
|
-
One-click launcher for your frequent external tools (executables, commands, URLs) from the sidebar. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#favorites-launcher)
|
|
178
|
-
|
|
179
|
-
#### Remote Access
|
|
180
|
-
Reach CLITrigger from anywhere via Cloudflare Tunnel, with completion notifications and custom-domain routing. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Remote-Access)
|
|
154
|
+
**Integrations.** Jira, GitHub Issues, and Notion as plugins. gstack skills as an execution hook. A Harness panel for editing each CLI's settings, memory, MCP config, and toggling skills and hooks without opening the dotfiles.
|
|
181
155
|
|
|
182
|
-
|
|
183
|
-
Expose CLITrigger to any MCP client (Claude Desktop, Claude Code) over an HTTP endpoint — list projects, create and run tasks, and check status just by chatting with your AI. Copy the ready-made config (URL + token) from Settings → MCP; works for npm, desktop, and tunnel users alike. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/MCP-Server)
|
|
156
|
+
**Small things.** A Files tab to browse the repo. A Favorites launcher for the tools you open ten times a day. Web panel tabs in the desktop app for keeping Notion or a dashboard next to your sessions. A process panel showing which CLI processes are actually alive.
|
|
184
157
|
|
|
185
158
|
---
|
|
186
159
|
|
|
187
|
-
## Tech
|
|
160
|
+
## Tech stack
|
|
188
161
|
|
|
189
162
|
| Layer | Tech |
|
|
190
163
|
|-------|------|
|
|
191
|
-
| Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
|
|
164
|
+
| Backend | Node.js · Express · TypeScript · SQLite (better-sqlite3, WAL) · WebSocket |
|
|
192
165
|
| Frontend | React 18 · Vite · Tailwind CSS · Recharts |
|
|
193
|
-
|
|
|
194
|
-
| Git | simple-git
|
|
166
|
+
| CLIs | Claude Code · Antigravity · Codex, behind one adapter interface |
|
|
167
|
+
| Git | simple-git for worktrees and merges |
|
|
195
168
|
| Scheduling | node-cron |
|
|
196
|
-
| Terminal | node-pty
|
|
197
|
-
| Remote
|
|
169
|
+
| Terminal | node-pty · xterm.js |
|
|
170
|
+
| Remote access | Cloudflare Tunnel (optional) |
|
|
171
|
+
| Desktop | Electron, bundles Node and the native modules |
|
|
198
172
|
|
|
199
173
|
---
|
|
200
174
|
|
|
201
|
-
##
|
|
175
|
+
## Install
|
|
202
176
|
|
|
203
|
-
###
|
|
177
|
+
### Desktop app
|
|
204
178
|
|
|
205
|
-
Download the installer
|
|
179
|
+
Download the installer from the [latest release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
|
|
206
180
|
|
|
207
|
-
- **Windows
|
|
208
|
-
- **macOS
|
|
209
|
-
- **Linux
|
|
181
|
+
- **Windows**: `CLITrigger-Setup-<version>.exe`, or the portable `.exe`
|
|
182
|
+
- **macOS**: `CLITrigger-<version>.dmg` (Apple Silicon and Intel)
|
|
183
|
+
- **Linux**: `CLITrigger-<version>.AppImage`
|
|
210
184
|
|
|
211
|
-
|
|
185
|
+
Node.js, `better-sqlite3`, `node-pty`, and `cloudflared` are bundled. First launch shows a setup screen where you pick a password. The tunnel stays off until setup is done, so nobody else can be the first user.
|
|
212
186
|
|
|
213
|
-
###
|
|
187
|
+
### npm
|
|
214
188
|
|
|
215
189
|
```bash
|
|
216
|
-
# Install
|
|
217
190
|
npm i -g clitrigger
|
|
218
191
|
clitrigger
|
|
219
|
-
|
|
220
|
-
# Upgrade to the latest version
|
|
221
|
-
npm i -g clitrigger@latest
|
|
222
|
-
# Check current version: clitrigger --version
|
|
223
192
|
```
|
|
224
193
|
|
|
225
|
-
|
|
194
|
+
The server starts on port 3000. Open it, set a password, add a project, write tasks. You can change the password later in Settings → Account.
|
|
226
195
|
|
|
227
|
-
|
|
196
|
+
When a newer version is on npm, startup prints a one-line hint. It won't update itself.
|
|
228
197
|
|
|
229
198
|
```bash
|
|
230
|
-
#
|
|
231
|
-
clitrigger
|
|
232
|
-
clitrigger config
|
|
199
|
+
npm i -g clitrigger@latest # upgrade
|
|
200
|
+
clitrigger --version
|
|
201
|
+
clitrigger config port 8080 # change port
|
|
202
|
+
clitrigger config tunnel on # Cloudflare tunnel
|
|
203
|
+
clitrigger reset-password # forgot it
|
|
233
204
|
```
|
|
234
205
|
|
|
235
|
-
> **
|
|
206
|
+
> **You need:** Node.js 22+ (an LTS release), Git, and at least one of Claude Code, Antigravity, or Codex installed and logged in.
|
|
236
207
|
>
|
|
237
|
-
> **
|
|
238
|
-
>
|
|
208
|
+
> **Platforms:** Windows, macOS, Linux.
|
|
209
|
+
> Stick to even-numbered Node releases. A brand-new major often has no prebuilt binaries for the native modules yet, which means a C++ toolchain and a long compile.
|
|
239
210
|
|
|
240
|
-
###
|
|
211
|
+
### From source
|
|
241
212
|
|
|
242
213
|
<details>
|
|
243
|
-
<summary>
|
|
214
|
+
<summary>Expand</summary>
|
|
244
215
|
|
|
245
216
|
```bash
|
|
246
|
-
# 1. Clone & install
|
|
247
217
|
git clone https://github.com/HyperAITeam/CLITrigger.git
|
|
248
218
|
cd CLITrigger
|
|
249
219
|
npm install
|
|
250
220
|
cd src/client && npm install && cd ../..
|
|
251
221
|
|
|
252
|
-
# 2. Configure environment
|
|
253
222
|
cp .env.example .env
|
|
254
|
-
# AUTH_PASSWORD
|
|
255
|
-
# setup screen on first browser load. Set it only if you want to skip setup.
|
|
223
|
+
# AUTH_PASSWORD can stay blank; the setup screen will ask on first load.
|
|
256
224
|
|
|
257
|
-
# 3. Run
|
|
258
225
|
npm run dev
|
|
259
226
|
```
|
|
260
227
|
|
|
261
228
|
Open `http://localhost:5173`.
|
|
262
229
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
Double-click any bat file in `scripts/` — no terminal needed.
|
|
266
|
-
|
|
267
|
-
| File | Action |
|
|
268
|
-
|------|--------|
|
|
269
|
-
| `install.bat` | Install dependencies (first time) |
|
|
270
|
-
| `dev.bat` | Start development mode |
|
|
271
|
-
| `build.bat` | Build project |
|
|
272
|
-
| `start.bat` | Start production server |
|
|
273
|
-
| `start-tunnel.bat` | Start with Cloudflare Tunnel |
|
|
274
|
-
| `test.bat` | Run all tests |
|
|
275
|
-
|
|
276
|
-
#### macOS / Linux
|
|
277
|
-
|
|
278
|
-
`npm run` commands work identically on all platforms. Use the terminal instead of `.bat` scripts.
|
|
230
|
+
On Windows there are `.bat` files in `scripts/` for install, dev, build, start, start-tunnel, and test. On macOS and Linux use the matching `npm run` commands.
|
|
279
231
|
|
|
280
232
|
```bash
|
|
281
|
-
npm run dev
|
|
282
|
-
npm run build
|
|
283
|
-
npm run start
|
|
284
|
-
npm test
|
|
233
|
+
npm run dev
|
|
234
|
+
npm run build
|
|
235
|
+
npm run start
|
|
236
|
+
npm test
|
|
285
237
|
```
|
|
286
238
|
|
|
287
239
|
</details>
|
|
288
240
|
|
|
289
|
-
### Remote
|
|
241
|
+
### Remote access
|
|
290
242
|
|
|
291
243
|
```bash
|
|
292
|
-
# Install cloudflared
|
|
293
244
|
winget install cloudflare.cloudflared # Windows
|
|
294
245
|
brew install cloudflared # macOS
|
|
295
246
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
#
|
|
247
|
+
clitrigger config tunnel on
|
|
248
|
+
clitrigger
|
|
249
|
+
# prints https://xxxx.trycloudflare.com
|
|
299
250
|
```
|
|
300
251
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
To avoid the "dangerous site" browser warnings on `*.trycloudflare.com` / `*.cfargotunnel.com`, point a named tunnel at your own domain. Either use the sidebar ⚙ → Tunnel settings modal (Tunnel Name + Custom Hostname), or the CLI:
|
|
252
|
+
Browsers warn about `*.trycloudflare.com`. To get rid of that, name the tunnel and route it through a domain you own. Either in the sidebar ⚙ → Tunnel modal, or:
|
|
304
253
|
|
|
305
254
|
```bash
|
|
255
|
+
clitrigger config tunnel on my-tunnel
|
|
306
256
|
clitrigger config tunnel hostname app.your-domain.com
|
|
307
|
-
cloudflared tunnel route dns
|
|
257
|
+
cloudflared tunnel route dns my-tunnel app.your-domain.com # once
|
|
308
258
|
```
|
|
309
259
|
|
|
310
|
-
The displayed URL becomes `https://app.your-domain.com` and reputation tracks your domain.
|
|
311
|
-
|
|
312
260
|
---
|
|
313
261
|
|
|
314
|
-
##
|
|
262
|
+
## Docs
|
|
315
263
|
|
|
316
|
-
|
|
264
|
+
The full manual is in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki).
|
|
317
265
|
|
|
318
|
-
| Doc |
|
|
319
|
-
|
|
320
|
-
| [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) |
|
|
321
|
-
| [SETUP.md](docs/SETUP.md) |
|
|
322
|
-
| [changelog/](docs/changelog/README.md) |
|
|
323
|
-
| [CICD.md](docs/CICD.md) | GitHub Actions
|
|
324
|
-
| [TESTING.md](docs/TESTING.md) |
|
|
266
|
+
| Doc | What's in it |
|
|
267
|
+
|-----|--------------|
|
|
268
|
+
| [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) | Every feature, with screenshots |
|
|
269
|
+
| [SETUP.md](docs/SETUP.md) | Install and usage guide, section by section (Korean) |
|
|
270
|
+
| [changelog/](docs/changelog/README.md) | What changed, by date |
|
|
271
|
+
| [CICD.md](docs/CICD.md) | GitHub Actions setup |
|
|
272
|
+
| [TESTING.md](docs/TESTING.md) | How the tests are laid out |
|
|
325
273
|
|
|
326
274
|
---
|
|
327
275
|
|
|
328
|
-
##
|
|
329
|
-
|
|
330
|
-
If CLITrigger saves you time, please [**give us a star**](https://github.com/HyperAITeam/CLITrigger) — it genuinely helps the project reach more developers.
|
|
276
|
+
## Contributing
|
|
331
277
|
|
|
332
|
-
|
|
278
|
+
If this saves you an evening, a [star](https://github.com/HyperAITeam/CLITrigger) helps other people find it.
|
|
333
279
|
|
|
334
|
-
-
|
|
335
|
-
-
|
|
336
|
-
-
|
|
337
|
-
|
|
338
|
-
Every star, issue, and PR moves this faster. Thank you 🙏
|
|
339
|
-
|
|
340
|
-
---
|
|
341
|
-
|
|
342
|
-
## Contributors
|
|
343
|
-
|
|
344
|
-
Thanks to everyone who has contributed to CLITrigger!
|
|
280
|
+
- Bugs, feature requests, half-baked ideas: [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
|
|
281
|
+
- PRs: start with [`good first issue`](https://github.com/HyperAITeam/CLITrigger/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22), or fix whatever bothered you
|
|
282
|
+
- Workflows, plugins, loop rules that worked well: [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)
|
|
345
283
|
|
|
346
284
|
<a href="https://github.com/HyperAITeam/CLITrigger/graphs/contributors">
|
|
347
285
|
<img src="https://contrib.rocks/image?repo=HyperAITeam/CLITrigger" alt="Contributors" />
|
|
@@ -349,7 +287,7 @@ Thanks to everyone who has contributed to CLITrigger!
|
|
|
349
287
|
|
|
350
288
|
---
|
|
351
289
|
|
|
352
|
-
## Star
|
|
290
|
+
## Star history
|
|
353
291
|
|
|
354
292
|
<a href="https://www.star-history.com/?type=date&repos=HyperAITeam%2FCLITrigger">
|
|
355
293
|
<picture>
|
|
@@ -361,9 +299,7 @@ Thanks to everyone who has contributed to CLITrigger!
|
|
|
361
299
|
|
|
362
300
|
---
|
|
363
301
|
|
|
364
|
-
##
|
|
365
|
-
|
|
366
|
-
If CLITrigger saves you time, consider buying me a coffee!
|
|
302
|
+
## Coffee
|
|
367
303
|
|
|
368
304
|
<div align="center">
|
|
369
305
|
|
|
@@ -375,4 +311,4 @@ If CLITrigger saves you time, consider buying me a coffee!
|
|
|
375
311
|
|
|
376
312
|
## License
|
|
377
313
|
|
|
378
|
-
[MIT](LICENSE)
|
|
314
|
+
[MIT](LICENSE)
|