@felixgeelhaar/cclint
Version:
Catch CLAUDE.md drift before Claude misbehaves. Lints CLAUDE.md, skills, subagents, and hooks for Claude Code projects.
71 lines • 2.67 kB
TypeScript
export declare class ContextFile {
readonly path: string;
readonly content: string;
readonly lines: string[];
constructor(path: string, content: string);
getLineCount(): number;
getCharacterCount(): number;
getLine(lineNumber: number): string;
/**
* Whether this file is a Markdown document (`.md` / `.markdown`).
*
* @remarks
* Used by rules that validate Markdown-document structure so they only run
* on Markdown files, not on other linted config (e.g. `settings.json`).
*/
isMarkdown(): boolean;
/**
* Whether this file is a Claude Code settings file
* (`settings.json` / `settings.local.json`).
*/
isSettingsFile(): boolean;
/**
* Whether this file is a Claude Code plugin manifest — either a plugin
* descriptor (`plugin.json`, conventionally under `.claude-plugin/`) or a
* marketplace listing (`marketplace.json`).
*
* @remarks
* Matched by basename so both the plugin and marketplace manifests are
* covered wherever they live, while ordinary `package.json` / `tsconfig.json`
* files are left untouched.
*/
isPluginManifest(): boolean;
/**
* Whether this file is a Claude Code MCP server configuration (`.mcp.json`).
*
* @remarks
* Matches the dotfile `.mcp.json` and any `*.mcp.json`, but not a plain
* `mcp.json` without the leading dot or a generic `*.json`.
*/
isMcpConfig(): boolean;
/**
* Whether this file is a Claude Code output style
* (a Markdown file under an `output-styles/` directory).
*/
isOutputStyle(): boolean;
/**
* Whether this file is a Claude Code skill (a Markdown file under a
* `.claude/skills/` directory).
*/
isSkillFile(): boolean;
/**
* Whether this file is a Claude Code subagent (a Markdown file under a
* `.claude/agents/` directory).
*/
isAgentFile(): boolean;
/**
* Whether this file is a CLAUDE.md-style context document — a Markdown file
* that is NOT a skill, subagent, or output-style.
*
* @remarks
* Used by rules that validate CLAUDE.md *document* structure (required
* sections, monorepo hierarchy, file location, opinionated guidance). Those
* rules must not fire on skill / subagent / output-style Markdown, which are
* Markdown but not CLAUDE.md documents — otherwise a project-wide lint spams
* "missing section" false positives on every skill and agent file.
*/
isClaudeMarkdown(): boolean;
hasSection(sectionTitle: string): boolean;
private escapeRegExp;
}
//# sourceMappingURL=ContextFile.d.ts.map