{"bin":{"claudelint":"bin/claudelint"},"bugs":{"url":"https://github.com/pdugan20/claudelint/issues"},"dist":{"shasum":"f8bcf4542b4c7143a56d54bfc3051cba1527a490","tarball":"https://registry.npmjs.org/claude-code-lint/-/claude-code-lint-0.10.0.tgz","fileCount":940,"integrity":"sha512-gBXEUqvr60zY+j5/t+ek74V+lUv8dKhGWjOxDFdMsc8mr2V/IHIGkbSxUZxRqe4RYS+vpG7GuapJPe45SwiKlg==","signatures":[{"sig":"MEUCICsAxnHryPSRciauQzMw4Erp7abf3pTDTwaRzPhsz6qqAiEA0gSI8mWiVCThUFInWTSoyIHRxv6HJhBVbRoqrhF8iM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFk3epSyW/Uss0mAcKOXUjnP29dcfbLze9athKNI8ApxAiB1+OceubaJlJvy7tkewP/e7DG1BAudm6M446ExzEM5wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-code-lint@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2772531},"main":"dist/index.js","name":"claude-code-lint","type":"commonjs","types":"dist/index.d.ts","author":{"name":"Pat Dugan"},"engines":{"node":">=22.13.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","default":"./dist/utils/index.js"},"./package.json":"./package.json"},"gitHead":"81747ba8b0aed2941faff95a4a7bf7b042e98261","license":"MIT","scripts":{"dev":"tsc --watch","lint":"npm-run-all --parallel lint:ts lint:vue lint:css lint:md lint:pkg:quiet","test":"jest","build":"tsc","check":"npm-run-all --parallel check:emojis check:github-actions-security check:logger-spacing check:logger-usage check:milestone-refs check:publint check:publish-workflow check:upstream-workflow check:schema-docs-coverage","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"**/*.json\" \"website/.vitepress/**/*.vue\"","lint:md":"markdownlint --config .markdownlint.json '**/*.md' --ignore node_modules --ignore etc --ignore temp --ignore docs-baseline","lint:ts":"eslint src --ext .ts","prepare":"bash scripts/util/setup-hooks.sh || true","pretest":"npm run check:types:tests","release":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it","docs:dev":"npm run docs:generate && vitepress dev website","lint:css":"stylelint 'website/.vitepress/theme/**/*.{css,vue}'","lint:fix":"npm-run-all --parallel lint:ts:fix lint:vue:fix lint:css:fix lint:md:fix","lint:pkg":"npmPkgJsonLint .","lint:vue":"eslint 'website/.vitepress/**/*.vue' --max-warnings 0","prebuild":"ts-node scripts/generate/rule-types.ts","validate":"npm-run-all lint format:check build test check:publint","check:all":"ts-node scripts/check/all.ts","postbuild":"ts-node scripts/generate/presets.ts","check:self":"npm run build && node bin/claudelint check-all","docs:build":"npm run docs:generate && npm run generate:og && vitepress build website","release:rc":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it --preRelease=rc","test:watch":"jest --watch","check:links":"node scripts/check/links.js","generate:og":"ts-node scripts/generate/og-images.ts","lint:md:fix":"markdownlint --config .markdownlint.json '**/*.md' --ignore node_modules --ignore etc --ignore temp --ignore docs-baseline --fix","lint:ts:fix":"eslint src --ext .ts --fix","release:dry":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it --dry-run","setup:hooks":"bash scripts/util/setup-hooks.sh","check:emojis":"node scripts/check/emoji.js","docs:preview":"vitepress preview website","format:check":"prettier --check \"src/**/*.ts\" \"**/*.json\" \"website/.vitepress/**/*.vue\"","lint:css:fix":"stylelint 'website/.vitepress/theme/**/*.{css,vue}' --fix","lint:vue:fix":"eslint 'website/.vitepress/**/*.vue' --fix","release:beta":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it --preRelease=beta","test:schemas":"jest tests/schemas --coverage","validate:all":"npm-run-all lint format:check build test check:all","check:publint":"publint","check:schemas":"ts-node scripts/verify/compare-schemas.ts","docs:generate":"ts-node scripts/generate/rule-docs.ts","release:alpha":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it --preRelease=alpha","release:major":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it major","release:minor":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it minor","release:patch":"GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} release-it patch","sync:versions":"ts-node scripts/util/sync-versions.ts","check:deadcode":"knip","check:fixtures":"node bin/claudelint check-all --no-cache","check:rule-ids":"ts-node scripts/check/rule-ids.ts","check:spelling":"cspell 'website/**/*.md' --no-progress","check:upstream":"ts-node scripts/check/upstream.ts","generate:types":"ts-node scripts/generate/rule-types.ts","lint:pkg:quiet":"npmPkgJsonLint . --quiet","package:plugin":"bash scripts/util/package-plugin.sh","prepublishOnly":"npm run build","check:constants":"npm-run-all check:tool-names check:model-names","check:links:all":"remark --use remark-validate-links --frail website/ README.md CONTRIBUTING.md","check:rule-docs":"ts-node scripts/check/rule-docs.ts","check:types:api":"tsd --typings dist/index.d.ts --files 'src/index.test-d.ts'","test:skills:cli":"bash scripts/test/skills/test-cli-commands.sh","test:validators":"jest tests/validators --coverage","check:api-report":"api-extractor run","check:rule-since":"ts-node scripts/check/rule-since.ts","check:tool-names":"ts-node scripts/verify/tool-names.ts","generate:presets":"ts-node scripts/generate/presets.ts","upstream:refresh":"ts-node scripts/upstream/refresh.ts","check:consistency":"ts-node scripts/check/consistency.ts","check:export-sync":"ts-node scripts/check/export-sync.ts","check:file-naming":"ts-node scripts/check/file-naming.ts","check:model-names":"ts-node scripts/verify/model-names.ts","check:schema-docs":"ts-node scripts/check/schema-docs.ts","check:schema-sync":"ts-node scripts/check/schema-sync.ts","check:types:tests":"tsc --noEmit -p tsconfig.tests.json","check:api-examples":"tsc --noEmit -p tsconfig.api-examples.json","check:code-samples":"ts-node scripts/check/code-samples.ts","check:logger-usage":"bash scripts/check/logger-usage.sh","check:source-paths":"ts-node scripts/check/source-paths.ts","test:skills:manual":"echo 'See scripts/test/manual/manual-testing-runbook.md for manual test protocol.'","check:rule-coverage":"ts-node scripts/check/rule-coverage.ts","check:rule-patterns":"ts-node scripts/check/rule-patterns.ts","sync:versions:check":"ts-node scripts/check/version-sync.ts","check:fixtures:valid":"cd tests/fixtures/projects/valid-complete && node ../../../../bin/claudelint check-all --no-cache","check:logger-spacing":"bash scripts/check/logger-spacing.sh","check:message-length":"ts-node scripts/check/message-length.ts","check:milestone-refs":"bash scripts/check/milestone-refs.sh","check:rule-structure":"ts-node scripts/verify/rule-structure.ts","test:skills:metadata":"jest tests/skills/metadata.test.ts","check:message-content":"ts-node scripts/check/message-content.ts","check:rule-docs-audit":"ts-node scripts/audit/rule-docs.ts","check:rule-references":"ts-node scripts/check/rule-references.ts","generate:json-schemas":"ts-node scripts/generate/json-schemas.ts","generate:schema-rules":"ts-node scripts/generate/schema-rules.ts","test:skills:automated":"npm-run-all test:skills:structure test:skills:cli","test:skills:structure":"bash scripts/test/skills/validate-self.sh","check:fixtures:invalid":"cd tests/fixtures/projects/invalid-all-categories && node ../../../../bin/claudelint check-all --no-cache","check:hardcoded-counts":"ts-node scripts/check/hardcoded-counts.ts","check:publish-workflow":"bash scripts/check/publish-workflow.sh","check:rule-option-docs":"ts-node scripts/check/rule-option-docs.ts","check:api-report:update":"api-extractor run --local --verbose","check:upstream-workflow":"bash scripts/check/upstream-workflow.sh","check:orphaned-rule-docs":"ts-node scripts/check/orphaned-rule-docs.ts","check:rule-docs-sections":"ts-node scripts/check/rule-docs-sections.ts","check:deadcode:production":"knip --production","check:rule-implementations":"ts-node scripts/verify/rule-implementations.ts","check:schema-docs-coverage":"ts-node scripts/check/schema-docs-coverage.ts","check:rule-option-interfaces":"ts-node scripts/check/rule-option-interfaces.ts","check:github-actions-security":"ts-node scripts/check/github-actions-security.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"22e266c5-cfed-4c98-8a82-a3024e4caf38"}},"homepage":"https://claudelint.com","keywords":["claude","claude-code","validation","linter","cli","developer-tools","programmatic","api","nodejs","typescript"],"overrides":{"satori":{"fflate":"0.7.5"},"vitepress":{"vite":"6.4.3"},"release-it":{"undici":"7.30.0"},"markdownlint-cli":{"js-yaml":"$js-yaml","run-con":"1.3.3"}},"devEngines":{"runtime":{"name":"node","onFail":"error","version":"^22.22.2 || ^24.15.0 || >=26.0.0"}},"repository":{"url":"git+https://github.com/pdugan20/claudelint.git","type":"git"},"_npmVersion":"11.19.0","description":"Comprehensive linter and programmatic API for Claude Code projects - validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more","directories":{},"lint-staged":{"*.md":["markdownlint --fix --ignore etc --ignore docs-baseline"],"src/**/*.ts":["eslint --fix","prettier --write"],"package.json":["prettier --write","npmPkgJsonLint ."],"schemas/**/*.json":["prettier --write"],"src/rules/**/*.ts":["ts-node scripts/check/rule-patterns.ts"],"website/.vitepress/**/*.css":["stylelint --fix","prettier --write"],"website/.vitepress/**/*.vue":["eslint --fix","stylelint --fix","prettier --write"],".github/workflows/*.{yml,yaml}":["prettier --write"]},"maintainers":[{"name":"patdugan","email":"dugan.pat@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ora":"^9.3.0","zod":"^4.6.4","diff":"^9.0.0","glob":"^13.0.0","jiti":"^2.6.1","chalk":"^6.0.0","ignore":"^7.0.9","js-yaml":"^5.4.2","inquirer":"^14.2.2","prettier":"^3.1.1","commander":"^15.0.0","minimatch":"^10.1.1","text-table":"^0.2.0","markdownlint":"^0.41.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsd":"^0.33.0","vue":"^3.5.28","jest":"^30.2.0","knip":"^6.35.1","husky":"^9.1.7","sharp":"^0.35.1","cspell":"^10.3.1","eslint":"^10.10.0","satori":"^0.33.4","publint":"^0.3.17","ts-jest":"^29.4.12","ts-node":"^10.9.2","stylelint":"^17.2.0","vitepress":"^1.6.4","@eslint/js":"^10.0.1","png-to-ico":"^3.0.1","release-it":"^21.0.2","remark-cli":"^12.0.1","typescript":"^6.0.3","@types/jest":"^30.0.0","@types/node":"^22.20.2","emoji-regex":"^10.6.0","lint-staged":"^17.5.1","satori-html":"^0.3.2","npm-run-all2":"^9.0.3","postcss-html":"^2.0.0","@commitlint/cli":"^21.2.2","@resvg/resvg-js":"^2.6.2","@eslint/eslintrc":"^3.3.3","markdownlint-cli":"^0.49.1","@types/text-table":"^0.2.5","@vercel/analytics":"^2.0.1","eslint-plugin-vue":"^10.7.0","vue-eslint-parser":"^10.2.0","@types/json-schema":"^7.0.15","eslint-plugin-jsdoc":"^64.3.10","eslint-plugin-tsdoc":"^0.5.0","npm-package-json-lint":"^11.0.0","remark-validate-links":"^13.1.0","vitepress-plugin-llms":"^1.14.0","@vercel/speed-insights":"^2.0.0","eslint-config-prettier":"^10.1.8","@microsoft/api-extractor":"^7.59.1","@typescript-eslint/parser":"^8.70.0","prettier-plugin-packagejson":"^3.0.0","@commitlint/config-conventional":"^21.2.2","@typescript-eslint/eslint-plugin":"^8.70.0","stylelint-config-recommended-vue":"^2.0.0","@release-it/conventional-changelog":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-code-lint_0.10.0_1791131646524_0.7934762155150956","host":"s3://npm-registry-packages-npm-production"},"_id":"claude-code-lint@0.10.0","version":"0.10.0"}