@gtrabanco/pi-agentic-workflow 0.34.2 → 0.35.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/README.md
CHANGED
|
@@ -146,16 +146,27 @@ set of routes, and you can define as many as you like under `profiles`:
|
|
|
146
146
|
The built-in `nan` profile is shown but not editable — create a profile to
|
|
147
147
|
override it.
|
|
148
148
|
|
|
149
|
-
## Serena (
|
|
149
|
+
## Serena (native MCP registration)
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
151
|
+
Serena's language-server tools reach pi through Serena's own MCP server — the
|
|
152
|
+
interface Serena documents, tests and keeps version-stable — not through a
|
|
153
|
+
bundled bridge. This package ships no Serena dependency; provisioning is one
|
|
154
|
+
consented step:
|
|
155
|
+
|
|
156
|
+
```sh
|
|
157
|
+
pi mcp add serena -- serena start-mcp-server --context claude-code
|
|
158
|
+
pi mcp list # verifies the connection
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
That writes the user-level `~/.pi/agent/mcp.json` (add `--local` for a
|
|
162
|
+
project-level `.pi/mcp.json`, read only after project trust is granted). The
|
|
163
|
+
tools appear under the `mcp__serena__<tool>` namespace — `find_symbol`,
|
|
164
|
+
`find_referencing_symbols`, `get_symbols_overview`, `get_diagnostics` and the
|
|
165
|
+
rest — and pi's per-server `toolExposure` config narrows the surface if the
|
|
166
|
+
full toolset is more than a session needs. The machine half is the same local
|
|
167
|
+
tool as before: `uv tool install -p 3.13 serena-agent` (or `/init-workspace`,
|
|
168
|
+
which offers the install, the registration and the global trust append in one
|
|
169
|
+
consented question).
|
|
159
170
|
|
|
160
171
|
**You must run `/init-workspace` once per project.** This package never writes or
|
|
161
172
|
repairs `.serena/project.yml` — `init-workspace` is its only writer, so there is
|
|
@@ -165,27 +176,12 @@ missing, lists no `language_servers`, or was provisioned by an older bundled
|
|
|
165
176
|
`/init-workspace`; the latch lives in this package's state file, so a restart does
|
|
166
177
|
not re-nag.
|
|
167
178
|
|
|
168
|
-
|
|
169
|
-
3.13 serena-agent` (or `/init-workspace`, which offers it). Nothing is uploaded
|
|
170
|
-
and no key is configured.
|
|
171
|
-
|
|
172
|
-
**Switching it off.** pi owns package resources, so the off switch is pi's, not a
|
|
173
|
-
key of ours: `pi config` opens the resource picker (tab switches scope) and lets
|
|
174
|
-
you disable the package's resources, and the same filter is expressible in
|
|
175
|
-
settings under `packages`:
|
|
176
|
-
|
|
177
|
-
```json
|
|
178
|
-
{
|
|
179
|
-
"packages": [
|
|
180
|
-
{ "source": "npm:@gtrabanco/pi-agentic-workflow", "extensions": ["./dist/extension/index.js"] }
|
|
181
|
-
]
|
|
182
|
-
}
|
|
183
|
-
```
|
|
179
|
+
Nothing is uploaded and no key is configured.
|
|
184
180
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
181
|
+
**Switching it off.** Serena is an MCP server now, so pi's own MCP controls are
|
|
182
|
+
the off switch: `pi mcp remove serena` unregisters it, `/mcp` inside a session
|
|
183
|
+
disables or re-enables it, or set `"enabled": false` on the entry in
|
|
184
|
+
`~/.pi/agent/mcp.json` to keep it listed but disconnected.
|
|
189
185
|
|
|
190
186
|
## Path protection (optional)
|
|
191
187
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gtrabanco/pi-agentic-workflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "Pi package: canonical agentic-workflow skills, friendly slash commands, and per-command model routing.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -21,8 +21,7 @@
|
|
|
21
21
|
"type": "module",
|
|
22
22
|
"pi": {
|
|
23
23
|
"extensions": [
|
|
24
|
-
"./dist/extension/index.js"
|
|
25
|
-
"./node_modules/@bacnh85/pi-serena/extensions/index.ts"
|
|
24
|
+
"./dist/extension/index.js"
|
|
26
25
|
],
|
|
27
26
|
"skills": [
|
|
28
27
|
"./skills"
|
|
@@ -58,7 +57,6 @@
|
|
|
58
57
|
"@earendil-works/pi-tui": "*"
|
|
59
58
|
},
|
|
60
59
|
"dependencies": {
|
|
61
|
-
"@bacnh85/pi-serena": "0.10.0",
|
|
62
60
|
"@gtrabanco/agentic-workflow": "0.4.0",
|
|
63
61
|
"@gtrabanco/agentic-workflow-schema": "4.8.0"
|
|
64
62
|
},
|
|
@@ -172,6 +172,29 @@ entry, never another line.
|
|
|
172
172
|
| Cursor | `.cursor/mcp.json` → `mcpServers.serena` | `{"command":"serena","args":["start-mcp-server","--context=ide"]}` |
|
|
173
173
|
| JetBrains Copilot | the global `mcp.json` Copilot opens | `{"type":"stdio","command":"serena","args":["start-mcp-server","--context=jb-copilot-plugin"]}` |
|
|
174
174
|
| Codex | `~/.codex/config.toml` → `[mcp_servers.serena]` | `command = "serena"`, `args = ["start-mcp-server","--project-from-cwd","--context=codex"]` |
|
|
175
|
+
| **pi** (this agent harness) | `pi mcp add serena -- serena start-mcp-server --context claude-code` (user-level default → `~/.pi/agent/mcp.json`; project-level: add `--local` → `.pi/mcp.json`) | command `serena` |
|
|
176
|
+
|
|
177
|
+
**pi-specific notes:** the native MCP registration replaces the old `@bacnh85/pi-serena` bridge (removed by issue #321). Two options:
|
|
178
|
+
|
|
179
|
+
- **User-level (default)** — `pi mcp add serena -- serena start-mcp-server --context claude-code` writes `~/.pi/agent/mcp.json`; fresh clones are zero-config. Ask first, like every other global write.
|
|
180
|
+
- **Project-level** — `pi mcp add --local serena -- serena start-mcp-server --context claude-code` writes `.pi/mcp.json` (read only after project trust is granted), keeping the choice in git:
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
"mcpServers": {
|
|
184
|
+
"serena": {
|
|
185
|
+
"command": "serena",
|
|
186
|
+
"args": ["start-mcp-server", "--context", "claude-code"]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
Same consent rule as the other per-workspace files (`.vscode/mcp.json`, `.cursor/mcp.json`).
|
|
192
|
+
|
|
193
|
+
Verify either option with `pi mcp list` (it connects and exits 1 on a broken entry). Tools are namespaced `mcp__serena__<tool>` (e.g. `mcp__serena__find_symbol`), so generic native names cannot collide with other MCP servers. If the full tool surface is too wide for the session, pi's per-server `toolExposure` config narrows it — the same knob the bridge solved by shipping a curated 22.
|
|
194
|
+
|
|
195
|
+
The `--context claude-code` value resolves issue #321's open question: pi is a terminal agent harness like Claude Code, so it uses Serena's `claude-code` context (not the REPL `agent_interface`, which stays out of scope — the classic `tools` interface remains the default).
|
|
196
|
+
|
|
197
|
+
**Consent gating:** the registration is asked inside the same consented question as the tool install and trust append. A project-level `.pi/mcp.json` write additionally commits a file to the repo, so it needs the same explicit yes as any other write.
|
|
175
198
|
|
|
176
199
|
### Trust — the fresh clone (global config, consent-gated)
|
|
177
200
|
|