UNPKG

@felixgeelhaar/cclint

Version:

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

98 lines 2.72 kB
import type { DetectionResult } from './ProjectDetector.js'; /** * Available template names */ export type TemplateName = 'minimal' | 'typescript' | 'python' | 'go' | 'monorepo' | 'library' | 'api'; /** * Options for scaffolding a CLAUDE.md file */ export interface ScaffoldOptions { /** Template to use */ template: TemplateName; /** Project name (used in template) */ projectName?: string; /** Project description */ projectDescription?: string; /** Overwrite existing file */ overwrite?: boolean; /** Output file path */ outputPath?: string; /** Detection result for smart defaults */ detection?: DetectionResult | undefined; } /** * Result of scaffolding operation */ export interface ScaffoldResult { /** Path where file was written */ path: string; /** Content that was written */ content: string; /** Whether an existing file was overwritten */ wasOverwritten: boolean; } /** * Template variable values */ interface TemplateVariables { projectName: string; projectDescription: string; packageManager: string; testFramework: string; installCommand: string; testCommand: string; buildCommand: string; devCommand: string; lintCommand: string; typecheckCommand: string; formatCommand: string; language: string; modulePath: string; registry: string; packageInstallCommand: string; publishCommand: string; license: string; docsCommand: string; apiType: string; framework: string; database: string; authMethod: string; resource: string; startCommand: string; testCoverageCommand: string; testFileCommand: string; migrationCreateCommand: string; migrationRunCommand: string; migrationRollbackCommand: string; seedCommand: string; workspaceConfig: string; runPackageCommand: string; } /** * Scaffolds CLAUDE.md files from templates with variable substitution. */ export declare class Scaffolder { private templatesDir; constructor(templatesDir?: string); /** * List all available template names */ listTemplates(): TemplateName[]; /** * Scaffold a CLAUDE.md file from a template */ scaffold(options: ScaffoldOptions): ScaffoldResult; /** * Render a template string with variable substitution */ renderTemplate(template: string, variables: Partial<TemplateVariables>): string; /** * Get the best template for a detection result */ getTemplateForDetection(detection: DetectionResult): TemplateName; private loadTemplate; private buildVariables; private getInstallCommand; } export {}; //# sourceMappingURL=Scaffolder.d.ts.map