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.
43 lines • 1.97 kB
TypeScript
/** Which app to open the project in. */
export type OpenTarget = 'files' | 'editor';
/** A known editor: its launcher CLI plus a human label for the picker (#727). */
export interface EditorInfo {
bin: string;
label: string;
}
/**
* The editors the picker can offer (#727), probed by their CLI launcher on PATH. Order is the
* display order. `$FRAMEWORK_EDITOR` and a hand-typed value stay valid beyond this list; this is
* only what auto-detection looks for.
*/
export declare const KNOWN_EDITORS: EditorInfo[];
/** Whether an editor launcher is installed (on PATH). A seam so detection is unit-testable. */
export type EditorProbe = (bin: string) => Promise<boolean>;
/** The installed subset of {@link KNOWN_EDITORS}, in display order (#727). */
export declare function detectEditors(probe?: EditorProbe): Promise<EditorInfo[]>;
/** The outcome of an open attempt. */
export type OpenResult = {
ok: true;
} | {
ok: false;
error: string;
};
/** Spawns a command, resolving once it launches (not on exit) and rejecting if it can't start. */
export type SpawnRunner = (command: string, args: string[]) => Promise<void>;
/** The OS command that reveals a path in the file manager. */
export declare function fileManagerCommand(path: string, os?: NodeJS.Platform): {
command: string;
args: string[];
};
/** The command to open a path in an editor: `$FRAMEWORK_EDITOR` when set, else the VS Code CLI. */
export declare function editorCommand(path: string, editor?: string | undefined): {
command: string;
args: string[];
};
/**
* Open the project at `cwd` in the file manager or an editor. Failures are values, never throws.
* `editor` (#727) is the stored preference; when unset {@link editorCommand} falls back to
* `$FRAMEWORK_EDITOR`, then `code`.
*/
export declare function openInApp(cwd: string, target: OpenTarget, agent?: SpawnRunner, editor?: string): Promise<OpenResult>;
//# sourceMappingURL=open-in-app.d.ts.map