UNPKG

@felixgeelhaar/cclint

Version:

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

31 lines 1.33 kB
import type { Rule } from '../domain/Rule.js'; import { ContextFile } from '../domain/ContextFile.js'; import { Violation } from '../domain/Violation.js'; /** * Validates Claude Code plugin manifests: the plugin descriptor * (`.claude-plugin/plugin.json`) and the marketplace listing * (`marketplace.json`). * * @remarks * A malformed manifest silently breaks plugin discovery/installation, so this * rule checks the invariants Claude Code relies on: parseable JSON, a required * `name`, a SemVer `version`, well-formed resource path references, and the * shape of a marketplace's `plugins` array. It is a pure rule — it reasons only * over the already-read {@link ContextFile} content and performs no IO. */ export declare class PluginManifestRule implements Rule { readonly id = "plugin-manifest"; readonly description = "Validates Claude Code plugin.json and marketplace.json manifests"; appliesTo(file: ContextFile): boolean; lint(file: ContextFile): Violation[]; private isMarketplace; private validatePlugin; private validateMarketplace; private validateMarketplaceEntry; private requireName; private validateVersion; private validateOptionalString; private validatePathField; private validatePathString; } //# sourceMappingURL=PluginManifestRule.d.ts.map