/** * Pure path classifier for contribution-mode file hygiene: decide which paths * are HubLaunch's own artifacts and must never reach the PR (head) branch. * Deterministic, no I/O — the bash in `ralph-run.sh` mirrors these values when * seeding `.git/info/exclude` and stripping the index. */ /** * The exact glob lines the bash appends to `.git/info/exclude` in contribution * mode. Directory-level entries (`.hublaunch/`, `.claude/`, `.agents/`) are * supersets that cover the lessons flow too — but lessons are never staged, so * the dirty-tree retry/empty-run filters are unaffected. `.agents/` covers the * skills `hula init` writes there (`.agents/skills//SKILL.md`), which * must never reach a guest PR branch. Exported so the TS test asserts the list * and the bash mirror cannot silently drift. */ export declare const CONTRIBUTION_EXCLUDE_GLOBS: readonly string[]; /** * True when `repoRelPath` is a HubLaunch artifact that must be kept off the PR * branch: anything under `.hublaunch/`, `.claude/`, or `.agents/`, and the * top-level `ralph.md`, `launch.md`, and any `*_RALPH_LESSONS.md` file. A * normal source file (`src/index.ts`, `playwright.config.ts`) is never * excluded. */ export declare function isContributionExcludedPath(repoRelPath: string): boolean; /** * Cross-reference hygiene (contribution Phase 1, FR-9): the upstream issue/PR * number must never appear in a fork commit message or branch name. `Closes #N` * belongs only in the upstream PR body. This guard detects a GitHub-style issue * reference — a `#` immediately followed by digits — in fork-side text. * * It deliberately matches `#` only, not bare numbers: fork branch names * routinely contain digits (dates, versions, SHAs) and commit messages contain * numbers; it is the `#N` *reference* that silently cross-links the fork to the * upstream issue/PR and must be kept off the fork. */ export declare function containsUpstreamReference(text: string): boolean; /** * Assert that a fork-side branch name and commit messages carry no upstream * issue/PR reference (`#N`). Returns the offending strings (empty when clean) * so the caller can fail with an actionable message rather than silently * leaking a cross-reference onto the fork. */ export declare function findUpstreamReferenceLeaks(input: { branchName?: string; commitMessages?: readonly string[]; }): string[]; //# sourceMappingURL=contribution-hygiene.d.ts.map