/** * Lean-debt ledger: every deliberate shortcut in one place (T13664). * * ct-lean asks for a `shortcut: , ` comment on * every shortcut with a known limit (the convention comes from Ponytail 5.1.0, * DietrichGebert, MIT, which also used `ponytail:`). `cleo lean debt` collects * them so a deferral cannot quietly become permanent, and `--file-tasks` * turns each one into a `lean-debt` task, so the ledger lives in the task * store instead of rotting in a file. * * @task T13664 * @epic T13418 */ import type { LeanDebtItem, LeanDebtReport } from '@cleocode/contracts'; /** Label every filed debt task carries. */ export declare const LEAN_DEBT_LABEL = "lean-debt"; /** * Parse one `git grep -n` line (`path:line:content`) into a ledger item, or * `null` when the content holds no marker comment. * * @param raw - one output line. * @param markers - the marker words. */ export declare function parseLeanDebtLine(raw: string, markers: readonly string[]): LeanDebtItem | null; /** * Scan the git-tracked files of `projectRoot` for marker comments. * * @param projectRoot - the repository root. * @param markers - marker words (default `shortcut`, `ponytail`). * @returns the items, grouped by file in path order. */ export declare function scanLeanDebt(projectRoot: string, markers?: readonly string[]): LeanDebtItem[]; /** The description line that ties a filed task to its marker. */ export declare function leanDebtKeyLine(key: string): string; /** * Build the ledger, and with `fileTasks` file one `lean-debt` task per marker * that has none yet (matched by its key), under `parentId`. * * @param opts - project root, markers, and the filing options. * @returns the report. */ export declare function leanDebtReport(opts: { readonly projectRoot: string; readonly markers?: readonly string[]; readonly fileTasks?: boolean; readonly parentId?: string; }): Promise; //# sourceMappingURL=lean-debt.d.ts.map