Rename @mariozechner/pi-* to @earendil-works/pi-*
Pi moved to its new home at earendil-works on 2026-05-07 (https://pi.dev/news/2026/5/7/pi-has-a-new-home). Affected packages: @mariozechner/pi-coding-agent -> @earendil-works/pi-coding-agent @mariozechner/pi-tui -> @earendil-works/pi-tui @mariozechner/pi-ai -> @earendil-works/pi-ai @mariozechner/pi-agent-core -> @earendil-works/pi-agent-core The old @mariozechner/* packages are deprecated on npm with the explicit message 'please use @earendil-works/pi-coding-agent instead going forward', and the version stream has moved on (old top-out 0.73.1; new currently 0.74.0). Anyone npm-installing the old names gets a deprecation warning + a stale binary. Sweep: - All 7 extension TypeScript files: import statements updated. - README, AGENTS, install.sh: textual references and the github.com/ mariozechner/pi-coding-agent URL pointed at github.com/earendil-works/ pi (the new monorepo root; coding-agent now lives at packages/coding-agent inside it). - Bun build of mcp-loader, ext-toggle, ssh-controlmaster verified clean. Brew install references (`brew install pi-coding-agent`) left as-is: the homebrew formula still works at 0.73.1 and a tap update is tracked upstream at earendil-works/pi#2755. Historical CHANGELOG entries are untouched.
This commit is contained in:
@@ -73,8 +73,8 @@ untouched.
|
||||
1. **Drop a `.ts` file into `extensions/`.** No other config needed —
|
||||
`install.sh` discovers all `.ts` files automatically.
|
||||
2. **Export a default factory function** `(pi: ExtensionAPI) => void`.
|
||||
See the [pi extensions docs](https://github.com/mariozechner/pi-coding-agent/blob/main/docs/extensions.md)
|
||||
and [built-in examples](https://github.com/mariozechner/pi-coding-agent/tree/main/examples/extensions).
|
||||
See the [pi extensions docs](https://github.com/earendil-works/pi/blob/main/docs/extensions.md)
|
||||
and [built-in examples](https://github.com/earendil-works/pi/tree/main/examples/extensions).
|
||||
3. **Register any CLI flags** via `pi.registerFlag()` so they appear in
|
||||
`pi --help`.
|
||||
4. **Keep the extension inert without its flag** (or equivalent trigger). Don't
|
||||
@@ -242,7 +242,7 @@ upstream updates but gain reproducibility.
|
||||
**Refresh from upstream when needed:**
|
||||
|
||||
```bash
|
||||
cp /opt/homebrew/Cellar/pi-coding-agent/*/libexec/lib/node_modules/@mariozechner/pi-coding-agent/examples/extensions/todo.ts \
|
||||
cp /opt/homebrew/Cellar/pi-coding-agent/*/libexec/lib/node_modules/@earendil-works/pi-coding-agent/examples/extensions/todo.ts \
|
||||
~/src/src_local/pi-extensions/extensions/todo.ts
|
||||
# review diff, then commit
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# pi-extensions
|
||||
|
||||
Custom and modified extensions for the [pi coding-agent](https://github.com/mariozechner/pi-coding-agent).
|
||||
Custom and modified extensions for the [pi coding-agent](https://github.com/earendil-works/pi).
|
||||
|
||||
This repo is the single source of truth for extensions that aren't suitable for general publishing — personal workflow tweaks, modified versions of built-in examples, and extensions written for specific infrastructure. Symlinked into `~/.pi/agent/extensions/` so pi loads them automatically.
|
||||
|
||||
@@ -266,7 +266,7 @@ Generic MCP server loader. Reads an `mcp` block from `~/.pi/agent/settings.json`
|
||||
|
||||
UX matches `/ext`: **space** stages a toggle, **enter** writes back to `settings.json` and reloads pi, **esc** cancels. Toggling re-enables a previously-disabled server by removing the explicit `enabled` key (the default is `true`).
|
||||
|
||||
Each extension is a TypeScript module loaded by [jiti](https://github.com/unjs/jiti) — no compilation step. See the [pi extensions docs](https://github.com/mariozechner/pi-coding-agent/blob/main/docs/extensions.md) and the [built-in examples](https://github.com/mariozechner/pi-coding-agent/tree/main/examples/extensions) for the API surface.
|
||||
Each extension is a TypeScript module loaded by [jiti](https://github.com/unjs/jiti) — no compilation step. See the [pi extensions docs](https://github.com/earendil-works/pi/blob/main/docs/extensions.md) and the [built-in examples](https://github.com/earendil-works/pi/tree/main/examples/extensions) for the API surface.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* /fork so you don't accidentally throw away work.
|
||||
*/
|
||||
|
||||
import type { ExtensionAPI, SessionBeforeSwitchEvent, SessionMessageEntry } from "@mariozechner/pi-coding-agent";
|
||||
import type { ExtensionAPI, SessionBeforeSwitchEvent, SessionMessageEntry } from "@earendil-works/pi-coding-agent";
|
||||
|
||||
// ── Dangerous bash patterns ───────────────────────────────────────────────────
|
||||
|
||||
|
||||
@@ -30,14 +30,14 @@ import * as os from "node:os";
|
||||
import {
|
||||
type ExtensionAPI,
|
||||
getSettingsListTheme,
|
||||
} from "@mariozechner/pi-coding-agent";
|
||||
} from "@earendil-works/pi-coding-agent";
|
||||
import {
|
||||
Container,
|
||||
Key,
|
||||
matchesKey,
|
||||
type SettingItem,
|
||||
SettingsList,
|
||||
} from "@mariozechner/pi-tui";
|
||||
} from "@earendil-works/pi-tui";
|
||||
|
||||
const EXT_DIR = path.join(os.homedir(), ".pi", "agent", "extensions");
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* Status bar shows the number of checkpoints saved in the current session.
|
||||
*/
|
||||
|
||||
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
||||
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
||||
|
||||
export default function (pi: ExtensionAPI) {
|
||||
// entryId → stash ref (e.g. "refs/stash" or a full sha)
|
||||
|
||||
@@ -104,14 +104,14 @@ import * as path from "node:path";
|
||||
import {
|
||||
type ExtensionAPI,
|
||||
getSettingsListTheme,
|
||||
} from "@mariozechner/pi-coding-agent";
|
||||
} from "@earendil-works/pi-coding-agent";
|
||||
import {
|
||||
Container,
|
||||
Key,
|
||||
matchesKey,
|
||||
type SettingItem,
|
||||
SettingsList,
|
||||
} from "@mariozechner/pi-tui";
|
||||
} from "@earendil-works/pi-tui";
|
||||
import { Type } from "typebox";
|
||||
|
||||
// ── MCP types ────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* otherwise → OSC 777 (iTerm2, WezTerm, Ghostty, rxvt-unicode)
|
||||
*/
|
||||
|
||||
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
||||
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
||||
|
||||
// ── Notification backends ─────────────────────────────────────────────────────
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import { spawn } from "node:child_process";
|
||||
import { writeFile, unlink } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
||||
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
||||
import {
|
||||
type BashOperations,
|
||||
createBashTool,
|
||||
@@ -41,7 +41,7 @@ import {
|
||||
type EditOperations,
|
||||
type ReadOperations,
|
||||
type WriteOperations,
|
||||
} from "@mariozechner/pi-coding-agent";
|
||||
} from "@earendil-works/pi-coding-agent";
|
||||
|
||||
// ── Types ────────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
+3
-3
@@ -10,9 +10,9 @@
|
||||
* correct for that point in history.
|
||||
*/
|
||||
|
||||
import { StringEnum } from "@mariozechner/pi-ai";
|
||||
import type { ExtensionAPI, ExtensionContext, Theme } from "@mariozechner/pi-coding-agent";
|
||||
import { matchesKey, Text, truncateToWidth } from "@mariozechner/pi-tui";
|
||||
import { StringEnum } from "@earendil-works/pi-ai";
|
||||
import type { ExtensionAPI, ExtensionContext, Theme } from "@earendil-works/pi-coding-agent";
|
||||
import { matchesKey, Text, truncateToWidth } from "@earendil-works/pi-tui";
|
||||
import { Type } from "typebox";
|
||||
|
||||
interface Todo {
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ link_into_repo() {
|
||||
require_pi_installed() {
|
||||
if [[ ! -d "$PI_AGENT_DIR" ]]; then
|
||||
err "pi not detected at $PI_AGENT_DIR"
|
||||
printf ' Install pi first: https://github.com/mariozechner/pi-coding-agent\n'
|
||||
printf ' Install pi first: https://github.com/earendil-works/pi\n'
|
||||
printf ' Re-run after `pi --help` (first run creates ~/.pi/agent/).\n'
|
||||
exit 4
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user