feat(FN-1216): rename extension tools to fn_* across CLI and docs

- Rename all pi extension tool registrations from kb_* to fn_* across task, mission, and agent tool families
- Update extension and skill-sync tests plus Fusion skill docs/workflows to assert and document the new fn_* tool names
- Align product-identity strings across core, dashboard, and CLI references, including GitHub import examples, User-Agent headers, and terminal TERM_PROGRAM
- Add a @gsxdsm/fusion minor changeset describing the extension tool-prefix rename
This commit is contained in:
gsxdsm
2026-04-08 14:26:30 -07:00
parent 324f28a90c
commit 9ad0b8be24
32 changed files with 371 additions and 366 deletions

View File

@@ -14,7 +14,7 @@ import { applyPresetToSelection, generateUniquePresetId } from "../utils/modelPr
*
* Each section groups related settings fields under a sidebar nav item.
* Sections have a `scope` to indicate where their settings are stored:
* - "global": User-level settings stored in ~/.pi/kb/settings.json (shared across projects)
* - "global": User-level settings stored in ~/.pi/fusion/settings.json (shared across projects)
* - "project": Project-specific settings stored in .fusion/config.json
* - undefined: Section operates independently of settings storage (e.g. authentication)
*
@@ -1355,7 +1355,7 @@ export function SettingsModal({
disabled={form.recycleWorktrees}
>
<option value="random">Random names (e.g., swift-falcon)</option>
<option value="task-id">Task ID (e.g., kb-042)</option>
<option value="task-id">Task ID (e.g., fn-042)</option>
<option value="task-title">Task title (e.g., fix-login-bug)</option>
</select>
<small>

View File

@@ -388,7 +388,7 @@ export async function fetchInstallationToken(
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${jwt}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);
@@ -424,7 +424,7 @@ export async function fetchCanonicalPrInfo(
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${installationToken}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);
@@ -478,7 +478,7 @@ export async function fetchCanonicalIssueInfo(
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${installationToken}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);

View File

@@ -1416,7 +1416,7 @@ export class GitHubClient {
const headers: Record<string, string> = {
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
};
if (this.token) {
@@ -2006,7 +2006,7 @@ export class GitHubClient {
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${jwt}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);
@@ -2040,7 +2040,7 @@ export class GitHubClient {
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${installationToken}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);
@@ -2093,7 +2093,7 @@ export class GitHubClient {
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
Authorization: `Bearer ${installationToken}`,
"User-Agent": "kb-dashboard/1.0",
"User-Agent": "fn/1.0",
},
},
);

View File

@@ -1582,7 +1582,7 @@ export function createApiRoutes(store: TaskStore, options?: ServerOptions): Rout
/**
* PUT /api/settings/global
* Update global (user-level) settings in ~/.pi/fusion/settings.json.
* These settings persist across all kb projects for the current user.
* These settings persist across all fn projects for the current user.
*/
router.put("/settings/global", async (req, res) => {
try {
@@ -3770,7 +3770,7 @@ export function createApiRoutes(store: TaskStore, options?: ServerOptions): Rout
/**
* POST /api/github/issues/import
* Import a specific GitHub issue as a kb task.
* Import a specific GitHub issue as a fn task.
* Body: { owner: string, repo: string, issueNumber: number }
* Returns: Created Task object
*/
@@ -3865,7 +3865,7 @@ export function createApiRoutes(store: TaskStore, options?: ServerOptions): Rout
/**
* POST /api/github/issues/batch-import
* Import multiple GitHub issues as kb tasks with throttling.
* Import multiple GitHub issues as fn tasks with throttling.
* Body: { owner: string, repo: string, issueNumbers: number[], delayMs?: number }
* Returns: { results: BatchImportResult[] }
*/
@@ -4096,7 +4096,7 @@ export function createApiRoutes(store: TaskStore, options?: ServerOptions): Rout
/**
* POST /api/github/pulls/import
* Import a specific GitHub pull request as a kb review task.
* Import a specific GitHub pull request as a fn review task.
* Body: { owner: string, repo: string, prNumber: number }
* Returns: Created Task object
*/
@@ -9140,7 +9140,7 @@ Output ONLY the prompt text (no markdown, no explanations).`;
/**
* POST /api/projects/detect
* Auto-detect kb projects in a directory.
* Auto-detect fn projects in a directory.
* Body: { basePath?: string }
* Returns: { projects: DetectedProject[] }
*/
@@ -9167,7 +9167,7 @@ Output ONLY the prompt text (no markdown, no explanations).`;
const existingPaths = new Set(existingProjects.map((p: { path: string }) => p.path));
// Scan for .fusion/fusion.db or .fusion/fusion.db files (indicating kb projects)
// Scan for .fusion/fusion.db or .fusion/fusion.db files (indicating fn projects)
const detected: Array<{ path: string; suggestedName: string; existing: boolean }> = [];
try {

View File

@@ -150,7 +150,7 @@ export function createServer(store: TaskStore, options?: ServerOptions): ReturnT
// Serve built React app
// Resolution order:
// 1. FUSION_CLIENT_DIR env override (explicit)
// 2. Next to process.execPath (bun-compiled binary: dist/kb + dist/client/)
// 2. Next to process.execPath (bun-compiled binary: dist/fn + dist/client/)
// 3. __dirname/../dist/client (running from src/ via tsx/ts-node)
// 4. __dirname/../client (running from dist/ after tsc)
const execDir = dirname(process.execPath);

View File

@@ -454,7 +454,7 @@ export class TerminalService extends EventEmitter {
...cleanEnv,
TERM: "xterm-256color",
COLORTERM: "truecolor",
TERM_PROGRAM: "kb-terminal",
TERM_PROGRAM: "fn-terminal",
LANG: process.env.LANG || "en_US.UTF-8",
LC_ALL: process.env.LC_ALL || process.env.LANG || "en_US.UTF-8",
...options.env,