[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96067":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":9,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":16,"hasPages":16,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":18,"readmeContent":19,"aiSummary":20,"trendingCount":14,"starSnapshotCount":14,"syncStatus":21,"lastSyncTime":9,"discoverSource":22},96067,"teamai-cli","Tencent\u002Fteamai-cli","Tencent","Make Every Team AI Native",null,"https:\u002F\u002Fgithub.com\u002FTencent\u002Fteamai-cli","TypeScript",2112,142,0,55.47,false,"main","2026-09-20 04:01:32","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fteamai-cli-logo.svg\" alt=\"teamai-cli\">\n\u003C\u002Fp>\n\n# TeamAI — Make Every Team AI Native\n\n> [English](README.md) | [简体中文](README.zh-CN.md)\n\n[![CI](https:\u002F\u002Fgithub.com\u002FTencent\u002Fteamai-cli\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FTencent\u002Fteamai-cli\u002Factions\u002Fworkflows\u002Fci.yml)\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fteamai-cli.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fteamai-cli)\n[![npm downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fteamai-cli.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fteamai-cli)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](LICENSE)\n\nTeamAI manages your team's skills, rules, MCP, and knowledge across Claude Code, Codex, CodeBuddy, WorkBuddy, OpenCode, Cursor, and other AI agents.\n\n## Contributors\n\nThanks to everyone who has contributed to TeamAI!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTencent\u002Fteamai-cli\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=Tencent\u002Fteamai-cli\" alt=\"Contributors\" \u002F>\n\u003C\u002Fa>\n\nMade with [contrib.rocks](https:\u002F\u002Fcontrib.rocks).\n\n## Quick Start\n\n### Install\n\n```bash\nnpm install -g teamai-cli\n```\n\n### Team admin \u002F solo user\n\nCreate 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:\u002F\u002Fgithub.com\u002Fyourorg\u002Fyourrepo`.\n\n> **No team repo yet?** Start from a template pre-loaded with production-ready skills, rules, and review agents. Browse the [teamai-hub](https:\u002F\u002Fgithub.com\u002Fteamai-hub) org, click **Use this template**, then `teamai init` against your new repo.\n\n### Team members\n\n```bash\n# Choose one, depending on where you want resources installed\n\n# Project-scope init (default, resources installed under the project directory)\ncd \u002Fpath\u002Fto\u002Fmy-project\nteamai init https:\u002F\u002Fgithub.com\u002Fyourorg\u002Fyourrepo\n\n# Or, user-scope init (resources installed under ~\u002F)\nteamai init https:\u002F\u002Fgithub.com\u002Fyourorg\u002Fyourrepo --scope user\n```\n\nOnce initialized, every AI session automatically pulls the latest skills \u002F rules and other Harness updates published by admins — no manual sync needed.\n\n> **Full usage guide:** [docs\u002Fusage-guide.md](docs\u002Fusage-guide.md) ([中文版](docs\u002Fusage-guide.zh-CN.md)) — covers everything from team creation to day-to-day use.\n\n## Product architecture\n\n**Team Execution × Team Context (beta) × Team Improvement (beta)**:\n\n| Layer | Job | In this CLI today |\n|-------|-----|-------------------|\n| **Team Execution** | Make every agent work the team's way | `init` \u002F `pull` \u002F `push`, skills, rules, agents, hooks, MCP, env |\n| **Team Context** (beta) | Make every agent understand the team | recall, learnings, codebase graph, teamwiki... |\n| **Team Improvement** (beta) | Make every execution improve the team | friction-based share-learnings, sessions, digest, dashboard... |\n\n## Overview\n\n\u003Ctable>\n  \u003Cthead>\n    \u003Ctr>\n      \u003Cth rowspan=\"2\">Agent\u003C\u002Fth>\n      \u003Cth colspan=\"7\">Team Execution\u003C\u002Fth>\n      \u003Cth colspan=\"3\">Team Context (beta)\u003C\u002Fth>\n      \u003Cth colspan=\"3\">Team Improvement (beta)\u003C\u002Fth>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Cth>skills\u003C\u002Fth>\u003Cth>rules\u003C\u002Fth>\u003Cth>docs\u003C\u002Fth>\u003Cth>env\u003C\u002Fth>\u003Cth>agents\u003C\u002Fth>\u003Cth>hooks\u003C\u002Fth>\u003Cth>mcp\u003C\u002Fth>\n      \u003Cth>learnings\u003C\u002Fth>\u003Cth>codebase\u003C\u002Fth>\u003Cth>teamwiki\u003C\u002Fth>\n      \u003Cth>usage\u003C\u002Fth>\u003Cth>sessions\u003C\u002Fth>\u003Cth>dashboard\u003C\u002Fth>\n    \u003C\u002Ftr>\n  \u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>Claude Code\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>Codex\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>Cursor\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>CodeBuddy\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>WorkBuddy\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>OpenCode\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>OpenClaw\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>Hermes\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>DeepSeek Harness\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>Qoder\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>ZCode\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">—\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003Ctd align=\"center\">✓\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n**Git providers** — GitHub · GitLab · GitCode · CNB · TGit · private Git service.\n\n### Distribution Controls\n\nTeam-wide settings an admin configures once and delivers to every member on `teamai pull`:\n\n| Capability | Command | What it does |\n|------------|---------|--------------|\n| **Roles** | `teamai roles` | Define role → namespace mappings so each member syncs only the skills for their role. |\n| **Tags** | `teamai tags` | Tag skills \u002F rules so members subscribe to just the tags they need. |\n| **Sources** | `teamai source` | Subscribe to additional skill repos — other teams' public repos, or shared\u002Fpublic repos within your own org; subscribed skills sync automatically on pull. |\n\n## Team Execution\n\n> One Team. One Harness. Every Agent.\n\nTeamAI 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.\n\n### How It Works\n\n```\nteamai push → create branch + MR → reviewer approves + merges\n                                         ↓\n              SessionStart hook → teamai pull → synced to local AI tools\n```\n\n### What Gets Shared\n\nEach resource is delivered to every agent:\n\n| Resource | In the team repo | Notes |\n|----------|------------------|-------|\n| **Skills** | `skills\u002F\u003Cname>\u002FSKILL.md` | |\n| **Rules** | `rules\u002F*.md` | |\n| **Docs** | `docs\u002F` | Foundational project docs; not all loaded by default (progressive disclosure) |\n| **Agents** | `agents\u002F\u003Cname>.yaml` | |\n| **Culture** | `culture.md` | Team mission, values, and working principles — injected into each agent's CLAUDE.md \u002F AGENTS.md so every session inherits them |\n| **CLAUDE.md** | `claudemd\u002F*.md` | |\n| **Env** | `env\u002F` | Shared team-level environment variables and switches; do not put secrets here |\n| **Hooks** | `hooks\u002Fhooks.yaml` | |\n| **MCP** | `mcp\u002Fmcp.yaml` | |\n| **Packages** | `teamai.yaml` | Currently npm packages and Claude Code plugins only |\n| **Models** | — | Not implemented for every provider yet |\n\nFor file formats and full workflows, see the [Usage Guide](docs\u002Fusage-guide.md).\n\n## Team Context (beta)\n\n> Every agent understands how the team works.\n\nBeyond distributing the Harness, TeamAI organizes accumulated team experience and code structure into a searchable knowledge base that the AI recalls automatically when needed.\n\n### Automatic Experience Sharing\n\nWhen a session ends, the Stop hook scores it by **friction** — signals that the session hit something worth remembering: you interrupted or corrected the AI, denied a tool call, or the AI had to retry failing tools. A long-but-routine session (lots of tool calls, no friction) does not trigger; a session where you actually fought a problem does. If the score is high enough, the AI suggests:\n\n```\n[teamai] This session may contain a problem worth documenting: you interrupted the AI twice, the AI retried failing tools 8 times.\n\nTask: Fix duplicate project-level Hook injection\n\nConsider running \u002Fteamai-share-learnings to summarize what you learned and share it with your team.\n```\n\nThe hint names the non-zero friction signals that triggered it and, when available, includes a redacted, single-line summary of the first task. The `\u002Fteamai-share-learnings` skill summarizes the session and pushes a learning document directly to the team repo. Each session is prompted at most once. Teams can switch the hint off with `sharing.contributeHint.enabled: false` in `teamai.yaml` (members: `contributeHintEnabled` in local config) while keeping the rest of the Stop hook.\n\n### Team Knowledge Recall\n\nLet the AI automatically search accumulated team knowledge before a task. This feature is **off by default** and must be enabled explicitly — teams can set `sharing.recall.enabled: true` in `teamai.yaml` as the default, and members can override locally:\n\n```bash\nteamai recall enable     # on: deploy the teamai-recall subagent + inject guidance rules\nteamai recall disable    # off: remove the subagent and rules\nteamai recall status     # show effective state (team default + user override)\n```\n\n**Search runs via a subagent**: once enabled, `teamai pull` deploys the built-in `teamai-recall` subagent into each AI tool's `agents\u002F` directory. The AI invokes it before a task — the subagent extracts keywords, runs the search, reads the matched source files, and returns a structured summary of team knowledge. The subagent first runs a relevance precheck (`teamai recall --check`) and skips retrieval entirely when the task is unrelated to team knowledge. Under the hood it shells out to the `teamai recall` command, which you can also run manually:\n\n```bash\n$ teamai recall \"port conflict\"\n[1\u002F2] MR review caught a port-conflict bug ★1 [user]\nAuthor: member-a | Score: 18.5 | Tags: troubleshooting, networking\n\n[2\u002F2] Deployment configuration best practices [project]\nAuthor: member-b | Score: 12.0 | Tags: deploy, config\nMatched: conflict | Missing: port\n```\n\n### Codebase Knowledge Graph\n\n`teamai import` parses source repos into a structured graph under `teamwiki\u002F`, enabling structurally-aware retrieval:\n\n```bash\nteamai import --from-repo https:\u002F\u002Fgithub.com\u002Forg\u002Frepo\nteamai import --from-org myorg              # batch import all repos\nteamai codebase --extract \u002Fpath\u002Fto\u002Frepo     # local extract into teamwiki\u002F\nteamai codebase --deep-enrich --project my-service --output \u002Fpath\u002Fto\u002Frepo # generate deep knowledge docs\nteamai codebase --reconcile --output \u002Fpath\u002Fto\u002Frepo # map product docs to code pages\nteamai codebase --lint --output \u002Fpath\u002Fto\u002Frepo # check the locally extracted graph\n```\n\nThe graph stores components, interfaces, configs, and cross-repo import edges. `teamai recall` uses it for graph-boosted re-ranking.\nWhen a recall hit comes from a codebase page, the result includes a `Sources:` line listing the relevant source file paths — giving agents a direct starting point for code changes instead of re-exploring the repo.\n\nEdges come from two tracks that run together, with AST results taking precedence on overlap:\n\n- **AST track** (TypeScript\u002FJavaScript, Python, Go): a WASM [tree-sitter](https:\u002F\u002Ftree-sitter.github.io\u002F) parser resolves `import`\u002F`require`, call sites, and TS `implements` clauses to precise file-to-file `DEPENDS_ON` \u002F `REFERENCES` \u002F `IMPLEMENTS` edges (tagged `code-ast`, with confidence weights).\n- **Heuristic track** (all languages, including Java\u002FRust): regex-based extraction (tagged `code-heuristic`), which also covers languages the AST track does not.\n\nThe WASM parser is a pure-JavaScript dependency — no native toolchain is required. If it fails to load for any reason, extraction falls back to the heuristic track and records an `AST_UNAVAILABLE` gap. Set `TEAMAI_SKIP_AST=1` to force heuristic-only extraction.\n\n## Team Improvement (beta)\n\n> Every execution makes the entire team smarter.\n\n### Maintenance\n\nAs skills and knowledge accumulate, prune what the team no longer uses. `teamai recall maintenance` archives low-confidence learnings and flags stale skills, rules, and docs for cleanup or updates:\n\n```bash\nteamai recall maintenance --prune --dry-run      # preview\nteamai recall maintenance --prune --archive      # archive unused learnings\nteamai recall maintenance --update-quality       # draft updates for stale skills \u002F docs\n```\n\nInsight into how the team actually uses its AI tools, and a starting point for turning session friction into shared skills, rules, and knowledge:\n\n| Capability | Command | What it shows |\n|------------|---------|---------------|\n| **Usage** | `teamai digest` | Weekly team digest — 7-day success, prompt, active-time, estimated cost, cache, and correction trends, plus lifetime totals. |\n| **Sessions** | `teamai session save` | Privacy-scrubbed per-session summaries (tool sequence, prompt turns, interventions) that feed the digest's Session Highlights. |\n| **Dashboard** | `teamai dashboard` | Web dashboard showing live sessions and local 7-day trends compared with the prior 7 days. |\n| **KB Health** | `teamai dashboard` → KB Health | Built-in dashboard page reporting knowledge-base usage & health — coverage by type, top recalled entries, silent entries, recall trend, author contributions, and a maintenance console. |\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `teamai init` | Initialize: OAuth login, link repo, register member, inject hooks |\n| `teamai pull` | Pull team resources and inject into local AI tools |\n| `teamai push` | Push local resources to a branch and open a Merge Request |\n| `teamai packages [install] [target]` | Install declared npm packages and Claude plugins; with a target, also update `teamai.yaml`. Bare `teamai packages` installs everything; `teamai packages install \u003Ctarget>` adds one |\n| `teamai status` | Show local vs team repo diff |\n| `teamai contribute` | Share session experience to team repo |\n| `teamai recall \u003Cquery>` | Search the team knowledge base (BM25 + graph-boost) |\n| `teamai recall enable\u002Fdisable\u002Fstatus` | Toggle or check recall state |\n| `teamai recall promote [learningId]` | Promote a high-confidence learning to formal knowledge (skills\u002Frules\u002Fdocs) |\n| `teamai recall maintenance` | Maintain knowledge base health: prune low-confidence learnings, writeback confidence scores, flag stale entries |\n| `teamai import` | Import knowledge (`--dir`, `--from-repo`, `--from-org`, `--from-repo-list`, `--from-mr`) |\n| `teamai codebase --extract [path]` | Extract code facts and build the local graph under `teamwiki\u002F` |\n| `teamai codebase --deep-enrich` | Generate deep knowledge docs from extracted evidence |\n| `teamai codebase --reconcile` | Reconcile product documentation with extracted code knowledge |\n| `teamai codebase --lint` | Knowledge graph health check |\n| `teamai ci extract-mr --url \u003Curl>` | CI: extract knowledge from MR, post comments, write after merge |\n| `teamai members` | List team members |\n| `teamai roles` | Manage team roles and namespaces |\n| `teamai tags` | Manage tag-based skill\u002Frule filtering |\n| `teamai skill exclude add\u002Fremove\u002Flist` | Manage skills excluded from local sync ([usage guide](docs\u002Fusage-guide.md#excluding-skills-you-dont-need)) |\n| `teamai source` | Manage skill subscription sources (other teams or your org's shared repos) |\n| `teamai remove \u003Ctype> \u003Cname>` | Remove a resource and open MR |\n| `teamai session save` | Record a privacy-scrubbed session summary to a monthly log (`--push` feeds `digest`) |\n| `teamai digest` | Generate weekly team usage digest |\n| `teamai doctor` | Diagnose configuration issues |\n| `teamai uninstall` | Remove all teamai resources and hooks |\n\n## License\n\n[MIT](LICENSE)\n\n## Contributing\n\nPRs are welcome! Please read [CONTRIBUTING.md](.github\u002FCONTRIBUTING.md) first.\n","TeamAI CLI 是一个面向团队的 AI 协作管理工具，用于统一配置和分发团队级 AI 能力。它支持在多种编程类 AI 代理（如 Claude Code、Cursor、CodeBuddy 等）中同步技能（skills）、规则（rules）、MCP（模型控制协议）、知识库与执行钩子，通过 Git 仓库托管配置实现声明式团队上下文管理，并自动拉取更新。核心特点是基于 CLI 的轻量集成、Git 驱动的配置即代码、跨 AI 工具链的标准化适配，以及分层架构（执行\u002F上下文\u002F改进）。适用于软件研发团队规模化落地 AI 编程助手，尤其适合需统一编码规范、安全策略与领域知识的中大型技术团队。",2,"trending"]