UNPKG

@promptbook/templates

Version:

Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action

66 lines (65 loc) 2.66 kB
/** * File status returned by project configuration bootstrapping helpers. * * @private internal utility of Promptbook CLI project initialization */ export type ProjectInitializationStatus = 'created' | 'updated' | 'unchanged'; /** * Minimal environment variable descriptor used for additive `.env` initialization. * * @private internal utility of Promptbook CLI project initialization */ export type ProjectEnvVariableDefinition = { readonly name: string; }; /** * Result of one additive `.env` initialization attempt. * * @private internal utility of Promptbook CLI project initialization */ export type EnsureProjectEnvFileResult = { readonly envFileStatus: ProjectInitializationStatus; readonly initializedEnvVariableNames: ReadonlyArray<string>; }; /** * Options required to append missing variables into a project `.env`. */ type EnsureProjectEnvFileOptions<TEnvVariable extends ProjectEnvVariableDefinition> = { readonly projectPath: string; readonly emptyFileContent: string; readonly envVariables: ReadonlyArray<TEnvVariable>; readonly buildMissingEnvVariablesBlock: (envVariables: ReadonlyArray<TEnvVariable>) => string; }; /** * Options required to append missing rules into a project `.gitignore`. */ type EnsureProjectGitignoreFileOptions = { readonly projectPath: string; readonly blockHeader: string; readonly rules: ReadonlyArray<string>; }; /** * Ensures `.env` exists and appends only still-missing variable definitions. * * @private internal utility of Promptbook CLI project initialization */ export declare function ensureProjectEnvFile<TEnvVariable extends ProjectEnvVariableDefinition>({ projectPath, emptyFileContent, envVariables, buildMissingEnvVariablesBlock, }: EnsureProjectEnvFileOptions<TEnvVariable>): Promise<EnsureProjectEnvFileResult>; /** * Ensures `.gitignore` contains all required project initialization rules. * * @private internal utility of Promptbook CLI project initialization */ export declare function ensureProjectGitignoreFile({ projectPath, blockHeader, rules, }: EnsureProjectGitignoreFileOptions): Promise<ProjectInitializationStatus>; /** * Reads one text file when it exists, otherwise returns `undefined`. * * @private internal utility of Promptbook CLI project initialization */ export declare function readTextFileIfExists(path: string): Promise<string | undefined>; /** * Appends one text block to existing file content while preserving readable newlines. * * @private internal utility of Promptbook CLI project initialization */ export declare function appendBlock(currentContent: string, blockToAppend: string): string; export {};