@oxis-dev/tessra 2.14.1 → 2.17.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.
Files changed (2) hide show
  1. package/README.md +193 -5
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,9 +1,197 @@
1
- ## License
1
+ # Tessra
2
+
3
+ Semantic code intelligence engine for AI agents. Tessra indexes your codebase and exposes it to Claude Code (and any MCP-compatible AI) through a local MCP server — giving agents full call graphs, symbol lookup, smart context, and multi-repo awareness without reading raw files.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install -g @oxis-dev/tessra
9
+ ```
10
+
11
+ Requires a valid Tessra license. Get one at [oxis.dev/tessra](https://oxis.dev/tessra).
12
+
13
+ ---
14
+
15
+ ## Quick start
16
+
17
+ ```bash
18
+ # 1. Activate your license
19
+ tessra auth <your-license-key>
20
+
21
+ # 2. Register your project and start the daemon
22
+ tessra repo add . --name myapp
23
+ tessra repo use myapp
24
+ tessra mcp # starts the MCP server (used by Claude Code)
25
+ ```
26
+
27
+ Add Tessra to your Claude Code MCP config (`~/.claude/claude_desktop_config.json` or `.claude/settings.json`):
28
+
29
+ ```json
30
+ {
31
+ "mcpServers": {
32
+ "tessra": {
33
+ "command": "tessra",
34
+ "args": ["mcp"]
35
+ }
36
+ }
37
+ }
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Multi-repo & workspaces
43
+
44
+ Tessra maintains a **persistent catalog** (`~/.tessra/repos.json`) so you can switch projects without restarting the MCP server.
45
+
46
+ ### Register repos
47
+
48
+ ```bash
49
+ tessra repo add . # register CWD (uses directory name)
50
+ tessra repo add /projects/api --name api # register with explicit name
51
+ tessra here # auto-detect git root, register + activate
52
+ ```
53
+
54
+ ### Switch active repo
55
+
56
+ ```bash
57
+ tessra repo use api # activate; triggers live indexing if daemon is running
58
+ tessra repo current # print active: "api" or "workspace:stack" or "(none)"
59
+ tessra repo list # list all registered repos with status
60
+ tessra repo remove old-svc # remove from catalog
61
+ ```
62
+
63
+ ### Workspaces (multi-repo)
64
+
65
+ Group repos into a named workspace and activate them all at once:
66
+
67
+ ```bash
68
+ tessra workspace create cbb-stack --repos cbb_express,cbb_admin
69
+ tessra workspace use cbb-stack # activates both repos; deactivates any single repo
70
+ tessra workspace list
71
+ tessra workspace remove cbb-stack
72
+ ```
73
+
74
+ When a workspace is active, all repos in it are indexed and available to the agent simultaneously.
75
+
76
+ **XOR rule:** `active_repo` and `active_workspace` are mutually exclusive. Activating one clears the other.
77
+
78
+ ---
79
+
80
+ ## Session scope (multi-repo)
81
+
82
+ When multiple repos are indexed, each MCP connection automatically resolves a **session scope** so the agent only sees symbols of the active repo — avoiding silent wrong-repo context.
83
+
84
+ ### Scope resolution order
85
+
86
+ On every `initialize` handshake Tessra resolves the scope in this priority:
2
87
 
3
- Tessra is proprietary software developed by Oxis.
88
+ 1. `workspaceRoot` sent by the client (Claude Code / VS Code sends this automatically)
89
+ 2. `--workspace <name|path>` flag on `tessra mcp`
90
+ 3. `TESSRA_WORKSPACE` environment variable
91
+ 4. CWD git root at daemon startup matched against the catalog
92
+ 5. No match → error with actionable instructions
4
93
 
5
- Access and use require a valid subscription or license issued by Oxis. Unauthorized use, reproduction, modification, or distribution of this software is strictly prohibited.
94
+ ### Cross-repo queries
6
95
 
7
- This repository is not open source.
96
+ All search tools accept an optional `repo` parameter to query a specific repo regardless of session scope:
97
+
98
+ ```
99
+ find("processPayment", repo="payments-api")
100
+ ```
101
+
102
+ For intentional cross-repo lookups use the dedicated tool:
103
+
104
+ ```
105
+ get_cross(symbol="processPayment", from_repo="payments-api")
106
+ ```
107
+
108
+ ### Scope info in `tessra doctor`
109
+
110
+ `tessra doctor` now shows the resolved MCP scope so you can verify what the agent will see before starting a session.
111
+
112
+ ### Startup order (no `--roots` flag)
113
+
114
+ When `tessra mcp` starts without `--roots`, it resolves context in this order:
115
+
116
+ 1. Active workspace → loads all workspace repos
117
+ 2. Active repo → loads that repo
118
+ 3. CWD is a git repo → loads it with a warning ("run `tessra here` to register")
119
+ 4. None of the above → error with instructions
120
+
121
+ ---
122
+
123
+ ## CLI reference
124
+
125
+ ### Repo management
126
+
127
+ | Command | Description |
128
+ |---------|-------------|
129
+ | `tessra repo add [path] [--name N]` | Register a repo in the catalog (does not activate) |
130
+ | `tessra repo use <name>` | Activate repo; triggers live indexing if daemon is running |
131
+ | `tessra repo current` | Print active repo or workspace (one line) |
132
+ | `tessra repo list` | List all registered repos with states |
133
+ | `tessra repo remove <name>` | Remove from catalog |
134
+ | `tessra here` | Detect git root from CWD, register if needed, activate |
135
+
136
+ ### Workspace management
137
+
138
+ | Command | Description |
139
+ |---------|-------------|
140
+ | `tessra workspace create <name> --repos a,b` | Create a named workspace |
141
+ | `tessra workspace use <name>` | Activate workspace (validates all repos first) |
142
+ | `tessra workspace list` | List registered workspaces |
143
+ | `tessra workspace remove <name>` | Remove a workspace |
144
+
145
+ ### Diagnostics
146
+
147
+ | Command | Description |
148
+ |---------|-------------|
149
+ | `tessra status` | Active repo/workspace with origin + per-repo states |
150
+ | `tessra doctor` | Health check: repos.json, daemon, individual repos (✔ / ⚠ / ✖) |
151
+
152
+ ### Other
153
+
154
+ | Command | Description |
155
+ |---------|-------------|
156
+ | `tessra auth <key>` | Activate license |
157
+ | `tessra login` | Browser-based login (no key needed) |
158
+ | `tessra mcp [--roots dir1 dir2] [--workspace name\|path]` | Start MCP server (reads catalog if no `--roots`); `--workspace` fuerza el scope de sesión |
159
+ | `tessra stats` | Show indexing stats and token savings |
160
+ | `tessra prompt` | Print the recommended system prompt for agents |
161
+ | `tessra telemetry status\|enable\|disable` | Manage telemetry consent |
162
+
163
+ ---
164
+
165
+ ## MCP tools exposed to the agent
166
+
167
+ | Tool | Description |
168
+ |------|-------------|
169
+ | `find` | Locate a symbol by name (exact / prefix / partial); acepta `repo?` para override de scope |
170
+ | `get_context` | Working context for a symbol; acepta `repo?` para override de scope |
171
+ | `get_extended` | Extended context including framework extras (Angular template, Flutter binding) |
172
+ | `get_related` | Related symbols up / down / both; acepta `repo?` para override de scope |
173
+ | `trace_origin` | Trace from a symbol to its application root; acepta `repo?` para override de scope |
174
+ | `get_impact` | Symbols affected by changing a target; acepta `repo?` para override de scope |
175
+ | `get_outline` | File structure (signatures + imports only) |
176
+ | `read_lines` | Raw lines by path + line range |
177
+ | `repo_info` | Stats for all active repos |
178
+ | `get_dependencies` | External deps from active repositories |
179
+ | `get_metrics` | Token savings summary |
180
+ | `repo_add` | Register a repo from inside Claude Code |
181
+ | `repo_use` | Switch active repo from inside Claude Code |
182
+ | `repo_list` | List registered repos from inside Claude Code |
183
+ | `repo_current` | Current active repo/workspace |
184
+ | `get_cross` | Lookup a symbol in a specific repo regardless of session scope |
185
+
186
+ ---
187
+
188
+ ## Supported languages
189
+
190
+ Angular · Django · Flutter/GetX · TypeScript · JavaScript · Python · Rust · Go · Java · Kotlin · C# · PHP · Ruby · SQL · Svelte · Vue · Astro
191
+
192
+ ---
193
+
194
+ ## License
8
195
 
9
- For licensing inquiries, visit https://oxis.dev
196
+ Tessra is proprietary software by [Oxis](https://oxis.dev).
197
+ A valid subscription is required. Visit [oxis.dev/tessra](https://oxis.dev/tessra) for pricing.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxis-dev/tessra",
3
- "version": "2.14.1",
3
+ "version": "2.17.0",
4
4
  "description": "MCP server for AI coding tools and agents. Provides semantic codebase context for Cursor, Claude Code, Codex, Copilot, Antigravity, and CLI workflows without requiring full file uploads.",
5
5
  "license": "UNLICENSED",
6
6
  "author": {