teamai-cli 0.26.0-beta.4 → 0.26.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamai-cli",
3
- "version": "0.26.0-beta.4",
3
+ "version": "0.26.0",
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 --type-aware --deny-warnings --report-unused-disable-directives",
31
32
  "release": "standard-version",
32
33
  "prepublishOnly": "npm run build"
33
34
  },
@@ -82,6 +83,8 @@
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",
87
+ "oxlint-tsgolint": "7.0.2003",
85
88
  "standard-version": "^9.5.0",
86
89
  "tsup": "^8.3.0",
87
90
  "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)
@@ -261,7 +262,7 @@ Generated: do not edit by hand. Regenerate with
261
262
 
262
263
  - `teamai session` — Record and inspect coding-session summaries
263
264
  - `teamai session save` — Record a privacy-scrubbed summary of a coding session to a local monthly log
264
- - `--session-id <id>` — Session to record (default: most recent, or $CLAUDE_SESSION_ID)
265
+ - `--session-id <id>` — Session to record (default: the agent's session, e.g. $CLAUDE_CODE_SESSION_ID, or the most recent)
265
266
  - `--push` — Also push the summary to the team repo (feeds `teamai digest`)
266
267
  - `--force` — Push even if the session is not flagged as valuable
267
268
  - `--include-prompt` — Include the redacted first-prompt line in the pushed summary (default: off)
@@ -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",