@logicseek/hello-cc 0.1.5 → 0.1.7
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/CHANGELOG.md +130 -0
- package/README.md +21 -3
- package/README.zh-CN.md +21 -3
- package/assets/screenshots/web-console.png +0 -0
- package/bin/hcc.mjs +1943 -3519
- package/docs/README.md +2 -0
- package/docs/README.zh-CN.md +3 -1
- package/docs/architecture-split-review.md +217 -0
- package/docs/architecture.md +385 -0
- package/docs/architecture.zh-CN.md +364 -0
- package/docs/layout-split-stack-audit.md +298 -0
- package/lib/automation.mjs +8 -0
- package/lib/cli-args.mjs +1 -1
- package/lib/cli-runtime.mjs +45 -0
- package/lib/coordination-state.mjs +218 -0
- package/lib/core/coordination/automation.mjs +222 -0
- package/lib/core/coordination/locks.mjs +46 -0
- package/lib/core/coordination/messages.mjs +116 -0
- package/lib/core/coordination/tasks.mjs +240 -0
- package/lib/core/coordination/teams.mjs +73 -0
- package/lib/core/coordination/timeline.mjs +196 -0
- package/lib/core/peers/bindings.mjs +83 -0
- package/lib/core/peers/format.mjs +13 -0
- package/lib/core/peers/identity.mjs +61 -0
- package/lib/core/peers/liveness.mjs +90 -0
- package/lib/core/peers/reconcile.mjs +238 -0
- package/lib/core/peers/session.mjs +14 -0
- package/lib/core/sessions/launch.mjs +89 -0
- package/lib/db/schema.mjs +324 -0
- package/lib/db/stores/peers.mjs +231 -0
- package/lib/db-schema.mjs +7 -324
- package/lib/errors.mjs +1 -7
- package/lib/handoff.mjs +26 -0
- package/lib/help.mjs +3 -0
- package/lib/integrations/hooks.mjs +171 -0
- package/lib/integrations/peers/identity.mjs +208 -0
- package/lib/integrations/peers/processes.mjs +151 -0
- package/lib/integrations/providers.mjs +282 -0
- package/lib/integrations/shims/script.mjs +384 -0
- package/lib/integrations/shims.mjs +106 -0
- package/lib/json-file.mjs +1 -14
- package/lib/locks.mjs +10 -0
- package/lib/messages.mjs +3 -0
- package/lib/package-meta.mjs +6 -24
- package/lib/peer-bindings.mjs +14 -0
- package/lib/peer-format.mjs +4 -0
- package/lib/peer-identity.mjs +15 -0
- package/lib/project-context.mjs +6 -0
- package/lib/project-registry.mjs +7 -0
- package/lib/provider-commands.mjs +13 -0
- package/lib/release/package-meta.mjs +31 -0
- package/lib/release/release-notes.mjs +40 -0
- package/lib/release-notes.mjs +6 -40
- package/lib/runtime/client.mjs +42 -0
- package/lib/runtime/paths.mjs +45 -0
- package/lib/runtime/project-context.mjs +32 -0
- package/lib/runtime/projects.mjs +76 -0
- package/lib/runtime/state.mjs +128 -0
- package/lib/runtime-client.mjs +3 -0
- package/lib/runtime-paths.mjs +11 -45
- package/lib/runtime-state.mjs +11 -0
- package/lib/session-launch.mjs +17 -0
- package/lib/setup.mjs +17 -293
- package/lib/shared/errors.mjs +7 -0
- package/lib/shared/json-file.mjs +14 -0
- package/lib/shim-script.mjs +1 -384
- package/lib/state-render.mjs +5 -0
- package/lib/task-cli.mjs +45 -0
- package/lib/task-liveness.mjs +8 -0
- package/lib/task-store.mjs +3 -0
- package/lib/team-planning.mjs +7 -0
- package/lib/terminal/tmux.mjs +372 -0
- package/lib/timeline.mjs +12 -0
- package/lib/tmux.mjs +18 -0
- package/lib/ui/help.mjs +419 -0
- package/lib/ui/state-render.mjs +61 -0
- package/lib/web/http.mjs +55 -0
- package/lib/web/peer-actions.mjs +306 -0
- package/lib/web/runtime.mjs +154 -0
- package/lib/web/ui-template.mjs +2057 -0
- package/lib/web-http.mjs +7 -55
- package/lib/web-peer-actions.mjs +3 -0
- package/lib/web-runtime.mjs +17 -108
- package/lib/web-ui-template.mjs +3 -1909
- package/package.json +1 -1
- package/scripts/github-release.mjs +2 -2
- package/scripts/regression.mjs +2901 -79
- package/scripts/release-notes.mjs +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,136 @@ the release description from the current changelog section. Use
|
|
|
16
16
|
`npm run release:github` with `GH_TOKEN` or `GITHUB_TOKEN` only for local
|
|
17
17
|
backfills.
|
|
18
18
|
|
|
19
|
+
## 0.1.7
|
|
20
|
+
|
|
21
|
+
### Summary
|
|
22
|
+
|
|
23
|
+
hello-cc 0.1.7 publishes the post-0.1.6 Web and coordination hardening work
|
|
24
|
+
alongside the README product screenshot. It keeps the 0.1.6 package surface and
|
|
25
|
+
adds stricter peer identity behavior, audited Web peer actions, cleaner tmux
|
|
26
|
+
test isolation, and clearer first-run documentation for the Web console.
|
|
27
|
+
|
|
28
|
+
### Highlights
|
|
29
|
+
|
|
30
|
+
- Enforced system-peer identity handling so internal coordination actions stay
|
|
31
|
+
attributable and do not accidentally inherit a user peer identity.
|
|
32
|
+
- Audited Web peer action flows and expanded regression coverage around task,
|
|
33
|
+
message, lock, and tmux cleanup paths used by the browser console.
|
|
34
|
+
- Cleaned tmux-focused regression tests so runtime cleanup and test isolation
|
|
35
|
+
stay stable across repeated local runs.
|
|
36
|
+
- Added a sanitized Web console screenshot to both English and Chinese README
|
|
37
|
+
files, showing sessions, terminal output, project state, messages, peers,
|
|
38
|
+
tasks, and locks.
|
|
39
|
+
- Documented that `hcc web` defaults to a LAN-facing `0.0.0.0` bind, requests
|
|
40
|
+
port `8787`, prints both `open:` and `local:` token URLs, and auto-tries later
|
|
41
|
+
ports when `--port` is not explicit.
|
|
42
|
+
|
|
43
|
+
### Compatibility Notes
|
|
44
|
+
|
|
45
|
+
- No breaking CLI command changes are intended in this release.
|
|
46
|
+
- The Web access model remains token-in-URL based; use `--local` when the Web
|
|
47
|
+
console should bind only to `127.0.0.1`.
|
|
48
|
+
- This release does not change the public package surface introduced in 0.1.6.
|
|
49
|
+
|
|
50
|
+
### Validation
|
|
51
|
+
|
|
52
|
+
The 0.1.7 release should be validated with:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
git diff --check
|
|
56
|
+
node --check bin/hcc.mjs
|
|
57
|
+
find lib -name '*.mjs' -print0 | xargs -0 -n1 node --check
|
|
58
|
+
node --check scripts/github-release.mjs
|
|
59
|
+
node --check scripts/regression.mjs
|
|
60
|
+
node --check scripts/release-notes.mjs
|
|
61
|
+
npm run release:check
|
|
62
|
+
npm run release:github:dry-run -- --version 0.1.7
|
|
63
|
+
npm pack --dry-run --json
|
|
64
|
+
npm publish --dry-run --registry=https://registry.npmjs.org/ --access public
|
|
65
|
+
npm test
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The expected full regression marker is:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
FULL_REGRESSION_OK
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 0.1.6
|
|
75
|
+
|
|
76
|
+
### Summary
|
|
77
|
+
|
|
78
|
+
hello-cc 0.1.6 publishes the current architecture-layout cleanup that followed
|
|
79
|
+
0.1.5 and records the split-stack audit that reviewed it. The installed CLI
|
|
80
|
+
behavior remains the public API, while internal helpers now live closer to their
|
|
81
|
+
product boundaries under `core/`, `runtime/`, `web/`, `terminal/`,
|
|
82
|
+
`integrations/`, `ui/`, `release/`, and `shared/`. This release keeps the
|
|
83
|
+
current master history as the publish path; teams that want cleaner refactor
|
|
84
|
+
history should use the documented rebuild-branch option instead.
|
|
85
|
+
|
|
86
|
+
### Highlights
|
|
87
|
+
|
|
88
|
+
- Added architecture guidance for the target module layout and documented the
|
|
89
|
+
package-surface policy: `hcc` and `hello-cc` are the supported public
|
|
90
|
+
interfaces; deep `lib/` imports are compatibility paths, not user workflows.
|
|
91
|
+
- Added `docs/layout-split-stack-audit.md`, which classifies the local
|
|
92
|
+
`origin/master..HEAD` stack, calls out the early flat-helper extraction phase,
|
|
93
|
+
and records the package-surface and follow-up cleanup decisions before
|
|
94
|
+
publish.
|
|
95
|
+
- Moved peer, task, lock, message, team, timeline, automation, and session
|
|
96
|
+
helpers into `core/`, `db/`, `runtime/`, `terminal/`, and `integrations/`
|
|
97
|
+
boundaries while keeping compatibility entrypoints for already-exposed paths.
|
|
98
|
+
- Moved Web runtime, HTTP, UI template, and peer action helpers into `lib/web/`
|
|
99
|
+
while preserving existing Web console behavior.
|
|
100
|
+
- Moved provider command helpers and Claude/Codex hook and shim setup helpers
|
|
101
|
+
into `lib/integrations/`, including shim script generation under
|
|
102
|
+
`lib/integrations/shims/`.
|
|
103
|
+
- Moved JSON and CLI error helpers into `lib/shared/`, release metadata helpers
|
|
104
|
+
into `lib/release/`, and CLI-facing state/help rendering into `lib/ui/`.
|
|
105
|
+
- Expanded regression guards so module moves verify both the new primary
|
|
106
|
+
boundary and the compatibility re-export identity.
|
|
107
|
+
|
|
108
|
+
### Compatibility Notes
|
|
109
|
+
|
|
110
|
+
- `@logicseek/hello-cc@0.1.5` was already published from git head `4969100`.
|
|
111
|
+
This release uses a new package version and does not republish `0.1.5`.
|
|
112
|
+
- Top-level `lib/*.mjs` files that were already published in `0.1.5` remain
|
|
113
|
+
available for this release cycle to avoid breaking deep imports exposed by the
|
|
114
|
+
package's `files` list.
|
|
115
|
+
- New top-level re-export-only helper paths introduced during the local layout
|
|
116
|
+
migration are treated as compatibility-only deep-import paths for this
|
|
117
|
+
release, not as target architecture. New code should prefer the
|
|
118
|
+
product-boundary modules documented in `docs/architecture.md`.
|
|
119
|
+
- The audit records remaining cleanup items for later focused work, including
|
|
120
|
+
moving SQL-heavy task store operations out of pure core, removing core/runtime
|
|
121
|
+
reverse dependencies on top-level formatting or Web helpers, and continuing to
|
|
122
|
+
split `cmdWeb()` by subsystem instead of by incidental helper names.
|
|
123
|
+
- No breaking CLI command changes are intended in this release.
|
|
124
|
+
|
|
125
|
+
### Validation
|
|
126
|
+
|
|
127
|
+
The 0.1.6 release should be validated with:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
git diff --check
|
|
131
|
+
node --check bin/hcc.mjs
|
|
132
|
+
find lib -name '*.mjs' -print0 | xargs -0 -n1 node --check
|
|
133
|
+
node --check scripts/github-release.mjs
|
|
134
|
+
node --check scripts/regression.mjs
|
|
135
|
+
node --check scripts/release-notes.mjs
|
|
136
|
+
npm run release:check
|
|
137
|
+
npm run release:github:dry-run -- --version 0.1.6
|
|
138
|
+
npm pack --dry-run --json
|
|
139
|
+
npm publish --dry-run --registry=https://registry.npmjs.org/ --access public
|
|
140
|
+
npm test
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The expected full regression marker is:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
FULL_REGRESSION_OK
|
|
147
|
+
```
|
|
148
|
+
|
|
19
149
|
## 0.1.5
|
|
20
150
|
|
|
21
151
|
### Summary
|
package/README.md
CHANGED
|
@@ -18,6 +18,14 @@ CLI sessions. It gives every terminal in one project a shared task board,
|
|
|
18
18
|
mailbox, lock table, and browser console while keeping the real local terminal
|
|
19
19
|
as the source of interaction.
|
|
20
20
|
|
|
21
|
+
<p align="center">
|
|
22
|
+
<img src="assets/screenshots/web-console.png" width="900" alt="hello-cc Web console showing agent sessions, task state, locks, messages, and terminal output">
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<em>One local Web console for tmux-backed Claude Code, Codex, tasks, locks, messages, and handoffs.</em>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
21
29
|
It is built for developers who run multiple AI coding agents in the same repo
|
|
22
30
|
and need them to coordinate instead of guessing what the other sessions are
|
|
23
31
|
doing.
|
|
@@ -81,9 +89,19 @@ hcc web
|
|
|
81
89
|
```
|
|
82
90
|
|
|
83
91
|
Then open the printed URL. By default, `hcc web` listens on LAN interfaces and
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
92
|
+
requests `0.0.0.0:8787`, using a saved URL token generated on first use. If
|
|
93
|
+
port 8787 is already busy and you did not pass `--port`, it automatically tries
|
|
94
|
+
the next available port. The command prints both the LAN login URL and the local
|
|
95
|
+
loopback URL:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
open: http://<machine-ip>:8787/?token=<saved-token>&project=/path/to/project
|
|
99
|
+
local: http://127.0.0.1:8787/?token=<saved-token>&project=/path/to/project
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Use `--local` to bind only to `127.0.0.1`, or `--port N` to request a specific
|
|
103
|
+
port. `hcc web` initializes the project bus, installs Claude/Codex hooks and
|
|
104
|
+
shims, starts or reuses the Web console, and returns the terminal to you.
|
|
87
105
|
|
|
88
106
|
After the first shim install, open a new terminal or reload your shell:
|
|
89
107
|
|
package/README.zh-CN.md
CHANGED
|
@@ -15,6 +15,14 @@
|
|
|
15
15
|
|
|
16
16
|
`hello-cc` 是 Claude Code、Codex 和其他编程 CLI 会话的本地控制平面。它让同一个项目里的终端共享任务板、消息、锁、交接和浏览器控制台,同时保留真实本地终端作为主要交互入口。
|
|
17
17
|
|
|
18
|
+
<p align="center">
|
|
19
|
+
<img src="assets/screenshots/web-console.png" width="900" alt="hello-cc Web 控制台,展示 agent 会话、任务状态、锁、消息和终端输出">
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<em>一个本地 Web 控制台,统一管理 tmux-backed Claude Code、Codex、任务、锁、消息和交接。</em>
|
|
24
|
+
</p>
|
|
25
|
+
|
|
18
26
|
它适合在同一个仓库里同时运行多个 AI 编程 agent 的场景:让它们知道彼此在做什么,而不是各自猜测。
|
|
19
27
|
|
|
20
28
|
## 特色
|
|
@@ -69,9 +77,19 @@ cd /path/to/project
|
|
|
69
77
|
hcc web
|
|
70
78
|
```
|
|
71
79
|
|
|
72
|
-
然后打开命令输出里的 URL。默认情况下,`hcc web`
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
然后打开命令输出里的 URL。默认情况下,`hcc web` 会监听内网地址,请求
|
|
81
|
+
`0.0.0.0:8787`,并在 URL 里附带首次自动生成并保存的稳定 token。如果 8787
|
|
82
|
+
端口已被占用,且你没有显式传 `--port`,它会自动尝试后续可用端口。启动时会同时
|
|
83
|
+
打印内网登录地址和本机 loopback 地址:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
open: http://<machine-ip>:8787/?token=<saved-token>&project=/path/to/project
|
|
87
|
+
local: http://127.0.0.1:8787/?token=<saved-token>&project=/path/to/project
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
使用 `--local` 可以只绑定 `127.0.0.1`,使用 `--port N` 可以指定请求端口。
|
|
91
|
+
`hcc web` 会初始化项目总线,安装 Claude/Codex hooks 和 shims,启动或复用 Web
|
|
92
|
+
控制台,然后把终端还给你。
|
|
75
93
|
|
|
76
94
|
第一次安装 shim 后,打开新终端或重新加载 shell:
|
|
77
95
|
|
|
Binary file
|