/** * `sigil init` writes two files: * * 1. .claude/settings.json — the PreToolUse / PostToolUse ward hooks. * Idempotent: re-running merges with whatever is there, preserving * the user's unrelated settings. * * 2. The MCP server registration. For Claude Code CLI this lives in * a *different* file than the hooks: * - user scope: ~/.claude.json (top-level mcpServers) * - project scope: /.mcp.json (top-level mcpServers) * * The `mcpServers` key inside settings.json is read by Claude * Desktop, not the CLI. Earlier versions of sigil wrote MCP config * there and it was a silent no-op for CLI users. We now (a) write * to the right place, and (b) strip the stale settings.json entry * on every init so users running the new init recover automatically. */ export type InitScope = 'project' | 'user'; export interface InitOpts { scope: InitScope; /** Root for project-scoped install (where .claude/ and .mcp.json go). Defaults to CWD. */ projectRoot?: string; /** Home dir for user-scoped install. Defaults to os.homedir(). */ homeDir?: string; /** * Path to the sigil-mcp binary to register. Defaults to looking up * "sigil-mcp" on $PATH (which works if sigil was installed globally). */ mcpCommand?: string; } export interface InitResult { settingsPath: string; mcpConfigPath: string; changed: boolean; } export declare function settingsPath(opts: InitOpts): string; export declare function mcpConfigPath(opts: InitOpts): string; /** * Idempotently install sigil's hook config (settings.json) + MCP server * registration (claude.json / .mcp.json). Existing settings and other MCP * servers are preserved. */ export declare function installInto(opts: InitOpts): InitResult; //# sourceMappingURL=install.d.ts.map