@teammy/cli 0.0.5 → 0.0.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/README.md +27 -12
- package/bin/teammy.js +8 -1
- package/dist/main.js +2225 -1235
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,39 @@
|
|
|
1
1
|
# Teammy client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
成员设备上的命令行客户端,需要 Node.js 22.13+,推荐 Node.js 24。
|
|
4
|
+
|
|
5
|
+
0.0.7 与服务端保持版本一致,继续提供多项目与后台同步;自动任务整理在服务端运行,无需增加客户端配置。
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install -g @teammy/cli@0.0.7
|
|
9
|
+
```
|
|
4
10
|
|
|
5
11
|
```sh
|
|
6
|
-
|
|
7
|
-
teammy
|
|
8
|
-
teammy
|
|
9
|
-
teammy
|
|
12
|
+
teammy connect --url http://teammy.internal:14317 --project PROJECT_ID --member alice
|
|
13
|
+
teammy status
|
|
14
|
+
teammy sync off
|
|
15
|
+
teammy sync on
|
|
16
|
+
teammy logs
|
|
10
17
|
```
|
|
11
18
|
|
|
12
|
-
`
|
|
19
|
+
在项目目录执行 connect,创建 `./workspaces` 和本人 ID 子目录、维护 `.gitignore`,自动在后台下载同事资料并上传本人文件。命令退出后可以关闭终端;已开启的项目在下次登录系统时恢复,手动 off 的项目保持停止。日常使用不需要重复 connect。
|
|
20
|
+
|
|
21
|
+
已有同名目录、文件或符号链接时拒绝接入;不自动合并已有资料。Git 已追踪该路径时也会拒绝,不修改 Git 索引。可以先自行改名保存旧目录,接入成功后将本人的文件复制到 `workspaces/<ID>/`。
|
|
22
|
+
|
|
23
|
+
本人本地文件是发布来源,服务器旧正文不会下载到本人目录。首次本地缺失的历史文件保留在服务器,不推断为删除;确认曾在本地存在的文件,之后删除并完成稳定等待才传播。其他成员目录只接收,不反向发布,本地误改会保留并报告。
|
|
24
|
+
|
|
25
|
+
默认约一分钟检查一次,每个文件连续一分钟没有变化后发布;首次下载立即开始,大批量接收自动续批。周期由全站网页设置热更新。会话仍需通过 `session discover` / `session track` 或已有 hook 登记来源,后台不会自动采集未登记的会话。
|
|
26
|
+
|
|
27
|
+
macOS 使用用户 LaunchAgent,Linux 使用 systemd 用户服务;不安装系统级服务、不启用 lingering。登录会话没有可用服务管理器的环境可用 `connect --no-start` 后运行 `sync --foreground`,此方式需保持终端运行。Windows 暂不支持自动后台服务。
|
|
13
28
|
|
|
14
|
-
|
|
29
|
+
`--root DIR` 指定同步目录,默认当前目录的 `workspaces`;`--state-dir DIR` 指定本机私有状态,默认 `~/.teammy/client`。一个状态目录共用一个 daemon,项目各有独立身份、队列、锁和状态。公共描述文件位于 `workspaces/.teammy.json`,凭证仅保存在本机状态库。
|
|
15
30
|
|
|
16
|
-
|
|
31
|
+
`status --json`、`connect --json`、`sync --json` 提供机器可读结果。正常终端只显示简短结果;诊断保存在本机 `logs/client.jsonl`,每份约 1 MiB,保留当前文件和两份轮转,不记录正文和凭证。`logs --all` 查看本机所有项目事件。
|
|
17
32
|
|
|
18
|
-
|
|
33
|
+
`sync --once` 执行一轮并可复用后台进程;不保证文件已稳定或所有批次完成。需要手动覆盖时,先 off,再使用 `sync --once --settle-ms 0`、`--restore-missing`、`--retry` 等参数。`--restore-missing` 只恢复缺失的同事副本,不覆盖现有修改。`--adopt-baseline` 保留为显式核对本人本地文件与历史一致性的工具,正常接入不需要。管理员重置设备后,先 off,再用原 connect 命令加 `--reconnect`,保留同步基线。
|
|
19
34
|
|
|
20
|
-
|
|
35
|
+
已接入目录不能静默改绑;切换项目需指定另一个项目根。若修改 Node.js 或 CLI 安装位置,重新运行 sync on 可更新该用户服务的启动路径。服务依赖安装路径持续存在,不能把临时安装目录当作长期运行环境。
|
|
21
36
|
|
|
22
|
-
|
|
37
|
+
会话支持 Claude Code、Codex、Cursor CLI SQLite、Pi v3、DSH v0。`session hook` 只登记本地线索,不等待网络,不自动修改宿主配置。`session list`、`session search --query TEXT`、`session read --owner MEMBER --key KEY` 用于查看团队会话;`session sources` 查看本机来源;详见 `teammy session --help`。
|
|
23
38
|
|
|
24
|
-
|
|
39
|
+
服务器单独安装 `@teammy/server`。`server-info --url URL` 只查询能力与版本,以 JSON 返回,不创建绑定。许可证附于 `dist/LICENSE`。
|
package/bin/teammy.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { readFileSync } from 'node:fs';
|
|
4
|
-
|
|
4
|
+
// SQLite's known experimental notice is not an actionable CLI diagnostic.
|
|
5
|
+
const warningHandlers = process.listeners('warning');
|
|
6
|
+
process.removeAllListeners('warning');
|
|
7
|
+
process.on('warning', (warning) => {
|
|
8
|
+
if (warning.name === 'ExperimentalWarning' && warning.message.startsWith('SQLite')) return;
|
|
9
|
+
for (const handler of warningHandlers) handler.call(process, warning);
|
|
10
|
+
});
|
|
11
|
+
const { runCli } = await import('../dist/main.js');
|
|
5
12
|
|
|
6
13
|
const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
7
14
|
|