/** * openlore setup command * * Installs workflow skills and agent integration files into the current project. * Unlike `analyze --ai-configs` (which generates project-specific context files), * `setup` copies static workflow assets that are the same for every project: * * - Mistral Vibe skills -> .vibe/skills/openlore-{name}/SKILL.md (10 skills) * - Cline workflows -> .clinerules/workflows/openlore-{name}.md * - Claude Code skills -> .claude/skills/openlore-{name}/SKILL.md (10 skills) * - OpenCode skills -> .opencode/skills/openlore-{name}/SKILL.md (10 skills) * - GSD commands -> .claude/commands/gsd/openlore-{name}.md * * Files are never overwritten — existing files are skipped silently. * Canonical skills are read from `skills/`; other integration assets remain under `examples/`. */ import { Command } from 'commander'; import type { PanicGateReport } from '../../core/services/mcp-handlers/panic-validation.js'; import type { PanicResponseMode } from '../../types/index.js'; type ToolName = 'vibe' | 'cline' | 'gsd' | 'bmad' | 'claude' | 'opencode' | 'omoa' | 'pi'; interface SkillEntry { /** Absolute source path inside the package */ src: string; /** Relative destination path from the project root */ dest: string; } /** Add only metadata required by a specific host, keeping canonical skills portable. */ export declare function adaptSkillForHost(content: string, host: ToolName): string; export declare function buildManifest(projectRoot: string, piGlobal?: boolean): Record; /** Sentinel written by `setup --panic off|observe`. When present, the guarded PreToolUse hook skips * spawning Node entirely (the hook is a pure no-op in those modes) — off/observe cost nothing per * tool call. Its ABSENCE means "run" (fail-safe: existing installs and direct config edits still * run the hook), so only the setup path opts into the cheap fast-exit. */ declare const PANIC_DISABLED_SENTINEL = "panic-check-disabled"; /** The PreToolUse hook command: a POSIX-sh guard that runs panic-check only when the disabled * sentinel is absent, and always exits 0 (a non-zero PreToolUse exit could be read as a denial). */ export declare function panicCheckHookCommand(format: string): string; export { PANIC_DISABLED_SENTINEL }; /** * Decide whether `setup --panic ` may activate an interventional mode. Pure and deterministic * so it is testable without touching the filesystem or process. Non-interventional modes (off, * observe) always pass. An interventional mode is allowed only when the accuracy gate has CLEARED, * or the operator passed `--acknowledge-unvalidated`; otherwise it is refused with the unmet * criteria named (never a silent refusal, never a silent activation). */ export declare function evaluatePanicActivation(mode: PanicResponseMode, report: PanicGateReport, acknowledgeUnvalidated: boolean): { allow: boolean; interventional: boolean; unmet: string[]; }; /** Install the opt-in enforcement gate in Claude Code's Stop loop. */ export declare function installAgentEnforcementHook(rootPath: string): Promise; /** Remove only OpenLore's opt-in agent enforcement entry. */ export declare function uninstallAgentEnforcementHook(rootPath: string): Promise; /** Install the opt-in enforcement gate in Codex's project-local Stop loop. */ export declare function installCodexAgentEnforcementHook(rootPath: string): Promise; /** Remove only OpenLore's Codex Stop handler, preserving other groups and handlers. */ export declare function uninstallCodexAgentEnforcementHook(rootPath: string): Promise; /** Install the read-only per-edit verdict consumer as a Claude Code PostToolUse hook. */ export declare function installCheckEditHook(rootPath: string): Promise; /** Remove only OpenLore's check-edit PostToolUse entry, preserving user hooks. */ export declare function uninstallCheckEditHook(rootPath: string): Promise; /** Install `openlore panic-check` as a PreToolUse hook (idempotent). */ export declare function installPanicCheckHook(rootPath: string, format?: string): Promise; /** Install `openlore gryph-watch` as a UserPromptSubmit hook (idempotent). */ export declare function installGryphWatchHook(rootPath: string): Promise; /** Remove the opt-in panic-check + gryph-watch hooks (idempotent — the inverse of * `setup --hooks `). Only strips openlore-marked entries; leaves user hooks. */ export declare function uninstallPanicHooks(rootPath: string): Promise; export declare const setupCommand: Command; //# sourceMappingURL=setup.d.ts.map