teamai-cli 0.24.0 → 0.25.0-beta.1

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 CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # TeamAI — Make Every Team AI Native
6
6
 
7
- > [English](README.md) | [简体中文](README.zh-CN.md)
7
+ > [English](README.md) | [中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [ไทย](README.th.md)
8
8
 
9
9
  [![CI](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml)
10
10
  [![npm version](https://img.shields.io/npm/v/teamai-cli.svg)](https://www.npmjs.com/package/teamai-cli)
@@ -17,6 +17,8 @@ TeamAI manages your team's skills, rules, MCP, and knowledge across Claude Code,
17
17
 
18
18
  Thanks to everyone who has contributed to TeamAI!
19
19
 
20
+ <a href="https://trendshift.io/repositories/123184?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-123184" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/123184" alt="Tencent%2Fteamai-cli | Trendshift" width="250" height="55"/></a>
21
+
20
22
  <a href="https://github.com/Tencent/teamai-cli/graphs/contributors">
21
23
  <img src="https://contrib.rocks/image?repo=Tencent/teamai-cli" alt="Contributors" />
22
24
  </a>
@@ -35,7 +37,7 @@ npm install -g teamai-cli
35
37
 
36
38
  Create a shared-experience repo on your git host (GitHub, GitLab, GitCode, CNB, TGit, or a private Git service), **grant write access to team members**, then run `teamai init https://github.com/yourorg/yourrepo`.
37
39
 
38
- > **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.
40
+ > **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 **Fork**, then `teamai init` against your new repo.
39
41
 
40
42
  ### Team members
41
43
 
@@ -91,6 +93,7 @@ Once initialized, every AI session automatically pulls the latest skills / rules
91
93
  <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>
92
94
  <tr><td>DeepSeek Harness</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>
93
95
  <tr><td>Qoder</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>
96
+ <tr><td>Kiro</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>
94
97
  <tr><td>ZCode</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>
95
98
  </tbody>
96
99
  </table>
@@ -133,12 +136,12 @@ Each resource is delivered to every agent:
133
136
  | **Skills** | `skills/<name>/SKILL.md` | |
134
137
  | **Rules** | `rules/*.md` | |
135
138
  | **Docs** | `docs/` | Foundational project docs; not all loaded by default (progressive disclosure) |
136
- | **Agents** | `agents/<name>.yaml` | |
139
+ | **Agents** | `agents/<name>.yaml`, `agents/<namespace>/<name>.yaml` | Root agents reach everyone; a namespace directory ships only to roles/projects that list it under `agents:` |
137
140
  | **Culture** | `culture.md` | Team mission, values, and working principles — injected into each agent's CLAUDE.md / AGENTS.md so every session inherits them |
138
141
  | **CLAUDE.md** | `claudemd/*.md` | |
139
142
  | **Env** | `env/` | Shared team-level environment variables and switches; do not put secrets here |
140
- | **Hooks** | `hooks/hooks.yaml` | |
141
- | **MCP** | `mcp/mcp.yaml` | |
143
+ | **Hooks** | `hooks/hooks.yaml` | Each hook may carry `roles:` to reach only members holding one of those roles |
144
+ | **MCP** | `mcp/mcp.yaml` | Each server may carry `roles:` to reach only members holding one of those roles |
142
145
  | **Packages** | `teamai.yaml` | Currently npm packages and Claude Code plugins only |
143
146
  | **Models** | — | Not implemented for every provider yet |
144
147
 
package/README.th.md ADDED
@@ -0,0 +1,278 @@
1
+ <p align="center">
2
+ <img src="assets/teamai-cli-logo.svg" alt="teamai-cli">
3
+ </p>
4
+
5
+ # TeamAI — Make Every Team AI Native
6
+
7
+ > [English](README.md) | [中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [ไทย](README.th.md)
8
+
9
+ [![CI](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml)
10
+ [![npm version](https://img.shields.io/npm/v/teamai-cli.svg)](https://www.npmjs.com/package/teamai-cli)
11
+ [![npm downloads](https://img.shields.io/npm/dm/teamai-cli.svg)](https://www.npmjs.com/package/teamai-cli)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
13
+
14
+ TeamAI จัดการ Skills, Rules, MCP และความรู้ของทีมให้ใช้ร่วมกันได้บน Claude Code, Codex, CodeBuddy, WorkBuddy, OpenCode, Cursor และ AI Agents อื่นๆ
15
+
16
+ ## ผู้ร่วมพัฒนา
17
+
18
+ ขอขอบคุณทุกคนที่ได้ร่วมพัฒนา TeamAI!
19
+
20
+ <a href="https://trendshift.io/repositories/123184?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-123184" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/123184" alt="Tencent%2Fteamai-cli | Trendshift" width="250" height="55"/></a>
21
+
22
+ <a href="https://github.com/Tencent/teamai-cli/graphs/contributors">
23
+ <img src="https://contrib.rocks/image?repo=Tencent/teamai-cli" alt="Contributors" />
24
+ </a>
25
+
26
+ สร้างด้วย [contrib.rocks](https://contrib.rocks)
27
+
28
+ ## เริ่มต้นอย่างรวดเร็ว
29
+
30
+ ### ติดตั้ง
31
+
32
+ ```bash
33
+ npm install -g teamai-cli
34
+ ```
35
+
36
+ ### ผู้ดูแลทีม / ผู้ใช้คนเดียว
37
+
38
+ สร้างรีโปสำหรับแบ่งปันประสบการณ์บน Git host ของคุณ (GitHub, GitLab, GitCode, CNB, TGit หรือบริการ Git ส่วนตัว) **ให้สิทธิ์เขียนแก่สมาชิกทีม** จากนั้นรัน `teamai init https://github.com/yourorg/yourrepo`
39
+
40
+ > **ยังไม่มีรีโปของทีม?** เริ่มจากเทมเพลตที่มี Skills, Rules และ review agents พร้อมใช้จริงอยู่แล้ว เปิดดู org [teamai-hub](https://github.com/teamai-hub) กด **Fork** แล้วรัน `teamai init` กับรีโปใหม่ของคุณ
41
+
42
+ ### สมาชิกทีม
43
+
44
+ ```bash
45
+ # Choose one, depending on where you want resources installed
46
+
47
+ # Project-scope init (default, resources installed under the project directory)
48
+ cd /path/to/my-project
49
+ teamai init https://github.com/yourorg/yourrepo
50
+
51
+ # Or, user-scope init (resources installed under ~/)
52
+ teamai init https://github.com/yourorg/yourrepo --scope user
53
+ ```
54
+
55
+ เมื่อเริ่มต้นแล้ว ทุกเซสชัน AI จะดึง Skills / Rules และการอัปเดต Harness อื่นๆ ล่าสุดที่ผู้ดูแลเผยแพร่โดยอัตโนมัติ — ไม่ต้องซิงก์ด้วยตนเอง
56
+
57
+ > **คู่มือการใช้งานฉบับเต็ม:** [docs/usage-guide.md](docs/usage-guide.md) ([中文版](docs/usage-guide.zh-CN.md)) — ครอบคลุมตั้งแต่การสร้างทีมไปจนถึงการใช้งานประจำวัน
58
+
59
+ ## สถาปัตยกรรมผลิตภัณฑ์
60
+
61
+ **Team Execution × Team Context (beta) × Team Improvement (beta)**:
62
+
63
+ | เลเยอร์ | หน้าที่ | ปัจจุบันใน CLI นี้ |
64
+ |-------|-----|-------------------|
65
+ | **Team Execution** | ให้ทุก Agent ทำงานตามแบบของทีม | `init` / `pull` / `push`, skills, rules, agents, hooks, MCP, env |
66
+ | **Team Context** (beta) | ให้ทุก Agent เข้าใจทีม | recall, learnings, codebase graph, teamwiki... |
67
+ | **Team Improvement** (beta) | ให้ทุกครั้งที่ทำงานช่วยพัฒนาทีม | friction-based share-learnings, sessions, digest, dashboard... |
68
+
69
+ ## ภาพรวม
70
+
71
+ <table>
72
+ <thead>
73
+ <tr>
74
+ <th rowspan="2">Agent</th>
75
+ <th colspan="7">Team Execution</th>
76
+ <th colspan="3">Team Context (beta)</th>
77
+ <th colspan="3">Team Improvement (beta)</th>
78
+ </tr>
79
+ <tr>
80
+ <th>skills</th><th>rules</th><th>docs</th><th>env</th><th>agents</th><th>hooks</th><th>mcp</th>
81
+ <th>learnings</th><th>codebase</th><th>teamwiki</th>
82
+ <th>usage</th><th>sessions</th><th>dashboard</th>
83
+ </tr>
84
+ </thead>
85
+ <tbody>
86
+ <tr><td>Claude Code</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
+ <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>
88
+ <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>
89
+ <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>
90
+ <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>
91
+ <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>
92
+ <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>
93
+ <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>
94
+ <tr><td>DeepSeek Harness</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>
95
+ <tr><td>Qoder</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>
96
+ <tr><td>Kiro</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>
97
+ <tr><td>ZCode</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>
98
+ </tbody>
99
+ </table>
100
+
101
+ **Git providers** — GitHub · GitLab · GitCode · CNB · TGit · บริการ Git ส่วนตัว
102
+
103
+ ### การควบคุมการกระจาย
104
+
105
+ การตั้งค่าทั้งทีมที่ผู้ดูแลกำหนดครั้งเดียว แล้วส่งถึงสมาชิกทุกคนเมื่อ `teamai pull`:
106
+
107
+ | ความสามารถ | คำสั่ง | ทำอะไร |
108
+ |------------|---------|--------------|
109
+ | **Projects** | `teamai projects` | ผูกไดเรกทอรีทำงานกับหนึ่งหรือหลาย logical projects เพื่อซิงก์ Skills ความรู้ และ learnings ที่แยกของโปรเจกต์นั้น ไม่ขึ้นกับ roles |
110
+ | **Roles** | `teamai roles` | กำหนดการแมป role → namespace เพื่อให้สมาชิกแต่ละคนซิงก์เฉพาะ Skills ของ role ตนเอง |
111
+ | **Tags** | `teamai tags` | ติดแท็ก Skills / Rules เพื่อให้สมาชิกสมัครรับเฉพาะแท็กที่ต้องการ |
112
+ | **Sources** | `teamai source` | สมัครรับรีโป Skills เพิ่มเติม — รีโปสาธารณะของทีมอื่น หรือรีโปที่แชร์/สาธารณะใน org ของคุณ Skills ที่สมัครจะซิงก์อัตโนมัติเมื่อ pull |
113
+
114
+ การแยก learnings: `learnings/` ที่รากรีโปแชร์กับทุกคน; `learnings/<project-id>/` เป็นของโปรเจกต์นั้นโดยเฉพาะ ดู [usage guide](docs/usage-guide.md#multi-project-project-as-a-dimension-orthogonal-to-role)
115
+
116
+ ## Team Execution
117
+
118
+ > One Team. One Harness. Every Agent.
119
+
120
+ TeamAI เก็บ Skills, Rules, docs และ hooks ไว้ในรีโป Git ที่ใช้ร่วมกัน แล้วกระจายไปยังเครื่องมือ AI ในเครื่องของสมาชิกทุกคนผ่านโฟลว์ "push → review & merge → pull" — พร้อมรองรับการสมัครรับ Harness จากทีมอื่นหรือรีโปที่แชร์
121
+
122
+ ### วิธีการทำงาน
123
+
124
+ ```
125
+ teamai push → create branch + MR → reviewer approves + merges
126
+
127
+ SessionStart hook → teamai pull → synced to local AI tools
128
+ ```
129
+
130
+ ### สิ่งที่ถูกแชร์
131
+
132
+ แต่ละทรัพยากรถูกส่งไปยังทุก Agent:
133
+
134
+ | ทรัพยากร | ในรีโปทีม | หมายเหตุ |
135
+ |----------|------------------|-------|
136
+ | **Skills** | `skills/<name>/SKILL.md` | |
137
+ | **Rules** | `rules/*.md` | |
138
+ | **Docs** | `docs/` | เอกสารพื้นฐานของโปรเจกต์; ไม่ได้โหลดทั้งหมดโดยค่าเริ่มต้น (progressive disclosure) |
139
+ | **Agents** | `agents/<name>.yaml` | |
140
+ | **Culture** | `culture.md` | พันธกิจ ค่านิยม และหลักการทำงานของทีม — ถูกฉีดเข้า CLAUDE.md / AGENTS.md ของแต่ละ Agent เพื่อให้ทุกเซสชันสืบทอดสิ่งเหล่านี้ |
141
+ | **CLAUDE.md** | `claudemd/*.md` | |
142
+ | **Env** | `env/` | ตัวแปรสภาพแวดล้อมและสวิตช์ระดับทีมที่ใช้ร่วมกัน; อย่าใส่ secrets ที่นี่ |
143
+ | **Hooks** | `hooks/hooks.yaml` | แต่ละ hook อาจมี `roles:` เพื่อส่งถึงเฉพาะสมาชิกที่มี role เหล่านั้น |
144
+ | **MCP** | `mcp/mcp.yaml` | แต่ละ server อาจมี `roles:` เพื่อส่งถึงเฉพาะสมาชิกที่มี role เหล่านั้น |
145
+ | **Packages** | `teamai.yaml` | ขณะนี้รองรับเฉพาะแพ็กเกจ npm และปลั๊กอิน Claude Code |
146
+ | **Models** | — | ยังไม่ได้ implement สำหรับทุก provider |
147
+
148
+ รูปแบบไฟล์และเวิร์กโฟลว์ทั้งหมด ดูที่ [Usage Guide](docs/usage-guide.md)
149
+
150
+ ## Team Context (beta)
151
+
152
+ > Every agent understands how the team works.
153
+
154
+ นอกจากการกระจาย Harness แล้ว TeamAI ยังจัดระเบียบประสบการณ์ที่ทีมสะสมและโครงสร้างโค้ดเป็นคลังความรู้ที่ค้นหาได้ ให้ AI เรียกคืนอัตโนมัติเมื่อจำเป็น
155
+
156
+ ### การแชร์ประสบการณ์อัตโนมัติ
157
+
158
+ เมื่อเซสชันจบ Stop hook จะให้คะแนนตาม **friction** — สัญญาณว่าเซสชันเจอสิ่งที่ควรจดจำ: คุณขัดจังหวะหรือแก้ AI ปฏิเสธการเรียกเครื่องมือ หรือ AI ต้อง retry เครื่องมือที่ล้มเหลว เซสชันที่ยาวแต่เป็นงานประจำ (เรียกเครื่องมือเยอะแต่ไม่มี friction) จะไม่ถูกกระตุ้น ส่วนเซสชันที่คุณสู้กับปัญหาจริงจะถูกกระตุ้น หากคะแนนสูงพอ AI จะแนะนำ:
159
+
160
+ ```
161
+ [teamai] This session may contain a problem worth documenting: you interrupted the AI twice, the AI retried failing tools 8 times.
162
+
163
+ Task: Fix duplicate project-level Hook injection
164
+
165
+ Consider running /teamai-share-learnings to summarize what you learned and share it with your team.
166
+ ```
167
+
168
+ ข้อความแนะนำจะระบุสัญญาณ friction ที่ไม่เป็นศูนย์ซึ่งเป็นตัวกระตุ้น และเมื่อมีข้อมูล จะแนบสรุปบรรทัดเดียวที่ปกปิดข้อมูลอ่อนไหวของงานแรก Skill `/teamai-share-learnings` จะสรุปเซสชันแล้ว push เอกสาร learning ไปยังรีโปทีมโดยตรง แต่ละเซสชันถูกถามอย่างมากหนึ่งครั้ง ทีมสามารถปิดคำแนะนำได้ด้วย `sharing.contributeHint.enabled: false` ใน `teamai.yaml` (สมาชิก: `contributeHintEnabled` ในคอนฟิกท้องถิ่น) โดยยังคงส่วนที่เหลือของ Stop hook
169
+
170
+ ### การเรียกคืนความรู้ทีม
171
+
172
+ ให้ AI ค้นหาความรู้ที่ทีมสะสมโดยอัตโนมัติก่อนเริ่มงาน ฟีเจอร์นี้ **ปิดโดยค่าเริ่มต้น** และต้องเปิดอย่างชัดเจน — ทีมตั้ง `sharing.recall.enabled: true` ใน `teamai.yaml` เป็นค่าเริ่มต้นได้ และสมาชิกสามารถ override ในเครื่องได้:
173
+
174
+ ```bash
175
+ teamai recall enable # on: deploy the teamai-recall subagent + inject guidance rules
176
+ teamai recall disable # off: remove the subagent and rules
177
+ teamai recall status # show effective state (team default + user override)
178
+ ```
179
+
180
+ **การค้นหาทำงานผ่าน subagent**: เมื่อเปิดแล้ว `teamai pull` จะติดตั้ง `teamai-recall` subagent ในตัวไปยังไดเรกทอรี `agents/` ของแต่ละเครื่องมือ AI AI จะเรียกใช้ก่อนเริ่มงาน — subagent สกัดคำสำคัญ รันการค้นหา อ่านไฟล์ต้นทางที่ตรงกัน แล้วคืนสรุปความรู้ทีมแบบมีโครงสร้าง Subagent จะรันการตรวจความเกี่ยวข้องล่วงหน้าก่อน (`teamai recall --check`) และข้ามการดึงข้อมูลทั้งหมดเมื่องานไม่เกี่ยวกับความรู้ทีม เบื้องหลังจะเรียกคำสั่ง `teamai recall` ซึ่งคุณรันเองด้วยมือก็ได้:
181
+
182
+ ```bash
183
+ $ teamai recall "port conflict"
184
+ [1/2] MR review caught a port-conflict bug ★1 [user]
185
+ Author: member-a | Score: 18.5 | Tags: troubleshooting, networking
186
+
187
+ [2/2] Deployment configuration best practices [project]
188
+ Author: member-b | Score: 12.0 | Tags: deploy, config
189
+ Matched: conflict | Missing: port
190
+ ```
191
+
192
+ ### กราฟความรู้ Codebase
193
+
194
+ `teamai import` แปลงรีโปซอร์สเป็นกราฟมีโครงสร้างภายใต้ `teamwiki/` เพื่อให้ค้นหาโดยคำนึงถึงโครงสร้าง:
195
+
196
+ ```bash
197
+ teamai import --from-repo https://github.com/org/repo
198
+ teamai import --from-org myorg # batch import all repos
199
+ teamai codebase --extract /path/to/repo # local extract into teamwiki/
200
+ teamai codebase --deep-enrich --project my-service --output /path/to/repo # generate deep knowledge docs
201
+ teamai codebase --reconcile --output /path/to/repo # map product docs to code pages
202
+ teamai codebase --lint --output /path/to/repo # check the locally extracted graph
203
+ ```
204
+
205
+ Extract จะเขียน `teamwiki/evidence/code/<project>/_manifest.json` แม้จะข้าม AI enrichment หรือไม่ได้ผลลัพธ์ เพื่อให้ `--deep-enrich` เริ่มได้
206
+
207
+ กราฟเก็บ components, interfaces, configs และขอบ import ข้ามรีโป `teamai recall` ใช้กราฟนี้เพื่อจัดอันดับใหม่แบบ graph-boosted
208
+ เมื่อผลการ recall มาจากหน้า codebase ผลลัพธ์จะมีบรรทัด `Sources:` ระบุพาธไฟล์ต้นทางที่เกี่ยวข้อง — ให้ Agents มีจุดเริ่มต้นตรงสำหรับแก้โค้ดโดยไม่ต้องสำรวจรีโปใหม่
209
+
210
+ ขอบมาจากสองแทร็กที่ทำงานคู่กัน โดยผล AST มีลำดับความสำคัญเมื่อซ้อนทับ:
211
+
212
+ - **AST track** (TypeScript/JavaScript, Python, Go): พาร์เซอร์ WASM [tree-sitter](https://tree-sitter.github.io/) จะ resolve `import`/`require` จุดเรียกใช้ และประโยค `implements` ของ TS เป็นขอบไฟล์ต่อไฟล์แบบ `DEPENDS_ON` / `REFERENCES` / `IMPLEMENTS` ที่แม่นยำ (แท็ก `code-ast` พร้อมน้ำหนักความเชื่อมั่น)
213
+ - **Heuristic track** (ทุกภาษา รวม Java/Rust): การ extract ด้วย regex (แท็ก `code-heuristic`) ซึ่งครอบคลุมภาษาที่ AST track ยังไม่รองรับด้วย
214
+
215
+ พาร์เซอร์ WASM เป็น dependency แบบ pure-JavaScript — ไม่ต้องใช้ native toolchain หากโหลดไม่สำเร็จด้วยเหตุใดก็ตาม การ extract จะถอยไปใช้ heuristic track และบันทึกช่องว่าง `AST_UNAVAILABLE` ตั้ง `TEAMAI_SKIP_AST=1` เพื่อบังคับให้ extract แบบ heuristic อย่างเดียว
216
+
217
+ ## Team Improvement (beta)
218
+
219
+ > Every execution makes the entire team smarter.
220
+
221
+ ### การบำรุงรักษา
222
+
223
+ เมื่อ Skills และความรู้สะสมมากขึ้น ให้ตัดสิ่งที่ทีมไม่ใช้แล้ว `teamai recall maintenance` จะ archive learnings ที่ความเชื่อมั่นต่ำ และทำเครื่องหมาย Skills, Rules และ docs ที่ล้าสมัยเพื่อทำความสะอาดหรืออัปเดต:
224
+
225
+ ```bash
226
+ teamai recall maintenance --prune --dry-run # preview
227
+ teamai recall maintenance --prune --archive # archive unused learnings
228
+ teamai recall maintenance --update-quality # draft updates for stale skills / docs
229
+ ```
230
+
231
+ ช่วยให้เห็นว่าทีมใช้เครื่องมือ AI จริงอย่างไร และเป็นจุดตั้งต้นในการแปลง friction ของเซสชันเป็น Skills, Rules และความรู้ที่แชร์กัน:
232
+
233
+ | ความสามารถ | คำสั่ง | สิ่งที่แสดง |
234
+ |------------|---------|---------------|
235
+ | **Usage** | `teamai digest` | สรุปทีมรายสัปดาห์ — ความสำเร็จใน 7 วัน, prompt, เวลาที่ใช้งาน, ต้นทุนโดยประมาณ, cache และแนวโน้มการแก้ไข รวมถึงยอดสะสมตลอดอายุการใช้งาน |
236
+ | **Sessions** | `teamai session save` | สรุปรายเซสชันที่ล้างข้อมูลส่วนตัวแล้ว (ลำดับเครื่องมือ, รอบ prompt, การแทรกแซง) ซึ่งป้อน Session Highlights ของ digest |
237
+ | **Dashboard** | `teamai dashboard` | แดชบอร์ดเว็บที่แสดงเซสชันสดและแนวโน้ม 7 วันในเครื่องเทียบกับ 7 วันก่อนหน้า |
238
+ | **KB Health** | `teamai dashboard` → KB Health | หน้าในแดชบอร์ดที่รายงานการใช้งานและสุขภาพของคลังความรู้ — ความครอบคลุมตามประเภท, รายการที่ถูก recall บ่อย, รายการที่เงียบ, แนวโน้ม recall, ผลงานของผู้เขียน และคอนโซลบำรุงรักษา |
239
+
240
+ ## คำสั่ง
241
+
242
+ | คำสั่ง | คำอธิบาย |
243
+ |---------|-------------|
244
+ | `teamai init` | เริ่มต้น: ล็อกอิน OAuth, เชื่อมรีโป, ลงทะเบียนสมาชิก, ฉีด hooks |
245
+ | `teamai pull` | ดึงทรัพยากรทีมแล้วฉีดเข้าเครื่องมือ AI ในเครื่อง |
246
+ | `teamai push` | ผลักทรัพยากรในเครื่องไปยังสาขาแล้วเปิด Merge Request |
247
+ | `teamai packages [install] [target]` | ติดตั้งแพ็กเกจ npm และปลั๊กอิน Claude ที่ประกาศไว้; ถ้ามี target จะอัปเดต `teamai.yaml` ด้วย `teamai packages` เปล่าติดตั้งทั้งหมด; `teamai packages install <target>` เพิ่มทีละรายการ |
248
+ | `teamai status` | แสดงความต่างระหว่างเครื่องกับรีโปทีม และจำนวนทรัพยากร รวมถึง Skills ที่มี namespace และ docs ที่ซ้อนกัน |
249
+ | `teamai contribute` | แชร์ประสบการณ์จากเซสชันไปยังรีโปทีม |
250
+ | `teamai recall <query>` | ค้นหาคลังความรู้ทีม (BM25 + graph-boost) |
251
+ | `teamai recall enable/disable/status` | เปิด/ปิด หรือตรวจสถานะ recall |
252
+ | `teamai recall promote [learningId]` | เลื่อน learning ที่ความเชื่อมั่นสูงให้เป็นความรู้ทางการ (skills/rules/docs) |
253
+ | `teamai recall maintenance` | ดูแลสุขภาพคลังความรู้: ตัด learnings ที่ความเชื่อมั่นต่ำ, เขียนคะแนนความเชื่อมั่นกลับ, ทำเครื่องหมายรายการที่ล้าสมัย |
254
+ | `teamai import` | นำเข้าความรู้ (`--dir`, `--from-repo`, `--from-org`, `--from-repo-list`, `--from-mr`) |
255
+ | `teamai codebase --extract [path]` | ดึงข้อเท็จจริงจากโค้ดแล้วสร้างกราฟท้องถิ่นภายใต้ `teamwiki/` |
256
+ | `teamai codebase --deep-enrich` | สร้างเอกสารความรู้เชิงลึกจาก evidence ที่ดึงมา |
257
+ | `teamai codebase --reconcile` | จับคู่เอกสารผลิตภัณฑ์กับความรู้โค้ดที่ดึงมา |
258
+ | `teamai codebase --lint` | ตรวจสุขภาพกราฟความรู้ |
259
+ | `teamai ci extract-mr --url <url>` | CI: ดึงความรู้จาก MR, โพสต์คอมเมนต์, เขียนหลัง merge |
260
+ | `teamai members` | แสดงรายชื่อสมาชิกทีม |
261
+ | `teamai projects` | ผูกไดเรกทอรีทำงานกับหนึ่งหรือหลาย logical projects |
262
+ | `teamai roles` | จัดการ roles และ namespaces ของทีม |
263
+ | `teamai tags` | จัดการการกรอง skill/rule ตามแท็ก |
264
+ | `teamai skill exclude add/remove/list` | จัดการ Skills ที่ไม่ซิงก์ในเครื่อง ([usage guide](docs/usage-guide.md#excluding-skills-you-dont-need)) |
265
+ | `teamai source` | จัดการแหล่งสมัคร Skills (ทีมอื่น หรือรีโปที่แชร์ใน org ของคุณ) |
266
+ | `teamai remove <type> <name>` | ลบทรัพยากรแล้วเปิด MR |
267
+ | `teamai session save` | บันทึกสรุปเซสชันที่ล้างข้อมูลส่วนตัวแล้วลงล็อกรายเดือน (`--push` จะป้อน `digest`) |
268
+ | `teamai digest` | สร้างสรุปการใช้งานทีมรายสัปดาห์ |
269
+ | `teamai doctor` | วินิจฉัยปัญหาคอนฟิก |
270
+ | `teamai uninstall` | ลบทรัพยากรและ hooks ของ teamai ทั้งหมด |
271
+
272
+ ## ใบอนุญาต
273
+
274
+ [MIT](LICENSE)
275
+
276
+ ## การร่วมพัฒนา
277
+
278
+ ยินดีรับ PR! โปรดอ่าน [CONTRIBUTING.md](.github/CONTRIBUTING.md) ก่อน
package/README.zh-CN.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # TeamAI — Make Every Team AI Native
6
6
 
7
- > [English](README.md) | [简体中文](README.zh-CN.md)
7
+ > [English](README.md) | [中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [ไทย](README.th.md)
8
8
 
9
9
  [![CI](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Tencent/teamai-cli/actions/workflows/ci.yml)
10
10
  [![npm version](https://img.shields.io/npm/v/teamai-cli.svg)](https://www.npmjs.com/package/teamai-cli)
@@ -17,6 +17,8 @@ TeamAI 统一管理团队的 Skills、Rules、MCP 和知识,驾驭 Claude Code
17
17
 
18
18
  感谢每一位为 TeamAI 贡献代码的伙伴!
19
19
 
20
+ <a href="https://trendshift.io/repositories/123184?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-123184" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/123184" alt="Tencent%2Fteamai-cli | Trendshift" width="250" height="55"/></a>
21
+
20
22
  <a href="https://github.com/Tencent/teamai-cli/graphs/contributors">
21
23
  <img src="https://contrib.rocks/image?repo=Tencent/teamai-cli" alt="Contributors" />
22
24
  </a>
@@ -35,7 +37,7 @@ npm install -g teamai-cli
35
37
 
36
38
  在 Git 托管平台(GitHub、GitLab、GitCode、CNB、TGit,或私有 Git 服务)创建共享经验仓库,**授予团队成员写权限**,然后运行 `teamai init https://github.com/yourorg/yourrepo`。
37
39
 
38
- > **还没有团队仓库?** 可以从内置了成套 skills、rules、review agents 的模板起步。浏览 [teamai-hub](https://github.com/teamai-hub) org,点 **Use this template** 生成自己的仓库,再对它执行 `teamai init`。
40
+ > **还没有团队仓库?** 可以从内置了成套 skills、rules、review agents 的模板起步。浏览 [teamai-hub](https://github.com/teamai-hub) org,点 **Fork** 生成自己的仓库,再对它执行 `teamai init`。
39
41
 
40
42
  ### 团队成员
41
43
 
@@ -91,6 +93,7 @@ teamai init https://github.com/yourorg/yourrepo --scope user
91
93
  <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>
92
94
  <tr><td>DeepSeek Harness</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>
93
95
  <tr><td>Qoder</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>
96
+ <tr><td>Kiro</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>
94
97
  <tr><td>ZCode</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>
95
98
  </tbody>
96
99
  </table>
@@ -133,12 +136,12 @@ teamai push → 创建分支 + MR → reviewer 审批合并
133
136
  | **Skills** | `skills/<name>/SKILL.md` | |
134
137
  | **Rules** | `rules/*.md` | |
135
138
  | **Docs** | `docs/` | 项目基础文档,默认不全量加载(渐进式披露) |
136
- | **Agents** | `agents/<name>.yaml` | |
139
+ | **Agents** | `agents/<name>.yaml`、`agents/<namespace>/<name>.yaml` | 根目录 agents 对所有人生效;namespace 子目录只同步给在 `agents:` 中列出它的角色/项目 |
137
140
  | **Culture** | `culture.md` | 团队使命、价值观与协作准则——注入各 Agent 的 CLAUDE.md / AGENTS.md,成为每次会话的行事底色 |
138
141
  | **CLAUDE.md** | `claudemd/*.md` | |
139
142
  | **Env** | `env/` | 通用环境变量、团队级开关;不建议直接放密钥 |
140
- | **Hooks** | `hooks/hooks.yaml` | |
141
- | **MCP** | `mcp/mcp.yaml` | |
143
+ | **Hooks** | `hooks/hooks.yaml` | 每条 hook 可加 `roles:`,只分发给持有这些角色的成员 |
144
+ | **MCP** | `mcp/mcp.yaml` | 每个 server 可加 `roles:`,只分发给持有这些角色的成员 |
142
145
  | **Packages** | `teamai.yaml` | 目前只支持 npm 包和 Claude 插件 |
143
146
  | **Models** | — | 暂时没有对全部 provider 实现 |
144
147