UNPKG

@felixgeelhaar/cclint

Version:

Catch CLAUDE.md drift before Claude misbehaves. Lints CLAUDE.md, skills, subagents, and hooks for Claude Code projects.

51 lines 1.6 kB
import type { Rule } from '../domain/Rule.js'; import { ContextFile } from '../domain/ContextFile.js'; import { Violation } from '../domain/Violation.js'; /** * Rule that validates bash command safety in CLAUDE.md * * @remarks * Validates that bash commands: * - Avoid dangerous operations (rm -rf, sudo without context) * - Include proper error handling * - Use safe patterns (quotes, error checks) * - Follow Anthropic's safety recommendations * * @see {@link https://www.anthropic.com/engineering/claude-code-best-practices | Claude Code Best Practices} * * @category Rules */ export declare class CommandSafetyRule implements Rule { readonly id = "command-safety"; readonly description = "Validates safety of bash commands in CLAUDE.md files"; private readonly extractor; constructor(); lint(file: ContextFile): Violation[]; /** * Check for dangerous commands */ private checkDangerousCommands; /** * Detect an `rm` invocation that is both recursive (-r/-R/--recursive) and * forced (-f/--force), regardless of flag order or short/long form. */ private isRecursiveForcedRm; /** * Detect a root-path argument (e.g. `/`, `/usr`, `/etc`) while allowing the * conventional temp directories `/tmp` and `/var/tmp`. */ private targetsRootPath; /** * Check error handling */ private checkErrorHandling; /** * Check variable quoting */ private checkQuoting; /** * Check sudo usage */ private checkSudoUsage; } //# sourceMappingURL=CommandSafetyRule.d.ts.map