UNPKG

framework

Version:

The (AI) Framework: turnkey, zero-config AI orchestration that wraps a coding-agent CLI (Claude Code) as a black box and takes you from an idea to a running app. Vite for AI.

56 lines 3.21 kB
import { type HandoffLevel } from './handoff-level.js'; /** * The per-repo session defaults persisted in `the-framework.yml`: the prompt switches and how far * a finished session publishes itself, so a repo's config travels with the code instead of being * chosen again every session. */ export interface FrameworkFileConfig { /** * Remove the built-in #326 system prompt, keeping the session controls. Default `false`. * * One name for one concept (C3). This key used to be `antiLazyPill` — the historical name of * the prompt's ancestor (#301) — spelled the other way round from the `vanilla` it mapped to * everywhere else, so the file, the preference and the agent option each said the same thing in a * different direction and three comments apologised for it. */ vanilla?: boolean; /** * Transparent mode (#625): make every agent in this project a raw `claude -p` — no framework * system prompt, no emit protocols, no consumption guard, no dashboard, no TODO loop. The * coarse "only-pick-what-you-need" master off-switch, at the per-project tier. Default `false`. */ transparent?: boolean; /** * How far a finished session publishes itself (#1102/#1173/#1216/B5): `local`, `push`, `pr` or * `merge`. Default `pr`. Whether a session publishes itself is a fact about the repo, so it * belongs in the file that travels with it. * * `merge` has to be asked for out loud: publishing a branch is reversible, landing it on the * default branch is not. Meant for work whose review already happened before the session — the * quick-win and consensual routines merge what a plan the human could veto already settled. */ handoff?: HandoffLevel; } /** Config file names read from the workspace root, in precedence order. */ export declare const FRAMEWORK_CONFIG_FILES: readonly ["the-framework.yml", "the-framework.yaml"]; /** * The boolean-valued mode keys. This is the canonical mode list: parsing, the config-layer copy, * resolution, and the resolved-config summary all iterate it, so a new mode is added here once and * flows through them (only its default and any renamed output field are declared per key). */ export declare const BOOLEAN_CONFIG_KEYS: readonly ["vanilla", "transparent"]; /** Every config key, enum then boolean, in declaration order. */ export declare const CONFIG_KEYS: readonly ["handoff", "vanilla", "transparent"]; /** * Read `the-framework.yml` (or `.yaml`) from a directory. A missing file yields * `{}`. Best-effort: a malformed file is reported via `onWarn` and treated as * empty, never a failed agent. CLI flags override whatever this returns. */ export declare function loadFrameworkConfig(dir: string, onWarn?: (message: string) => void): Promise<FrameworkFileConfig>; /** * Parse and validate a `the-framework.yml` body into a {@link FrameworkFileConfig}. * An empty document is `{}`. Throws on a non-map document or a mistyped field so * {@link loadFrameworkConfig} can surface it as a warning. */ export declare function parseFrameworkConfig(raw: string, source?: string): FrameworkFileConfig; //# sourceMappingURL=config.d.ts.map