fix(coding-agent): route remaining hardcoded pi branding through APP_NAME (#3583)

Swaps hardcoded "pi" / ".pi" / "π" for the existing APP_NAME and
CONFIG_DIR_NAME extension points at four sites the original APP_NAME
rollout missed:

- /quit slash-command description
- process.title (cli.ts and bun/cli.ts)
- project-local extensions dir in loader.ts

For the terminal title, adds an APP_TITLE export in config.ts that
keeps pi's "π" glyph when piConfig.name is unset and falls back to
APP_NAME otherwise. Presence of piConfig.name acts as the "has been
rebranded" signal, so pi's own package.json drops the redundant
"name": "pi" (the existing `|| "pi"` fallback in config.ts makes this
a no-op for APP_NAME).

No behavior change for pi itself: process.title, /quit description,
terminal title prefix, and project-local extensions dir all resolve
to the same values as before.

closes #3476
This commit is contained in:
Julian LaNeve
2026-04-23 06:27:00 -04:00
committed by GitHub
parent e4d06a52c3
commit de8c947556
7 changed files with 19 additions and 13 deletions

View File

@@ -41,6 +41,7 @@ import {
import { spawn, spawnSync } from "child_process";
import {
APP_NAME,
APP_TITLE,
getAgentDir,
getAuthPath,
getDebugLogPath,
@@ -637,9 +638,9 @@ export class InteractiveMode {
const cwdBasename = path.basename(this.sessionManager.getCwd());
const sessionName = this.sessionManager.getSessionName();
if (sessionName) {
this.ui.terminal.setTitle(`π - ${sessionName} - ${cwdBasename}`);
this.ui.terminal.setTitle(`${APP_TITLE} - ${sessionName} - ${cwdBasename}`);
} else {
this.ui.terminal.setTitle(`π - ${cwdBasename}`);
this.ui.terminal.setTitle(`${APP_TITLE} - ${cwdBasename}`);
}
}