@felixgeelhaar/cclint
Version:
Catch CLAUDE.md drift before Claude misbehaves. Lints CLAUDE.md, skills, subagents, and hooks for Claude Code projects.
28 lines • 1.29 kB
TypeScript
/**
* Domain policy for context-file content limits.
*
* These caps are a domain invariant: no matter which adapter supplies the
* content (CLI, the GitHub Action, and the MCP server all read through the
* `FileReader` adapter), a `ContextFile` may never hold pathologically large
* content.
* Enforcing them here — on already-provided in-memory content — keeps every
* entrypoint protected without pulling file-reading concerns into the domain.
*/
/** Maximum allowed content length in characters (~10 MB). */
export declare const MAX_CONTENT_LENGTH: number;
/**
* Maximum allowed length of a single line. Very long lines are a common
* ReDoS / resource-exhaustion vector for the rule engine's regexes.
*/
export declare const MAX_LINE_LENGTH = 10000;
/**
* Enforce the content-size and line-length invariants.
*
* @param content The full file content
* @param path A label for error messages (logical or on-disk path)
* @param lines Optional pre-split lines to avoid re-splitting the content
* @throws Error if the content exceeds {@link MAX_CONTENT_LENGTH} or any line
* exceeds {@link MAX_LINE_LENGTH}
*/
export declare function assertWithinContentLimits(content: string, path: string, lines?: readonly string[]): void;
//# sourceMappingURL=ContentLimits.d.ts.map