/** * Gitignore management service * * Handles adding entries to .gitignore */ /** * Check if .gitignore exists */ export declare function gitignoreExists(rootPath: string): Promise; /** * Read .gitignore content */ export declare function readGitignore(rootPath: string): Promise; /** * Check if an entry is already in .gitignore */ export declare function isInGitignore(rootPath: string, entry: string): Promise; /** * Add an entry to .gitignore */ export declare function addToGitignore(rootPath: string, entry: string, comment?: string): Promise; /** * Ensure `entry` is ignored, creating .gitignore when it does not exist. * * Idempotent. This is the single source of truth for the "make sure X is * gitignored" intent — `init` and the `run` pipeline previously inlined this * logic four times, and each copy guarded the write with `if (hasGitignore)`, * so a fresh `git init` repo (no .gitignore yet) never got its entry added. * Returns what happened so callers can choose their own user-facing message: * - `'present'` — already ignored; no write * - `'appended'` — added to an existing .gitignore * - `'created'` — .gitignore did not exist and was created with the entry */ export declare function ensureGitignored(rootPath: string, entry: string, comment?: string): Promise<'present' | 'appended' | 'created'>; /** * Create .gitignore with initial entries */ export declare function createGitignore(rootPath: string, entries: { entry: string; comment?: string; }[]): Promise; //# sourceMappingURL=gitignore-manager.d.ts.map