@blundergoat/goat-flow
Version:
AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.
41 lines • 1.89 kB
TypeScript
type CommitSubjectKind = "conventional" | "ticket-prefixed" | "free-form";
type CommitGuidanceStatus = CommitSubjectKind | "mixed" | "insufficient-history";
/** Subject-style tallies from the recent commit sample used to choose a dominant convention. */
interface CommitConventionCounts {
conventional: number;
ticketPrefixed: number;
freeForm: number;
}
/** Observed commit-history style and metadata rendered into `docs/coding-standards/git-commit.md`. */
export interface CommitConventionDetection {
status: CommitGuidanceStatus;
total: number;
counts: CommitConventionCounts;
conventionalTypes: string[];
subjectLengthP95: number | null;
bodiesUsed: boolean;
coAuthoredBy: boolean;
signedOffBy: boolean;
ticketPrefixPattern: string | null;
exampleSubject: string | null;
gitAvailable: boolean;
}
/** Outcome from trying to create commit guidance without overwriting user-maintained instructions. */
export interface CommitGuidanceWriteResult {
status: "written" | "skipped-existing";
path: string;
detection: CommitConventionDetection | null;
}
/**
* Create the canonical commit-guidance doc from detected history, never clobbering existing rules.
*
* Writes docs/coding-standards/git-commit.md (creating parent dirs) only when it is absent, so a
* project owner's hand-maintained conventions are preserved across re-installs. No .github/
* directory is required - the doc lives under docs/ regardless of which agent is installed.
*
* @param targetRoot - Project root to write commit guidance into; resolved to an absolute path.
* @returns A result describing whether the doc was written or skipped because one already exists, plus the detection used.
*/
export declare function ensureGitCommitInstructions(targetRoot: string): CommitGuidanceWriteResult;
export {};
//# sourceMappingURL=commit-guidance.d.ts.map