teamai-cli 0.21.0-beta.1 → 0.21.0-beta.3
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 +34 -28
- package/README.zh-CN.md +34 -28
- package/dist/index.js +1210 -833
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,14 +11,9 @@
|
|
|
11
11
|
[](https://www.npmjs.com/package/teamai-cli)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
[](https://discord.gg/DeHHxPnfZF)
|
|
14
|
+
Make every AI coding agent work by the best harness.
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Git-native management of skills, rules, and docs across Claude Code / Codex / CodeBuddy / WorkBuddy / OpenCode and more.
|
|
20
|
-
|
|
21
|
-
For you or your whole team.
|
|
16
|
+
Git-native management of skills, rules, MCP, env vars, knowledge base, and more — across Claude Code / Codex / CodeBuddy / WorkBuddy / OpenCode and more.
|
|
22
17
|
|
|
23
18
|
## Quick Start
|
|
24
19
|
|
|
@@ -30,35 +25,25 @@ npm install -g teamai-cli
|
|
|
30
25
|
|
|
31
26
|
### Team admin / solo user
|
|
32
27
|
|
|
33
|
-
Create a shared-experience repo on your git host (GitHub, GitLab
|
|
34
|
-
|
|
35
|
-
> Self-hosted GitLab/Gitea-style services use your HTTPS credential helper or SSH key. Create the repository first; merge requests are created manually for now. See [Git Provider docs](docs/providers.md).
|
|
28
|
+
Create a shared-experience repo on your git host (GitHub, GitLab, CNB, TGit, or a private Git service), **grant write access to team members**, then run `teamai init https://github.com/yourorg/yourrepo`.
|
|
36
29
|
|
|
37
30
|
> **No team repo yet?** Start from a template pre-loaded with production-ready skills, rules, and review agents. Browse the [teamai-hub](https://github.com/teamai-hub) org, click **Use this template**, then `teamai init` against your new repo.
|
|
38
31
|
|
|
39
32
|
### Team members
|
|
40
33
|
|
|
41
34
|
```bash
|
|
35
|
+
# Choose one, depending on where you want resources installed
|
|
36
|
+
|
|
42
37
|
# Project-scope init (default, resources installed under the project directory)
|
|
43
38
|
cd /path/to/my-project
|
|
44
39
|
teamai init https://github.com/yourorg/yourrepo
|
|
45
40
|
|
|
46
|
-
#
|
|
41
|
+
# Or, user-scope init (resources installed under ~/)
|
|
47
42
|
teamai init https://github.com/yourorg/yourrepo --scope user
|
|
48
43
|
```
|
|
49
44
|
|
|
50
45
|
Once initialized, every AI session automatically pulls the latest skills / rules and other Harness updates published by admins — no manual sync needed.
|
|
51
46
|
|
|
52
|
-
### Single-repo mode (the business repo *is* the team repo)
|
|
53
|
-
|
|
54
|
-
No separate team repo. Run `teamai init .` inside an existing project and its own git repo becomes the team repo:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
cd /path/to/my-project
|
|
58
|
-
teamai init . # interactive: pick which AI tools to set up
|
|
59
|
-
teamai init . --agent claude,codex # non-interactive: Claude Code + Codex
|
|
60
|
-
```
|
|
61
|
-
|
|
62
47
|
> **Full usage guide:** [docs/usage-guide.md](docs/usage-guide.md) ([中文版](docs/usage-guide.zh-CN.md)) — covers everything from team creation to day-to-day use.
|
|
63
48
|
|
|
64
49
|
## Overview
|
|
@@ -69,7 +54,7 @@ teamai init . --agent claude,codex # non-interactive: Claude Code + Codex
|
|
|
69
54
|
<th rowspan="2">Agent</th>
|
|
70
55
|
<th colspan="7">Harness</th>
|
|
71
56
|
<th colspan="3">Knowledge Base</th>
|
|
72
|
-
<th colspan="3">
|
|
57
|
+
<th colspan="3">Analytics</th>
|
|
73
58
|
</tr>
|
|
74
59
|
<tr>
|
|
75
60
|
<th>skills</th><th>rules</th><th>docs</th><th>env</th><th>agents</th><th>hooks</th><th>mcp</th>
|
|
@@ -82,7 +67,7 @@ teamai init . --agent claude,codex # non-interactive: Claude Code + Codex
|
|
|
82
67
|
<tr><td>Codex</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
83
68
|
<tr><td>Cursor</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
84
69
|
<tr><td>CodeBuddy</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
85
|
-
<tr><td>OpenCode</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center"
|
|
70
|
+
<tr><td>OpenCode</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
86
71
|
<tr><td>WorkBuddy</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
87
72
|
<tr><td>OpenClaw</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
88
73
|
<tr><td>Hermes</td><td align="center">✓</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
@@ -90,11 +75,31 @@ teamai init . --agent claude,codex # non-interactive: Claude Code + Codex
|
|
|
90
75
|
</tbody>
|
|
91
76
|
</table>
|
|
92
77
|
|
|
93
|
-
**Git providers** — GitHub · GitLab
|
|
78
|
+
**Git providers** — GitHub · GitLab · CNB · TGit · private Git service.
|
|
79
|
+
|
|
80
|
+
### Distribution Controls
|
|
81
|
+
|
|
82
|
+
Team-wide settings an admin configures once and delivers to every member on `teamai pull`:
|
|
83
|
+
|
|
84
|
+
| Capability | Command | What it does |
|
|
85
|
+
|------------|---------|--------------|
|
|
86
|
+
| **Roles** | `teamai roles` | Define role → namespace mappings so each member syncs only the skills for their role. |
|
|
87
|
+
| **Tags** | `teamai tags` | Tag skills / rules so members subscribe to just the tags they need. |
|
|
88
|
+
| **Sources** | `teamai source` | Subscribe to additional skill repos — other teams' public repos, or shared/public repos within your own org; subscribed skills sync automatically on pull. |
|
|
89
|
+
|
|
90
|
+
### Analytics
|
|
91
|
+
|
|
92
|
+
Insight into how the team actually uses its AI tools:
|
|
93
|
+
|
|
94
|
+
| Capability | Command | What it shows |
|
|
95
|
+
|------------|---------|---------------|
|
|
96
|
+
| **Usage** | `teamai digest` | Weekly team digest — token usage, conversation volume, and intervention rate. |
|
|
97
|
+
| **Sessions** | `teamai session save` | Privacy-scrubbed per-session summaries (tool sequence, prompt turns, interventions) that feed the digest's Session Highlights. |
|
|
98
|
+
| **Dashboard** | `teamai dashboard` | Web dashboard showing team members' live coding-session status, intervention count, and token usage. |
|
|
94
99
|
|
|
95
100
|
## Harness Management & Distribution
|
|
96
101
|
|
|
97
|
-
TeamAI keeps skills, rules, docs, and hooks in a shared git repo and distributes them to every member's local AI tools through a "push → review & merge → pull" flow — with support for subscribing to other teams' Harness.
|
|
102
|
+
TeamAI keeps skills, rules, docs, and hooks in a shared git repo and distributes them to every member's local AI tools through a "push → review & merge → pull" flow — with support for subscribing to other teams' or shared repos' Harness.
|
|
98
103
|
|
|
99
104
|
### How It Works
|
|
100
105
|
|
|
@@ -143,9 +148,9 @@ servers:
|
|
|
143
148
|
teamai mcp list | inject | remove
|
|
144
149
|
```
|
|
145
150
|
|
|
146
|
-
###
|
|
151
|
+
### Skill Subscription Sources
|
|
147
152
|
|
|
148
|
-
Subscribe to other teams' public
|
|
153
|
+
Subscribe to additional skill repos — other teams' public repos, or shared/public repos within your own org:
|
|
149
154
|
|
|
150
155
|
```bash
|
|
151
156
|
teamai source add https://github.com/other-team/teamai-public.git --name other-team
|
|
@@ -225,8 +230,9 @@ When a recall hit comes from a codebase page, the result includes a `Sources:` l
|
|
|
225
230
|
| `teamai ci extract-mr --url <url>` | CI: extract knowledge from MR, post comments, write after merge |
|
|
226
231
|
| `teamai members` | List team members |
|
|
227
232
|
| `teamai roles` | Manage team roles and namespaces |
|
|
233
|
+
| `teamai tags` | Manage tag-based skill/rule filtering |
|
|
228
234
|
| `teamai skill exclude add/remove/list` | Manage skills excluded from local sync ([usage guide](docs/usage-guide.md#excluding-skills-you-dont-need)) |
|
|
229
|
-
| `teamai source` | Manage
|
|
235
|
+
| `teamai source` | Manage skill subscription sources (other teams or your org's shared repos) |
|
|
230
236
|
| `teamai remove <type> <name>` | Remove a resource and open MR |
|
|
231
237
|
| `teamai session save` | Record a privacy-scrubbed session summary to a monthly log (`--push` feeds `digest`) |
|
|
232
238
|
| `teamai digest` | Generate weekly team usage digest |
|
package/README.zh-CN.md
CHANGED
|
@@ -11,14 +11,9 @@
|
|
|
11
11
|
[](https://www.npmjs.com/package/teamai-cli)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
[](https://discord.gg/DeHHxPnfZF)
|
|
14
|
+
面向 AI 智能体的团队 Harness 管理和分发工具。
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
通过 Git 统一管理 skills、rules、docs,驾驭 Claude Code / Codex / CodeBuddy / WorkBuddy / OpenCode 等多种 AI 工具。
|
|
20
|
-
|
|
21
|
-
一个人也能用,团队用更强。
|
|
16
|
+
通过 Git 统一管理 skills、rules、mcp、环境变量、知识库等 Harness,驾驭 Claude Code / Codex / CodeBuddy / WorkBuddy / OpenCode 等多种 AI 工具。
|
|
22
17
|
|
|
23
18
|
## 快速开始
|
|
24
19
|
|
|
@@ -30,35 +25,25 @@ npm install -g teamai-cli
|
|
|
30
25
|
|
|
31
26
|
### 团队管理员 / 个人使用者
|
|
32
27
|
|
|
33
|
-
在 Git 托管平台(GitHub、GitLab
|
|
34
|
-
|
|
35
|
-
> 自建 GitLab/Gitea 等服务支持 HTTPS Credential Helper 或 SSH Key;需预先创建仓库,MR 暂时手动创建。详见 [Git Provider 说明](docs/providers.md)。
|
|
28
|
+
在 Git 托管平台(GitHub、GitLab、CNB、TGit,或私有 Git 服务)创建共享经验仓库,**授予团队成员写权限**,然后运行 `teamai init https://github.com/yourorg/yourrepo`。
|
|
36
29
|
|
|
37
30
|
> **还没有团队仓库?** 可以从内置了成套 skills、rules、review agents 的模板起步。浏览 [teamai-hub](https://github.com/teamai-hub) org,点 **Use this template** 生成自己的仓库,再对它执行 `teamai init`。
|
|
38
31
|
|
|
39
32
|
### 团队成员
|
|
40
33
|
|
|
41
34
|
```bash
|
|
35
|
+
# 二选一:按你想要的安装范围选择其中一条
|
|
36
|
+
|
|
42
37
|
# 项目级初始化(默认,资源安装到项目目录下)
|
|
43
38
|
cd /path/to/my-project
|
|
44
39
|
teamai init https://github.com/yourorg/yourrepo
|
|
45
40
|
|
|
46
|
-
#
|
|
41
|
+
# 或者,用户级初始化(资源安装到 ~/ 下)
|
|
47
42
|
teamai init https://github.com/yourorg/yourrepo --scope user
|
|
48
43
|
```
|
|
49
44
|
|
|
50
45
|
初始化完成后,每次开启 AI 会话时都会自动拉取管理员发布的 skills / rules 等 Harness 更新,无需手动同步。
|
|
51
46
|
|
|
52
|
-
### 单仓模式(业务仓即团队仓)
|
|
53
|
-
|
|
54
|
-
无需单独的团队仓库。在已有项目里运行 `teamai init .`,让它自己的 git 仓库直接充当团队仓:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
cd /path/to/my-project
|
|
58
|
-
teamai init . # 交互式:选择要启用哪些 AI 工具
|
|
59
|
-
teamai init . --agent claude,codex # 非交互:启用 Claude Code + Codex
|
|
60
|
-
```
|
|
61
|
-
|
|
62
47
|
> **完整使用指南**:[docs/usage-guide.zh-CN.md](docs/usage-guide.zh-CN.md)([English](docs/usage-guide.md))— 涵盖从团队创建到日常使用的全流程。
|
|
63
48
|
|
|
64
49
|
## 功能概览
|
|
@@ -69,7 +54,7 @@ teamai init . --agent claude,codex # 非交互:启用 Claude Code + Codex
|
|
|
69
54
|
<th rowspan="2">Agent</th>
|
|
70
55
|
<th colspan="7">Harness</th>
|
|
71
56
|
<th colspan="3">知识库</th>
|
|
72
|
-
<th colspan="3"
|
|
57
|
+
<th colspan="3">使用分析</th>
|
|
73
58
|
</tr>
|
|
74
59
|
<tr>
|
|
75
60
|
<th>skills</th><th>rules</th><th>docs</th><th>env</th><th>agents</th><th>hooks</th><th>mcp</th>
|
|
@@ -82,7 +67,7 @@ teamai init . --agent claude,codex # 非交互:启用 Claude Code + Codex
|
|
|
82
67
|
<tr><td>Codex</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
83
68
|
<tr><td>Cursor</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
84
69
|
<tr><td>CodeBuddy</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
85
|
-
<tr><td>OpenCode</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center"
|
|
70
|
+
<tr><td>OpenCode</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
86
71
|
<tr><td>WorkBuddy</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr>
|
|
87
72
|
<tr><td>OpenClaw</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
88
73
|
<tr><td>Hermes</td><td align="center">✓</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td><td align="center">—</td><td align="center">—</td><td align="center">—</td></tr>
|
|
@@ -90,11 +75,31 @@ teamai init . --agent claude,codex # 非交互:启用 Claude Code + Codex
|
|
|
90
75
|
</tbody>
|
|
91
76
|
</table>
|
|
92
77
|
|
|
93
|
-
**Git 托管平台** —— GitHub · GitLab
|
|
78
|
+
**Git 托管平台** —— GitHub · GitLab · CNB · TGit · 私有 Git 服务。
|
|
79
|
+
|
|
80
|
+
### 分发策略
|
|
81
|
+
|
|
82
|
+
管理员一次配置、随 `teamai pull` 分发给每位成员的团队级设置:
|
|
83
|
+
|
|
84
|
+
| 能力 | 命令 | 作用 |
|
|
85
|
+
|------|------|------|
|
|
86
|
+
| **角色(Roles)** | `teamai roles` | 定义「角色 → 命名空间」映射,让每位成员只同步与自身角色匹配的 skills。 |
|
|
87
|
+
| **标签(Tags)** | `teamai tags` | 给 skills / rules 打标签,成员只订阅自己需要的标签。 |
|
|
88
|
+
| **订阅源(Sources)** | `teamai source` | 订阅额外的 skill 仓库——其他团队的公开仓库,或本团队内的公共/共享仓库;已订阅的 skills 会在 pull 时自动同步。 |
|
|
89
|
+
|
|
90
|
+
### 使用分析
|
|
91
|
+
|
|
92
|
+
洞察团队实际如何使用 AI 工具:
|
|
93
|
+
|
|
94
|
+
| 能力 | 命令 | 呈现内容 |
|
|
95
|
+
|------|------|----------|
|
|
96
|
+
| **用量(Usage)** | `teamai digest` | 团队周报——token 用量、会话量、干预率。 |
|
|
97
|
+
| **会话(Sessions)** | `teamai session save` | 脱敏的单会话摘要(工具序列、对话轮次、干预次数),喂给周报的 Session Highlights。 |
|
|
98
|
+
| **看板(Dashboard)** | `teamai dashboard` | Web 看板,实时展示成员的编码会话状态、干预次数和 token 用量。 |
|
|
94
99
|
|
|
95
100
|
## Harness 管理和分发
|
|
96
101
|
|
|
97
|
-
TeamAI 把 skills、rules、docs、hooks 统一存放在共享 Git 仓库,通过「push → 评审合并 → pull」的流程分发到每位成员的本地 AI
|
|
102
|
+
TeamAI 把 skills、rules、docs、hooks 统一存放在共享 Git 仓库,通过「push → 评审合并 → pull」的流程分发到每位成员的本地 AI 工具,并支持订阅其他团队或公共仓库的 Harness。
|
|
98
103
|
|
|
99
104
|
### 工作原理
|
|
100
105
|
|
|
@@ -143,9 +148,9 @@ servers:
|
|
|
143
148
|
teamai mcp list | inject | remove
|
|
144
149
|
```
|
|
145
150
|
|
|
146
|
-
###
|
|
151
|
+
### Skill 订阅源
|
|
147
152
|
|
|
148
|
-
|
|
153
|
+
订阅额外的 skill 仓库——其他团队的公开仓库,或本团队内的公共/共享仓库:
|
|
149
154
|
|
|
150
155
|
```bash
|
|
151
156
|
teamai source add https://github.com/other-team/teamai-public.git --name other-team
|
|
@@ -225,8 +230,9 @@ teamai codebase --lint # 健康检查
|
|
|
225
230
|
| `teamai ci extract-mr --url <url>` | CI:从 MR 提取知识、发评论、合并后写入 |
|
|
226
231
|
| `teamai members` | 查看团队成员 |
|
|
227
232
|
| `teamai roles` | 管理团队角色和命名空间 |
|
|
233
|
+
| `teamai tags` | 管理基于标签的 skill/rule 过滤 |
|
|
228
234
|
| `teamai skill exclude add/remove/list` | 管理不参与本地同步的 skills([使用指南](docs/usage-guide.zh-CN.md#排除个人不需要的-skill)) |
|
|
229
|
-
| `teamai source` |
|
|
235
|
+
| `teamai source` | 管理 skill 订阅源(其他团队或本团队公共仓库) |
|
|
230
236
|
| `teamai remove <type> <name>` | 删除资源并创建 MR |
|
|
231
237
|
| `teamai session save` | 将脱敏后的 session 摘要记录到月度日志(`--push` 可喂给 `digest`) |
|
|
232
238
|
| `teamai digest` | 生成团队周报 |
|