/** * Directory scaffolding: .cleo/ structure, git checkpoint repo, SQLite * databases (tasks + brain). */ import type { ScaffoldResult } from '@cleocode/contracts/scaffold-diagnostics'; export { generateProjectHash } from '../nexus/hash.js'; /** Required subdirectories under .cleo/. */ export declare const REQUIRED_CLEO_SUBDIRS: readonly ["backups/operational", "backups/safety", "agent-outputs", "logs", "rcasd", "adrs"]; /** * Create .cleo/ directory and all required subdirectories. * Idempotent: skips directories that already exist. * * @param projectRoot - Absolute path to the project root directory * @returns Scaffold result indicating whether the directory was created or already existed */ export declare function ensureCleoStructure(projectRoot: string): Promise; /** * Initialize isolated .cleo/.git checkpoint repository. * Idempotent: skips if .cleo/.git already exists. * * @param projectRoot - Absolute path to the project root directory * @returns Scaffold result indicating the action taken */ export declare function ensureCleoGitRepo(projectRoot: string): Promise; /** * Ensure the project's git repository has at least one commit on HEAD. * * Idempotent — skips when the project root has no `.git` directory (not a * git repo) or HEAD already resolves to a commit. * * @param projectRoot - Absolute path to the project root directory * @returns Scaffold result indicating the action taken * * @task T1244 */ export declare function ensureProjectGitInitialCommit(projectRoot: string): Promise; /** * Create SQLite tasks.db if missing. * Idempotent: skips if tasks.db already exists. * * @param projectRoot - Absolute path to the project root directory * @returns Scaffold result indicating the action taken */ export declare function ensureSqliteDb(projectRoot: string): Promise; /** * Initialize the brain domain if missing. * * ## E6-L2 (T11522) * * The brain domain now lives inside the consolidated project `cleo.db` * (`getBrainDb` → `openDualScopeDb('project')`), not a standalone `brain.db`. * The idempotency probe therefore targets the consolidated `cleo.db` path so a * second scaffold run correctly reports `skipped` rather than always `created`. * * @param projectRoot - Absolute path to the project root directory * @returns Scaffold result indicating the action taken */ export declare function ensureBrainDb(projectRoot: string): Promise; //# sourceMappingURL=ensure-dirs.d.ts.map