teamai-cli 0.26.0-beta.4 → 0.26.0-beta.5
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 +4 -0
- package/dist/index.js +4179 -3453
- package/package.json +3 -1
- package/skill-data/core/references/commands.md +1 -0
- package/skill-data/core/references/contribute-member.md +8 -0
- package/skill-data/core/references/troubleshooting.md +3 -0
- package/skill-data/setup/references/join-member.md +5 -1
- package/skill-data/wiki/references/agents/kb-doc-generator.md +1 -0
- package/skill-data/wiki/references/methodology/phase0-collection.md +1 -1
- package/skill-data/wiki/references/overview.md +1 -1
- package/skill-data/wiki/references/phases/phase0-init.md +1 -1
- package/skill-data/wiki/scripts/scan_repo.py +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "teamai-cli",
|
|
3
|
-
"version": "0.26.0-beta.
|
|
3
|
+
"version": "0.26.0-beta.5",
|
|
4
4
|
"description": "TeamAI — Make Every Team AI Native (skill sync + shared knowledge base, powered by Git)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"test:watch": "vitest",
|
|
29
29
|
"test:coverage": "vitest run --coverage",
|
|
30
30
|
"typecheck": "tsc --noEmit",
|
|
31
|
+
"lint": "oxlint --deny-warnings --report-unused-disable-directives",
|
|
31
32
|
"release": "standard-version",
|
|
32
33
|
"prepublishOnly": "npm run build"
|
|
33
34
|
},
|
|
@@ -82,6 +83,7 @@
|
|
|
82
83
|
"@vitest/coverage-v8": "^3.2.7",
|
|
83
84
|
"fast-check": "^4.10.2",
|
|
84
85
|
"opencode-ai": "1.18.23",
|
|
86
|
+
"oxlint": "1.85.0",
|
|
85
87
|
"standard-version": "^9.5.0",
|
|
86
88
|
"tsup": "^8.3.0",
|
|
87
89
|
"typescript": "^5.7.0",
|
|
@@ -20,6 +20,7 @@ Generated: do not edit by hand. Regenerate with
|
|
|
20
20
|
- `teamai init [repo]` — Initialize teamai (configure Git provider, clone repo, register member)
|
|
21
21
|
- `--repo <repo>` — Team repo (alias of the positional argument)
|
|
22
22
|
- `--http <url>` — Git-free HTTP team repo (read-only consumer; only needs an API key)
|
|
23
|
+
- `--provider <name>` — Git provider for the team repo on this machine: tgit, github, cnb, gitlab, gitcode, or git. Skips auto-detection. `git` uses your existing Git auth and needs no platform token, but opens no PR/MR.
|
|
23
24
|
- `--self` — Single-repo mode: the current git repo is the team repo (equivalent to `teamai init .`). Knowledge lives on main under .teamai/; reports go to the teamai-reports orphan branch.
|
|
24
25
|
- `--token <key>` — API key for HTTP team repo / status reporting (stored 0600, never committed). Also reads TEAMAI_API_TOKEN.
|
|
25
26
|
- `--scope <scope>` — Install scope: project (default, <cwd>/.teamai + <cwd>/.claude) or user (~/.teamai + ~/.claude)
|
|
@@ -116,6 +116,14 @@ The doc lands in the team's `learnings/` and appears for teammates on their next
|
|
|
116
116
|
- Confirm it landed: `teamai list skills` (or `teamai status`).
|
|
117
117
|
- Teammates receive it automatically on their next session, or via `teamai pull`.
|
|
118
118
|
|
|
119
|
+
Before listing rules, `push` refreshes copies whose bodies still match a recorded
|
|
120
|
+
sync revision. Copilot's generated `applyTo` header does not count as a local
|
|
121
|
+
edit: unedited old instructions update in native format, including under
|
|
122
|
+
`COPILOT_HOME` in user scope. Genuine local body edits remain push candidates.
|
|
123
|
+
Rule pre-sync leaves tools excluded by `enabledAgents` or `disabledAgents` untouched.
|
|
124
|
+
When only team `paths` change, `applyTo` refreshes if the local file still matches
|
|
125
|
+
a recorded version's generated copy; locally edited headers are kept.
|
|
126
|
+
|
|
119
127
|
## If push is denied
|
|
120
128
|
|
|
121
129
|
A permission error usually means you don't have write access to the team repo.
|
|
@@ -87,6 +87,9 @@ read -rs GITLAB_TOKEN && export GITLAB_TOKEN # paste when prompted; api scope
|
|
|
87
87
|
teamai init https://git.example.com/yourgroup/yourrepo
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
+
A member who only syncs and never needs the CLI to open merge requests can skip
|
|
91
|
+
both: `teamai init <url> --provider git` uses their existing Git authentication.
|
|
92
|
+
|
|
90
93
|
## Which tools actually get hooks
|
|
91
94
|
|
|
92
95
|
`teamai hooks inject` prints **"Hooks injected into all AI tool settings"** even
|
|
@@ -58,7 +58,11 @@ Match the login to the URL's host (do NOT create a second repo):
|
|
|
58
58
|
before continuing. (Headless/CI only: pre-set `GITHUB_TOKEN` — a token with `repo`
|
|
59
59
|
scope — instead.)
|
|
60
60
|
- **`gitlab.com/...`** or self-hosted GitLab → set `GITLAB_TOKEN` (and `GITLAB_URL`
|
|
61
|
-
for self-hosted, with `api` scope)
|
|
61
|
+
for self-hosted, with `api` scope). **Exception:** a member who only syncs and
|
|
62
|
+
never needs the CLI to open merge requests (typical for non-developers) can skip
|
|
63
|
+
the token: add `--provider git` to the `init` in Step 4. Git then uses their
|
|
64
|
+
existing SSH key or credential helper, and `push` leaves the MR for them to open
|
|
65
|
+
on the web.
|
|
62
66
|
|
|
63
67
|
If they have no account on that platform, they register there, then ask the admin
|
|
64
68
|
to add them to the repo.
|
|
@@ -130,6 +130,7 @@ Use the `Glob → Grep → Read` three-step method (**adapt to the language of t
|
|
|
130
130
|
Java: *Application.java / *Bootstrap.java / src/main/java/**/Main*.java
|
|
131
131
|
TypeScript: app.ts / index.ts / main.ts / server.ts
|
|
132
132
|
Rust: main.rs / src/main.rs
|
|
133
|
+
Swift: main.swift / App.swift
|
|
133
134
|
|
|
134
135
|
2. Grep: locate the core Handlers/Routers (choose the pattern by language + framework)
|
|
135
136
|
Go: grep -rn 'func.*Handler\|\.GET\|\.POST\|router\.\|@handler' <dir>
|
|
@@ -31,7 +31,7 @@ Before generating documents, build a code knowledge graph as an intermediate rep
|
|
|
31
31
|
**Edge types**: `[CALLS]` (synchronous RPC/HTTP) / `[PUBLISHES]` (asynchronous MQ) / `[CONSUMES]` (MQ consumption) / `[READS]` (DB read) / `[WRITES]` (DB write) / `[CONFIGURES]` (config-driven) / `[MAPS_TO]` (product → code)
|
|
32
32
|
|
|
33
33
|
**Construction methods** (ordered by availability):
|
|
34
|
-
1. **`teamai codebase --extract`**: Tree-sitter structural edges (**TS/JS/Python/Go** and more) + multi-language heuristic fact pages (writes `teamwiki/`)
|
|
34
|
+
1. **`teamai codebase --extract`**: Tree-sitter structural edges (**TS/JS/Python/Go/Swift** and more) + multi-language heuristic fact pages (writes `teamwiki/`)
|
|
35
35
|
2. Grep + Read (Agent K1/K2): supplement dynamic routes and config-driven calls
|
|
36
36
|
3. Parse orchestration configs → module → command mapping
|
|
37
37
|
4. Parse Proto/IDL/DDL → data structures and table relationships (structured files, can be parsed precisely)
|
|
@@ -22,7 +22,7 @@ Architecture reverse-engineering **compresses the huge codebase into a structure
|
|
|
22
22
|
- Every component relation carries a confidence label (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`)
|
|
23
23
|
- Every generation run produces accuracy statistics, with automatic warnings when thresholds are exceeded
|
|
24
24
|
- AI reads the knowledge base instead of the source and gains global architecture awareness for **about 1/50 of the tokens**
|
|
25
|
-
- In Phase 0, `teamai codebase --extract` can generate evidence-backed structural edges (TS/JS/Python/Go AST + multi-language heuristics)
|
|
25
|
+
- In Phase 0, `teamai codebase --extract` can generate evidence-backed structural edges (TS/JS/Python/Go/Swift AST + multi-language heuristics)
|
|
26
26
|
- After extraction, `teamai codebase --deep-enrich --project <slug> --output <repo>` can generate deterministic graph documents (G1/G2/G3) and deep knowledge; no separate team-wiki CLI is needed
|
|
27
27
|
|
|
28
28
|
---
|
|
@@ -95,7 +95,7 @@ Write to `_review/metadata.json`:
|
|
|
95
95
|
|
|
96
96
|
**Step 0D: CLI structural baseline (per code repository, recommended)**
|
|
97
97
|
|
|
98
|
-
Before the K1 deep read, use TeamAI to extract evidence-backed import/call structural edges (Python/Go/TS etc., `code-ast`) and merge them with the regex baseline (`code-heuristic`):
|
|
98
|
+
Before the K1 deep read, use TeamAI to extract evidence-backed import/call structural edges (Python/Go/TS/Swift etc., `code-ast`) and merge them with the regex baseline (`code-heuristic`):
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
101
|
# For each repo. Writes <repo>/teamwiki/ (evidence pages + .indices/graph-index.json).
|
|
@@ -53,7 +53,7 @@ KEY_FILE_PATTERNS = {
|
|
|
53
53
|
# Language extension map
|
|
54
54
|
LANG_MAP = {
|
|
55
55
|
".py": "Python", ".go": "Go", ".js": "JavaScript", ".ts": "TypeScript",
|
|
56
|
-
".java": "Java", ".rs": "Rust", ".rb": "Ruby", ".php": "PHP",
|
|
56
|
+
".java": "Java", ".rs": "Rust", ".swift": "Swift", ".rb": "Ruby", ".php": "PHP",
|
|
57
57
|
".c": "C", ".cpp": "C++", ".h": "C/C++ Header",
|
|
58
58
|
".proto": "Protobuf", ".thrift": "Thrift", ".graphql": "GraphQL",
|
|
59
59
|
".sql": "SQL", ".sh": "Shell", ".bash": "Shell",
|