@promptbook/templates
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
66 lines (65 loc) • 2.66 kB
TypeScript
/**
* 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 {};