/** * 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 (8 skills) * - Cline workflows -> .clinerules/workflows/openlore-{name}.md * - Claude Code skills -> .claude/skills/openlore-{name}/SKILL.md (8 skills) * - OpenCode skills -> .opencode/skills/openlore-{name}/SKILL.md (8 skills) * - GSD commands -> .claude/commands/gsd/openlore-{name}.md * * Files are never overwritten — existing files are skipped silently. * Assets are read from the `examples/` directory shipped with the openlore package. */ import { Command } from 'commander'; import type { PanicGateReport } from '../../core/services/mcp-handlers/panic-validation.js'; import type { PanicResponseMode } from '../../types/index.js'; /** 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 `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