export declare const HOSTS: readonly ["claude-code", "codex", "pi-dev", "hermes", "openclaw", "rvm", "copilot", "opencode", "github-actions"]; export type Host = (typeof HOSTS)[number]; export declare const TEMPLATES: readonly ["minimal", "vertical:devops", "vertical:support", "vertical:trading", "vertical:legal", "vertical:research", "vertical:coding", "vertical:business", "vertical:crm", "vertical:marketing", "vertical:advertising", "vertical:ai", "vertical:agentics", "vertical:ruview", "vertical:health", "vertical:education", "vertical:sales", "vertical:gaming", "vertical:repo-maintainer", "vertical:exotic"]; export type TemplateId = (typeof TEMPLATES)[number]; export interface CatalogEntry { id: string; category: string; name: string; domain: string; description: string; quickStart: string; tags: string[]; generate: boolean; agentCount: number; skillCount: number; commandCount: number; } /** Read the canonical template catalog shipped at templates/catalog.json. */ export declare function loadCatalog(): CatalogEntry[]; /** Render the catalog as a human-readable table for `--list`. */ export declare function formatCatalog(entries: CatalogEntry[]): string[]; export interface CliArgs { name?: string; template?: string; templatePackage?: string; hosts?: string[]; yes?: boolean; force?: boolean; description?: string; target?: string; fromExisting?: string; list?: boolean; wizard?: boolean; withWasm?: string; /** ADR-147: include Darwin Mode self-improvement (default on; --no-darwin to skip). */ darwin?: boolean; } export declare function parseArgs(argv: string[]): CliArgs; /** * Resolve a template id to its on-disk directory. The "minimal" template * lives at templates/minimal; vertical templates use ":" as the separator * in their id and "_" as the on-disk separator (e.g. vertical:devops -> * templates/vertical_devops). */ export declare function templateDir(id: string): string; export interface ScaffoldOptions { name: string; template: string; /** Primary host — drives the template ({{host}}, bin/init imports). */ host: Host; /** * GH #10: full host set for a multi-host harness. Defaults to [host]. The * primary (host) drives the template; every host's native config + npm dep is * emitted, and manifest.hosts records the full set. */ hosts?: Host[]; description?: string; targetDir: string; force?: boolean; generatorVersion: string; /** * ADR-147: deep-integrate Darwin Mode (@metaharness/darwin) — the generated * harness gets `npm run evolve` (+ dry-run), a real `evolve` skill wired to * the darwin CLI, and the dependency. Default ON; opt out with `--no-darwin`. */ darwin?: boolean; } export interface ScaffoldResult { paths: string[]; manifestPath: string; unresolved: string[]; } export declare function scaffold(opts: ScaffoldOptions): Promise; /** Try to detect an existing ruflo project at the given path. */ export declare function detectRufloProject(dir: string): { found: boolean; signals: string[]; }; export declare function main(argv: string[]): Promise; export type { TemplateVars } from './renderer.js'; export { render, extractVarReferences, validateHarnessName } from './renderer.js'; export { walkTemplate, asFileMap } from './walker.js'; export { writeAtomic } from './writer.js'; export { emptyManifest, sha256, fingerprintFiles, diffFingerprints } from './manifest.js'; //# sourceMappingURL=index.d.ts.map