clitrigger 0.2.65 → 0.2.66
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 +118 -184
- package/README_KR.md +114 -180
- package/dist/client/assets/{AnalyticsPanel-BILFB_-1.js → AnalyticsPanel-ntVVoM9O.js} +1 -1
- package/dist/client/assets/CalendarGrid-8sSzdBes.js +16 -0
- package/dist/client/assets/DiscussionDetail-C8Jd-XNF.js +8 -0
- package/dist/client/assets/DiscussionForm-DaOo6Qn4.js +34 -0
- package/dist/client/assets/EmptyState-D4nAcalF.js +1 -0
- package/dist/client/assets/FloatingComposerController-5A3GJtK4-BKGtaowy.js +1 -0
- package/dist/client/assets/LogViewer-BC9BUbyo.js +6 -0
- package/dist/client/assets/MarkdownContent-CHKH6BNR.js +29 -0
- package/dist/client/assets/PersonalAgenda-SY8iVky-.js +7 -0
- package/dist/client/assets/{PlannerPageEditor-Qiwpi1s4.js → PlannerPageEditor-BR1YXV1Y.js} +6 -6
- package/dist/client/assets/ProjectDetail-NmmSdopm.js +181 -0
- package/dist/client/assets/ProjectList-CcCAHjcA.js +6 -0
- package/dist/client/assets/ReviewQueue-DJKmru0O.js +11 -0
- package/dist/client/assets/TaskGraph-BeJAKmMa.js +2 -0
- package/dist/client/assets/{VaultLayout-0umIr6Qr.js → VaultLayout-B6EUh-n3.js} +20 -20
- package/dist/client/assets/folder-git-2-DTO9mjAn.js +6 -0
- package/dist/client/assets/index-B0DZbgpK.js +427 -0
- package/dist/client/assets/index-gug7OXWO.css +32 -0
- package/dist/client/assets/rotate-ccw-Ce-MeCWv.js +11 -0
- package/dist/client/assets/{style-X9FtoKKq.js → style-BGCiJv3W.js} +1 -1
- package/dist/client/assets/{with-selector-DyExB9Zl.js → with-selector-DaFJ9d0-.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db/queries.d.ts +2 -0
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +5 -0
- package/dist/server/db/queries.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/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/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/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,250 @@
|
|
|
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
|
-
```mermaid
|
|
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 is a self-hosted web app that 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
|
+
It runs on your own machine. Point a Cloudflare tunnel at it and you can check on it from your phone.
|
|
61
52
|
|
|
62
53
|
<div align="center">
|
|
63
|
-
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks
|
|
64
|
-
<p><em>
|
|
54
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-tasks.png" alt="Tasks running in parallel worktrees" width="800">
|
|
55
|
+
<p><em>Three CLIs, three worktrees, one screen</em></p>
|
|
65
56
|
</div>
|
|
66
57
|
|
|
67
58
|
---
|
|
68
59
|
|
|
69
|
-
##
|
|
60
|
+
## How a night goes
|
|
61
|
+
|
|
62
|
+
**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.
|
|
63
|
+
|
|
64
|
+
**6:01pm.** Five worktrees spin up under `.worktrees/` inside the project. Three tasks start right away. The two dependents wait.
|
|
65
|
+
|
|
66
|
+
**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.
|
|
70
67
|
|
|
71
|
-
**
|
|
68
|
+
**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.
|
|
72
69
|
|
|
73
|
-
|
|
70
|
+
**4:10am.** The reset passes. The parked task runs.
|
|
74
71
|
|
|
75
|
-
|
|
72
|
+
**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.
|
|
76
73
|
|
|
77
|
-
|
|
78
|
-
- **Scheduling around rate limits** — cron-based runs and auto-retry at quota reset make full use of your tokens, even while you're away
|
|
79
|
-
- **Multi-agent quality** — architect / developer / reviewer agents debate before implementation, beating a single agent working alone
|
|
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
|
+
That's a normal Tuesday.
|
|
81
75
|
|
|
82
76
|
---
|
|
83
77
|
|
|
84
78
|
## Features
|
|
85
79
|
|
|
86
|
-
|
|
80
|
+
### Before you leave
|
|
87
81
|
|
|
88
|
-
|
|
82
|
+
**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)
|
|
89
83
|
|
|
90
|
-
|
|
91
|
-
|
|
84
|
+
**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.
|
|
85
|
+
|
|
86
|
+
**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
87
|
|
|
93
88
|
<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>
|
|
89
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-schedules.png" alt="Schedules" width="800">
|
|
96
90
|
</div>
|
|
97
91
|
|
|
98
|
-
|
|
92
|
+
**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)
|
|
93
|
+
|
|
94
|
+
**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.
|
|
95
|
+
|
|
96
|
+
**Sandbox mode.** Strict mode writes the CLI's permission file so it can only touch the worktree. Nothing outside it.
|
|
99
97
|
|
|
100
|
-
|
|
101
|
-
One personal calendar overlaying your memos, every project's schedules, planner due dates, and assigned Jira issues. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Plan-&-Organize#my-schedule)
|
|
98
|
+
**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
99
|
|
|
103
100
|
<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>
|
|
101
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-vault.png" alt="Docs with wikilink graph" width="800">
|
|
106
102
|
</div>
|
|
107
103
|
|
|
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)
|
|
104
|
+
**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
105
|
|
|
111
106
|
<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>
|
|
107
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-planer.png" alt="Planner" width="800">
|
|
114
108
|
</div>
|
|
115
109
|
|
|
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)
|
|
110
|
+
**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
111
|
|
|
121
112
|
<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>
|
|
113
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-discussions.png" alt="Multi-agent discussion" width="800">
|
|
124
114
|
</div>
|
|
125
115
|
|
|
126
|
-
###
|
|
116
|
+
### While you're out
|
|
127
117
|
|
|
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)
|
|
118
|
+
**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
119
|
|
|
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)
|
|
120
|
+
**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
121
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
</div>
|
|
122
|
+
**Notifications.** A bell in the sidebar turns on OS notifications for finished and failed runs. Click one and it jumps to that session.
|
|
123
|
+
|
|
124
|
+
**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)
|
|
138
125
|
|
|
139
|
-
|
|
140
|
-
Run tasks on cron or one-off schedules, with auto-retry at the exact rate-limit reset time. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Delegate-to-AI#scheduled-execution)
|
|
126
|
+
**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
127
|
|
|
142
128
|
<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>
|
|
129
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-analytics.png" alt="Analytics" width="800">
|
|
145
130
|
</div>
|
|
146
131
|
|
|
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)
|
|
132
|
+
### The next morning
|
|
149
133
|
|
|
150
|
-
|
|
134
|
+
**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)
|
|
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)
|
|
154
|
-
|
|
155
|
-
#### Built-in Git Client
|
|
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)
|
|
136
|
+
**Git client.** Stage, commit, push, branches, commit graph, file diffs, and a conflict resolver. All in the browser, so you can land an agent's branch from the same tab you reviewed it in. [Wiki ↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#built-in-git-client)
|
|
157
137
|
|
|
158
138
|
<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>
|
|
139
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-git.png" alt="Git client" width="800">
|
|
161
140
|
</div>
|
|
162
141
|
|
|
163
|
-
|
|
142
|
+
**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.
|
|
143
|
+
|
|
144
|
+
### Daytime, when you are at the desk
|
|
164
145
|
|
|
165
|
-
|
|
166
|
-
Per-project cost and execution stats — by CLI, by status, and over time. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#analytics)
|
|
146
|
+
**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
147
|
|
|
168
148
|
<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>
|
|
149
|
+
<img src="https://raw.githubusercontent.com/HyperAITeam/CLITrigger/main/docs/images/screenshot-sessions.png" alt="Docked sessions" width="800">
|
|
171
150
|
</div>
|
|
172
151
|
|
|
173
|
-
|
|
174
|
-
Real-time WebSocket log streaming in Chat (markdown) or Raw (terminal) mode. [↗](https://github.com/HyperAITeam/CLITrigger/wiki/Review-&-Ship#live-logs)
|
|
152
|
+
**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.
|
|
175
153
|
|
|
176
|
-
|
|
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)
|
|
181
|
-
|
|
182
|
-
#### MCP Server
|
|
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)
|
|
154
|
+
**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
155
|
|
|
185
156
|
---
|
|
186
157
|
|
|
187
|
-
## Tech
|
|
158
|
+
## Tech stack
|
|
188
159
|
|
|
189
160
|
| Layer | Tech |
|
|
190
161
|
|-------|------|
|
|
191
|
-
| Backend | Node.js · Express · TypeScript · SQLite · WebSocket |
|
|
162
|
+
| Backend | Node.js · Express · TypeScript · SQLite (better-sqlite3, WAL) · WebSocket |
|
|
192
163
|
| Frontend | React 18 · Vite · Tailwind CSS · Recharts |
|
|
193
|
-
|
|
|
194
|
-
| Git | simple-git
|
|
164
|
+
| CLIs | Claude Code · Antigravity · Codex, behind one adapter interface |
|
|
165
|
+
| Git | simple-git for worktrees and merges |
|
|
195
166
|
| Scheduling | node-cron |
|
|
196
|
-
| Terminal | node-pty
|
|
197
|
-
| Remote
|
|
167
|
+
| Terminal | node-pty · xterm.js |
|
|
168
|
+
| Remote access | Cloudflare Tunnel (optional) |
|
|
169
|
+
| Desktop | Electron, bundles Node and the native modules |
|
|
198
170
|
|
|
199
171
|
---
|
|
200
172
|
|
|
201
|
-
##
|
|
173
|
+
## Install
|
|
202
174
|
|
|
203
|
-
###
|
|
175
|
+
### Desktop app
|
|
204
176
|
|
|
205
|
-
Download the installer
|
|
177
|
+
Download the installer from the [latest release](https://github.com/HyperAITeam/CLITrigger/releases/latest):
|
|
206
178
|
|
|
207
|
-
- **Windows
|
|
208
|
-
- **macOS
|
|
209
|
-
- **Linux
|
|
179
|
+
- **Windows**: `CLITrigger-Setup-<version>.exe`, or the portable `.exe`
|
|
180
|
+
- **macOS**: `CLITrigger-<version>.dmg` (Apple Silicon and Intel)
|
|
181
|
+
- **Linux**: `CLITrigger-<version>.AppImage`
|
|
210
182
|
|
|
211
|
-
|
|
183
|
+
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
184
|
|
|
213
|
-
###
|
|
185
|
+
### npm
|
|
214
186
|
|
|
215
187
|
```bash
|
|
216
|
-
# Install
|
|
217
188
|
npm i -g clitrigger
|
|
218
189
|
clitrigger
|
|
219
|
-
|
|
220
|
-
# Upgrade to the latest version
|
|
221
|
-
npm i -g clitrigger@latest
|
|
222
|
-
# Check current version: clitrigger --version
|
|
223
190
|
```
|
|
224
191
|
|
|
225
|
-
|
|
192
|
+
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
193
|
|
|
227
|
-
|
|
194
|
+
When a newer version is on npm, startup prints a one-line hint. It won't update itself.
|
|
228
195
|
|
|
229
196
|
```bash
|
|
230
|
-
#
|
|
231
|
-
clitrigger
|
|
232
|
-
clitrigger config
|
|
197
|
+
npm i -g clitrigger@latest # upgrade
|
|
198
|
+
clitrigger --version
|
|
199
|
+
clitrigger config port 8080 # change port
|
|
200
|
+
clitrigger config tunnel on # Cloudflare tunnel
|
|
201
|
+
clitrigger reset-password # forgot it
|
|
233
202
|
```
|
|
234
203
|
|
|
235
|
-
> **
|
|
204
|
+
> **You need:** Node.js 22+ (an LTS release), Git, and at least one of Claude Code, Antigravity, or Codex installed and logged in.
|
|
236
205
|
>
|
|
237
|
-
> **
|
|
238
|
-
>
|
|
206
|
+
> **Platforms:** Windows, macOS, Linux.
|
|
207
|
+
> 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
208
|
|
|
240
|
-
###
|
|
209
|
+
### From source
|
|
241
210
|
|
|
242
211
|
<details>
|
|
243
|
-
<summary>
|
|
212
|
+
<summary>Expand</summary>
|
|
244
213
|
|
|
245
214
|
```bash
|
|
246
|
-
# 1. Clone & install
|
|
247
215
|
git clone https://github.com/HyperAITeam/CLITrigger.git
|
|
248
216
|
cd CLITrigger
|
|
249
217
|
npm install
|
|
250
218
|
cd src/client && npm install && cd ../..
|
|
251
219
|
|
|
252
|
-
# 2. Configure environment
|
|
253
220
|
cp .env.example .env
|
|
254
|
-
# AUTH_PASSWORD
|
|
255
|
-
# setup screen on first browser load. Set it only if you want to skip setup.
|
|
221
|
+
# AUTH_PASSWORD can stay blank; the setup screen will ask on first load.
|
|
256
222
|
|
|
257
|
-
# 3. Run
|
|
258
223
|
npm run dev
|
|
259
224
|
```
|
|
260
225
|
|
|
261
226
|
Open `http://localhost:5173`.
|
|
262
227
|
|
|
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.
|
|
228
|
+
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
229
|
|
|
280
230
|
```bash
|
|
281
|
-
npm run dev
|
|
282
|
-
npm run build
|
|
283
|
-
npm run start
|
|
284
|
-
npm test
|
|
231
|
+
npm run dev
|
|
232
|
+
npm run build
|
|
233
|
+
npm run start
|
|
234
|
+
npm test
|
|
285
235
|
```
|
|
286
236
|
|
|
287
237
|
</details>
|
|
288
238
|
|
|
289
|
-
### Remote
|
|
239
|
+
### Remote access
|
|
290
240
|
|
|
291
241
|
```bash
|
|
292
|
-
# Install cloudflared
|
|
293
242
|
winget install cloudflare.cloudflared # Windows
|
|
294
243
|
brew install cloudflared # macOS
|
|
295
244
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
#
|
|
245
|
+
clitrigger config tunnel on
|
|
246
|
+
clitrigger
|
|
247
|
+
# prints https://xxxx.trycloudflare.com
|
|
299
248
|
```
|
|
300
249
|
|
|
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:
|
|
250
|
+
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
251
|
|
|
305
252
|
```bash
|
|
253
|
+
clitrigger config tunnel on my-tunnel
|
|
306
254
|
clitrigger config tunnel hostname app.your-domain.com
|
|
307
|
-
cloudflared tunnel route dns
|
|
255
|
+
cloudflared tunnel route dns my-tunnel app.your-domain.com # once
|
|
308
256
|
```
|
|
309
257
|
|
|
310
|
-
The displayed URL becomes `https://app.your-domain.com` and reputation tracks your domain.
|
|
311
|
-
|
|
312
258
|
---
|
|
313
259
|
|
|
314
|
-
##
|
|
260
|
+
## Docs
|
|
315
261
|
|
|
316
|
-
|
|
262
|
+
The full manual is in the [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki).
|
|
317
263
|
|
|
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) |
|
|
264
|
+
| Doc | What's in it |
|
|
265
|
+
|-----|--------------|
|
|
266
|
+
| [Wiki](https://github.com/HyperAITeam/CLITrigger/wiki) | Every feature, with screenshots |
|
|
267
|
+
| [SETUP.md](docs/SETUP.md) | Install and usage guide, section by section (Korean) |
|
|
268
|
+
| [changelog/](docs/changelog/README.md) | What changed, by date |
|
|
269
|
+
| [CICD.md](docs/CICD.md) | GitHub Actions setup |
|
|
270
|
+
| [TESTING.md](docs/TESTING.md) | How the tests are laid out |
|
|
325
271
|
|
|
326
272
|
---
|
|
327
273
|
|
|
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.
|
|
274
|
+
## Contributing
|
|
331
275
|
|
|
332
|
-
|
|
276
|
+
If this saves you an evening, a [star](https://github.com/HyperAITeam/CLITrigger) helps other people find it.
|
|
333
277
|
|
|
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!
|
|
278
|
+
- Bugs, feature requests, half-baked ideas: [Issues](https://github.com/HyperAITeam/CLITrigger/issues)
|
|
279
|
+
- 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
|
|
280
|
+
- Workflows, plugins, loop rules that worked well: [Discussions](https://github.com/HyperAITeam/CLITrigger/discussions)
|
|
345
281
|
|
|
346
282
|
<a href="https://github.com/HyperAITeam/CLITrigger/graphs/contributors">
|
|
347
283
|
<img src="https://contrib.rocks/image?repo=HyperAITeam/CLITrigger" alt="Contributors" />
|
|
@@ -349,7 +285,7 @@ Thanks to everyone who has contributed to CLITrigger!
|
|
|
349
285
|
|
|
350
286
|
---
|
|
351
287
|
|
|
352
|
-
## Star
|
|
288
|
+
## Star history
|
|
353
289
|
|
|
354
290
|
<a href="https://www.star-history.com/?type=date&repos=HyperAITeam%2FCLITrigger">
|
|
355
291
|
<picture>
|
|
@@ -361,9 +297,7 @@ Thanks to everyone who has contributed to CLITrigger!
|
|
|
361
297
|
|
|
362
298
|
---
|
|
363
299
|
|
|
364
|
-
##
|
|
365
|
-
|
|
366
|
-
If CLITrigger saves you time, consider buying me a coffee!
|
|
300
|
+
## Coffee
|
|
367
301
|
|
|
368
302
|
<div align="center">
|
|
369
303
|
|
|
@@ -375,4 +309,4 @@ If CLITrigger saves you time, consider buying me a coffee!
|
|
|
375
309
|
|
|
376
310
|
## License
|
|
377
311
|
|
|
378
|
-
[MIT](LICENSE)
|
|
312
|
+
[MIT](LICENSE)
|