{"_id":"@yawlabs/ctxlint","_rev":"62-b2acd22a0bd41c03db5fd48c331ae635","name":"@yawlabs/ctxlint","dist-tags":{"latest":"0.22.0"},"versions":{"0.1.0":{"name":"@yawlabs/ctxlint","version":"0.1.0","keywords":["claude","agents","context","lint","claude-md","agents-md","ai-coding","context-engineering","mcp"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.1.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"abeaa0953904579744feda4cf36f330e17fc3635","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.1.0.tgz","fileCount":5,"integrity":"sha512-77yhpFLgY1gNpTb942Mw30EKRpzRDWay19zWkyXXLsskBBf3dgNu8MvQK4yZor3LCQwCmRMzz+yU5qeyOBw8fw==","signatures":[{"sig":"MEUCIFcp/uWd3Yakct3QPveD8VHlEbMSdRnWI9WzsX7v8UUBAiEA8iU6ij3SqVz25ATemgh6vNy/mLR0/URaSfv2a+9fZDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74120},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"9c330cb40dec78c84295d184c7e71c1096a3fb4e","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.1.0_1775429358629_0.38197554469276995","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@yawlabs/ctxlint","version":"0.1.1","keywords":["claude","agents","context","lint","claude-md","agents-md","ai-coding","context-engineering","mcp"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.1.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"2bd518c7ea7481fec9da053190045463882132b8","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.1.1.tgz","fileCount":5,"integrity":"sha512-P35oMagoZTYte5bX8Ev29JehY35icxtzrZzfliX68WtBHmiXLiORd7MAqPmbtMbK/2mCeMpEZzRoQyHkHBP20A==","signatures":[{"sig":"MEYCIQCIh6NbXuoV3ScG+MmWZqNGP2uL0XnaTJPpnkCWPJgkjwIhANFXzEAOd8S2cGsqQItrv0GM+QxebxrK0bhO67LzrY8Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75483},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"4d65be879319105d78c6f840bf36e169391adb76","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.1.1_1775430394429_0.2013485895552405","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@yawlabs/ctxlint","version":"0.2.0","keywords":["claude","agents","context","lint","claude-md","agents-md","ai-coding","context-engineering","mcp"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.2.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"e1761a9bead3ed942535986120835e24048e4a85","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.2.0.tgz","fileCount":5,"integrity":"sha512-QDnr9p6g5yrBoOXCklUU5TVK+rfZPHImwijjtG5dgxl1+1UFC52zpq2O+UgeuVl9Y0rRf2HFA3mGFxyydh2DrQ==","signatures":[{"sig":"MEQCIH0pY3qM3qJy7OFyhdo5VYq+6D1WAdS6gtVTimdOiAH8AiBZY9ZSPqu6zSKFMQeb33SsZW11AN7PjPGZIQvoF2KYEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80643},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"7454050853147d4ede74e0e2e23599d826b41fc6","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.2.0_1775431148924_0.6583169949919316","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@yawlabs/ctxlint","version":"0.2.1","keywords":["claude","agents","context","lint","claude-md","agents-md","ai-coding","context-engineering","mcp"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.2.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"b7ecec1062420138e163f918906c5bda1363e1ed","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.2.1.tgz","fileCount":5,"integrity":"sha512-6XW8MsNHn7jWlKBuyvrRHxJiMIgZmV7AbayB7IImEbZwrr78nzHE6XaoAFeHiG42k6qBpQ3COVDPMtgkAi91iw==","signatures":[{"sig":"MEQCICRxYWOFl6o8iavmd2yahhzU3pyLbdVh4WoembH5+5DxAiBeMsYVaZEBNqgq9LTxjnhuAeQkYUu7rI0/QkhdMj4cBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80643},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"7d5df7f69f052a6724c8df0cb3175262ff191d07","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.2.1_1775431618673_0.46243834161527864","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@yawlabs/ctxlint","version":"0.2.2","keywords":["claude","agents","context","lint","claude-md","agents-md","ai-coding","context-engineering","mcp"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.2.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"48174798c9c83ee11045ae6c312b45a337f4d37a","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.2.2.tgz","fileCount":5,"integrity":"sha512-l6vZNojFyLqYmbaEVxhnd89e53qWtasEw1HqKuTLebcSSxiyysn9VrpXJSF3nLwjeM1ffxM4dMXSHvHi4p6elg==","signatures":[{"sig":"MEUCIAo2NgkbJ5tNzCnu+cd3eXEP31JZFoquACYVYNBoad4BAiEAsY+qQ5mWzxEbzc5dBt/mEX9wKDnzZUDbrRDwTxFz4NY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83522},"type":"module","_from":"file:yawlabs-ctxlint-0.2.2.tgz","engines":{"node":">=20"},"scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"_resolved":"C:\\Users\\jeff\\AppData\\Local\\Temp\\5dd6e07a5c39bb49c018f2db753aa2bd\\yawlabs-ctxlint-0.2.2.tgz","_integrity":"sha512-l6vZNojFyLqYmbaEVxhnd89e53qWtasEw1HqKuTLebcSSxiyysn9VrpXJSF3nLwjeM1ffxM4dMXSHvHi4p6elg==","deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.2.2_1775490885841_0.7515746760198112","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@yawlabs/ctxlint","version":"0.3.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.3.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"2f172533e9f1391cf55a02786866ba1e26e1b890","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.3.0.tgz","fileCount":5,"integrity":"sha512-oJWPdXsZErKBvUlJSSBj5efu1qg4IIVqFId3u/I+iyjKsxRE2trwut+g5ZYqNsIkVskhxmU9tGrExt4VYvsatw==","signatures":[{"sig":"MEYCIQCDhsNa/c1zb4VUUuHq47z3G8OWzXPo+OfyTv291YewagIhALJYM972Hq1E2OcGDgEqiAdNJgWfRKboEjDj22oJhSxu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119951},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"948a27acb31ab1ba200b72d616d0ff8efd1dc875","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"11.9.0","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.3.0_1775527449370_0.010188473257795927","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@yawlabs/ctxlint","version":"0.4.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.4.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"a040006e75ea0ef665b7e66560fe635af5fae4f9","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.4.0.tgz","fileCount":8,"integrity":"sha512-r8dO6dLfLREWYhXYaKnxJ//PgwHvL3QVFvvp/0urojcsPMH5VdVmz5KLd3Iiu3QwycyW3N4A4Ba+Ln+BREF7wA==","signatures":[{"sig":"MEUCIQD5k/m1irKgrFOeLhxi8cYlpT33DVOivE3KlKKoslw9rgIgAWGAYZCsdx0t+AgpDQv9BMYJHikxFPgs4BcL9SDMWE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128569},"type":"module","_from":"file:yawlabs-ctxlint-0.4.0.tgz","engines":{"node":">=18"},"scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"_resolved":"C:\\Users\\jeff\\AppData\\Local\\Temp\\e6b3ff329e59326b5c2808ae2216136e\\yawlabs-ctxlint-0.4.0.tgz","_integrity":"sha512-r8dO6dLfLREWYhXYaKnxJ//PgwHvL3QVFvvp/0urojcsPMH5VdVmz5KLd3Iiu3QwycyW3N4A4Ba+Ln+BREF7wA==","deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.4.0_1775589345092_0.8888898433712342","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@yawlabs/ctxlint","version":"0.5.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.5.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/yawlabs/ctxlint","bugs":{"url":"https://github.com/yawlabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"d98346e236889e67d85667a42fb900832ece08c1","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.5.0.tgz","fileCount":8,"integrity":"sha512-hUL09AOKy6iNpt0Tt4vKzyB78njksz8NwR2mVaFkojVjQNEfmfxmlWpCTFKswcQKaUX5NDJcKZaCgsUeE8P0sw==","signatures":[{"sig":"MEQCIBMly/iN8DFgOy7Yn2bB2AW+iV1xNTWjcUmH4J5PURdkAiBS9YPQOdQ4zw8UXy/qTwxBIXWB24W1xX6B2nVX88g3Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206671},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=18"},"gitHead":"237869a3a275d77ce928afe90858952d01cf1ddc","scripts":{"dev":"tsup --watch","mcp":"node dist/mcp/server.js","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/yawlabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","tiktoken":"^1.0.22","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.5.0_1775597103396_0.6538012698284259","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@yawlabs/ctxlint","version":"0.6.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.6.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"f1d44d480e2a6c7cc7e37ab0c783c7889cf5dd32","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.6.0.tgz","fileCount":17,"integrity":"sha512-QlRHaz4iqkHUTUdHvzOAFZfhcL0UvtOJUIKyPj1oQhexDo20fsmYHOlv5fe3u0Dm8Nvbv5bTpVZZeHTlF7etmg==","signatures":[{"sig":"MEUCIQCJMyubi4ZR0Jys4yHNw+LCBb56hMrsM8PDCtXyM1ckbQIgf410WwfeJ1JiSO7itMQRpAp8NKyHejPpIcVTHvIWvNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":326147},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"9bbbe206686e6f5821fad3fa49d17a9932fffb0c","scripts":{"dev":"tsup --watch","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files and MCP server configs against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"optionalDependencies":{"tiktoken":"^1.0.22"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.6.0_1775622090651_0.5627424908581147","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@yawlabs/ctxlint","version":"0.7.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.7.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"0df662de7a6fa46882894634a9b7b01877ee2c0a","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.7.0.tgz","fileCount":19,"integrity":"sha512-muJupTWD83eV7j2LoQgyJ7fQ2zblWRIf5otZkQmGCHxhD2O1yOgXVTFNXWzt8EWSk718+Z/KszwApGmAWe/v6A==","signatures":[{"sig":"MEQCIErZnJhX47xhoEy+QTI7bQ+LgfsK2wsGEEwFrNQzaiDWAiBXXEUlo4Ium4IbAk7f0K6vC8+oTZZg5w3ciSYIGrfRqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":393197},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"31126dd1a12a9893f20006b39f586c78ef6a2c22","scripts":{"dev":"tsup --watch","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"tsup","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","chalk":"^5.6.2","commander":"^14.0.3","simple-git":"^3.33.0","fast-levenshtein":"^3.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.5.1","eslint":"^10.2.0","vitest":"^4.1.2","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.2","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4"},"optionalDependencies":{"tiktoken":"^1.0.22"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.7.0_1775631146203_0.2066137411086313","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@yawlabs/ctxlint","version":"0.8.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.8.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"2b14d0bf6f3b7dae6a40ab8003abb29f0f8b8435","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.8.0.tgz","fileCount":12,"integrity":"sha512-hRq5sYz/NpARHEhTqLwDGdg46HPD66EBbYXl/5fL2it8reVQ8M7dDRJKJ86+mt91+3W4kn3Q1exBtPoO+nddpQ==","signatures":[{"sig":"MEUCIF7ZoUkJJbTJw4ADeTohERlgLATI7TMX0KyPERpUqs1mAiEA0mpTncpm06vlf2sln59mXBHTM/9U3cVXbCJGVt5DZmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2033213},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"e4af0faf815045e547dc87352981b231e3dc79e8","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.2","esbuild":"^0.25.0","prettier":"^3.8.1","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.33.0","typescript":"^6.0.2","@types/node":"^25.5.2","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.8.0_1775671012446_0.21643875139168878","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@yawlabs/ctxlint","version":"0.9.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"8d5c217a782d028351f68d8c16986eee6b8a1dcd","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.0.tgz","fileCount":12,"integrity":"sha512-XDX9kDRDUut5uQaqiR/Yjqt6U6ZKQTnj1JNoIoXSiPA5cE1Or92alaClLm3mBk9+BlUd1gwj5pLA3rRb5Exy/w==","signatures":[{"sig":"MEQCIHlbFF6ie3BcF6oXptypfvENmKqmGbeWoh4ygNs3+muzAiBSAQ7HlMuOSC+9Y8HyEt8BJ7OqhXdvCICwyFq5fb4BRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2054774},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"14ca6e763ff718a7df7a31fee2a65aac03f3112d","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.2","esbuild":"^0.25.0","prettier":"^3.8.1","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.33.0","typescript":"^6.0.2","@types/node":"^25.5.2","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.0","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.0_1775782638528_0.8029046616103972","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@yawlabs/ctxlint","version":"0.9.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"a65d2160215f581d7bbfe0d7e8c697b7df355046","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.1.tgz","fileCount":12,"integrity":"sha512-AKYc3qzmYYmIZTWgcQjYmgMMR7qK2En+6czPoF9ElN03GONfET1O1MLnzPv3WPBvtqYsCuQjpzWgYo67B4VCtg==","signatures":[{"sig":"MEYCIQCdVd7Fmty8Y52zb1z/GXGFm6L7odN+r9DMvR4n9UysBQIhAMZZnsaAKV5y/jhOkbnKgm9KZHqzPyqppTMcqLzwY8oK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2073229},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"0d2765f50dc53d16e3c249dfc7d7125f714b2290","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.1_1775874040962_0.3891089305670561","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@yawlabs/ctxlint","version":"0.9.2","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"21716e4d1dd0638e5498dcd4b87576136c0252c5","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.2.tgz","fileCount":12,"integrity":"sha512-YACfm0pC4luFpHamPEEA4RQrMZL+HRYq7OCBocTQwj4/gMxsdBNIr55SV6O7snDf54HlMXNe0fUJaHEENImeig==","signatures":[{"sig":"MEQCICiVhY4zgD2mib7KupszCyU9V0zV0sZbUoJ++eIzguLbAiAFEQBZnQnHrbG4WBTIuWKD4+j2oS2joaQOKQt8rDhdOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2089989},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"b09d2a93d569f5794fa8e4d0a68d7284ea6065ec","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.2_1776018489250_0.988141422840048","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@yawlabs/ctxlint","version":"0.9.3","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.3","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"6619c68185bdcd2b5972f8bce0a7015d4bffd61c","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.3.tgz","fileCount":12,"integrity":"sha512-mZdbde/p1BYGCENOYJfIdejmXGmgTJ/fzFD/jrP7DoNgLKTKyUawtkoY/1M6f+Kd+b4NttK/6sBZ2vxPUvthaQ==","signatures":[{"sig":"MEUCIFssrHKsM2CpOWxeVGCxcwuiHKMeutmwc0k/UWElrQqRAiEA6poWRbyybXhtCyuVd2uIPLiCGdhFx8BNnNzKcIoNJbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2100876},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"71ae8cbec27f6e633e94022f60d21b4bb6166b29","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.3_1776021625532_0.09954375806102345","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@yawlabs/ctxlint","version":"0.9.4","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.4","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"b434320458208e8588dddef833812074d44d2d33","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.4.tgz","fileCount":12,"integrity":"sha512-bkpQ5xI+DsNlLOih1Iel5BfN8TtMXBZSynAreYiqyO8scxWoXh7qXQqDXvRTlf5KP2ev9V6BdMO4NRt70kpPog==","signatures":[{"sig":"MEUCIDwqJnloN9b/Vv9eKVr+ppKk4xRsubx6s4uD9xTB5J69AiEAx5r/Ph6qcbVDHsH04pd1nHzcXdoMxQRgDTj1R9VubzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2107007},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"291dd8c909c3a78136bfb5dd7ae23d86e5e5c229","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.4_1776024650834_0.5421563607608213","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@yawlabs/ctxlint","version":"0.9.5","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.5","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"10a6058af214f920daed9401a30acbfbbdbb1869","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.5.tgz","fileCount":12,"integrity":"sha512-01y7NIiFsWqrYxi7+uHTnvJcHzcdZj6ahr0RgM2ozo289Nlfhri+VglDYorY26DKx+ttQ2NDmjadsXF9tM7hiA==","signatures":[{"sig":"MEQCIBhTh3G7NdA20/zG615Rw+zWwXdTO51dSQ0rfzSNbRt3AiAx+2seblUSO10OR0Tq7e+WpcFdlkYHOMQyeFrYIqwonw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2105049},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"bad1268772dfe163b3fed0f980edd3bcf4a48c9d","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.5_1776025669275_0.8787872080055048","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@yawlabs/ctxlint","version":"0.9.6","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.6","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"43fbd5078293bfd624627f710433bc47c44a3bcb","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.6.tgz","fileCount":12,"integrity":"sha512-oHYGdQ83YAAT6AyIINlxhOqa+Hpk8hejk9lrC3zJ6bjKXNOWg0NG80jjmztfxB76YfpHDpCLKG8zF2+LvUCN6Q==","signatures":[{"sig":"MEYCIQDeA9xuGDRPAYjeJdxEgug6N+Ui7xLrrO7C84JZvewG4QIhAIBhSl2tfebRk/mXgWSpOzjAyU0P5nyN/gUHm7K7UoVY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2092382},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"9d5b17c84a6c5ae956aa4029072ede99f4705ddd","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.6_1776028640981_0.6783642240774417","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@yawlabs/ctxlint","version":"0.9.7","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.7","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"290f94082c71f8b72b5b7cd31eb119f4636bac56","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.7.tgz","fileCount":12,"integrity":"sha512-yCyDS1Z2qVkKl5gwfO50WINNq14ZAwHALOyS4URSVuGwnr6LzDNb6nVeVck5ltmX1Y1FpVbjw2b+fE6gvmEIDQ==","signatures":[{"sig":"MEUCIA5rkU8E6GYeK5Eg4CAsM3gkjk7yNCTb/If+lB9IYYdYAiEA+dNfcskCEPke0ECqUeFM/100fUr72v+9kvcYgRHngbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2097948},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"af7c7b795534fc0724310736b4158b8a2191db29","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.7_1776029188096_0.9455579861342707","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@yawlabs/ctxlint","version":"0.9.8","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.8","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"8506e2310cca932f7ba838beeb64065999a88639","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.8.tgz","fileCount":12,"integrity":"sha512-td0FL3ZpHyEvBAqYmpGd9X9WzYcLvti8Pn7az7J4CcnIPUY9vgkNh3ixkYGaLIvMP7e65dD6JdknRR9KNzqupw==","signatures":[{"sig":"MEQCIGAFDapeTZmsl75oBwxFnvUqctm16ymbKLbNv7x0WtXJAiB19CzYYngjvTHjzR+SiXGY8EDYDMnQYj4b949hbALXFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2098162},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"a4a2634df177fd7ea71602adc31395439f5c27ce","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.8_1776031134133_0.775418574135949","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@yawlabs/ctxlint","version":"0.9.9","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.9","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"d5215e6653ba775e43de8ffa7171008f8436f7d9","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.9.tgz","fileCount":12,"integrity":"sha512-RZVhftk4Yco0TCI4+gcGyp5lNYU6JhEwYdMQrxx91dzY/53ib7tHDV5qxyXDNOUh70YeiC+mkpJ7t5DZavPjEA==","signatures":[{"sig":"MEQCIG6sEtA21ehi9wlRwIvAILWEBME57KlMIDKhSnvD5X0RAiBstpBXGinzGm0mdvvDMA71EiHp+LzDzhjGorzoUGy4tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2099007},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"cdaf56c4818a387b63afaa94b1f629103885e66c","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.9_1776129144134_0.6951900826538198","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@yawlabs/ctxlint","version":"0.9.10","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.10","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"6ec0b15ec2d26aea1335b05ed353f05de9128dd4","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.10.tgz","fileCount":12,"integrity":"sha512-1ZwYI6uzLsJ7nvyEk2bPekAjwb9dwG1JqsxMPCeIM9ylkQRkcmbyPW8q3JpN4LXIPTrHjA2UW5/tqlgH+oppfQ==","signatures":[{"sig":"MEQCIBE/sHToiBwTuWA35U29jhMRFtz20scBD7PVVtxYKsJdAiAJc1UnkbolI0ufPouEwvYQw64fQ6Ljjb7Uz6Y8uGQYjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2099236},"pnpm":{"overrides":{"hono":"^4.12.12","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"434e19d1dec6d89ef7b6fdd826a65cf18ad1d094","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.10_1776190188302_0.6750982137770762","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"@yawlabs/ctxlint","version":"0.9.11","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.11","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"8c606ab584886c7f031db9aadf5a5e66f6607c8e","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.11.tgz","fileCount":12,"integrity":"sha512-GB2TR6Keo5m5mfHf20OmLeNA51yJk4aiSrcVslrkFNwxsQ10YDb7uQPK/Ah3F6/0Ds6rrf3oGIhfGLDgye5W4Q==","signatures":[{"sig":"MEUCIBTKw6aXCZURgulX4ynKRbunEtmgsrM7r9R6X1t817NJAiEAmpE9Cm4MDpuELMsZVGj6k+lfZWW9Z/uAGLToi/PGZgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2100459},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"982237e3b34c16d65df74240acddc973598b4293","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.11_1776355753509_0.9912613091469935","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@yawlabs/ctxlint","version":"0.9.12","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.12","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"e579bbdfd1249f4c0bfe570f3ee3e79fc0cd3a2e","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.12.tgz","fileCount":12,"integrity":"sha512-K8KfxqEHdECmemRuVZwBNntoCotCK0C4iDG2akf5k4VaXpWs4uNhGGdF4J65CfhjQU/ZaAoEZmYOm2Mbn4HMog==","signatures":[{"sig":"MEYCIQDuqCUivPwZAWvxTVLaulxE++KNPzh9p5U0PI/eK7qYAgIhAOJDACMW2MpiRrb7LevYJQ+Ss2GixiicNQbxIBOx+vxf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2100583},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"bd32520b18f3bbae3987b062185009f011e7a8eb","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.12_1776356217856_0.6801009147819739","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@yawlabs/ctxlint","version":"0.9.13","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.13","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"195df314f5a8427991db53771f8663ef8612837d","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.13.tgz","fileCount":12,"integrity":"sha512-zSH6i3uIiAPvnmaPjYh3aXcYZa2aPgL3q+Eanvm/24aTd+Or2hbt4bh/a1y2B4ECSgjKX8Y3Rvj8oZYyBEaE3g==","signatures":[{"sig":"MEYCIQCRqLNSTfk3VcAFC6UXfUWeTHz+RNQw5Q3lke9HeoZtMgIhAPyWP3gHE+HNyRvVe1p7GINH8vIPV9nj7UvGSV7vH+Ag","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2100744},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"c22e71b57a07c6f3bc789088e43943e88c0c9012","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.13_1776357282001_0.7782762388082585","host":"s3://npm-registry-packages-npm-production"}},"0.9.14":{"name":"@yawlabs/ctxlint","version":"0.9.14","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.14","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"47bb338d5929107772d41311353051f923a357ad","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.14.tgz","fileCount":12,"integrity":"sha512-j5541qrc6o7MUSdVB3Yls6HJ1/iG9FmWMwwE/FkUXPhCQAi20EldYEKStk66sBTlKnaR1ZXJnfS0/dzPWEGacw==","signatures":[{"sig":"MEYCIQC3bjyCMPd+ayl47VqLmfUHr2u0QxdsP+z4u4chn46rPwIhAOKm5CWV5c0Dalwn86EpHbbgmeZSD6PAX/3ASecYqNGA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2100732},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"061fc83aceab93c9e1725cca0ce0c35f0eef1df9","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.14_1776357946607_0.4501759474689313","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@yawlabs/ctxlint","version":"0.9.15","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.15","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"45711947d17e2b0e8fc43bca566c4f57e0658c82","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.15.tgz","fileCount":12,"integrity":"sha512-OtvTz8Z/b94YXfe4EJB1yeQvhqsQFHmMHdfCrAd+GtyRiXN482Mt2fvst9SdF+TaEwvejZ6xFuF+44C7VMa+vA==","signatures":[{"sig":"MEUCIQChq/BRmLYgrI9JwAm3pmITfh/gN7+8x93SN4Hp7/carwIgViwsLaUVw41sFXQoS/N0XR9WJh19/WHgk+Kkc6yqi+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2101126},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"ac5a178c767679c558342d8d457edafc31fff708","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.15_1776374992387_0.08145917544525871","host":"s3://npm-registry-packages-npm-production"}},"0.9.16":{"name":"@yawlabs/ctxlint","version":"0.9.16","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.16","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"d4ad77d8da26f1b342a44fd7766af4d36a58ee9c","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.16.tgz","fileCount":12,"integrity":"sha512-0sQOPa3we6HQDmqJYCCW+xq5teVHyhmQk7JjOwxPsn2acSEnQwxuHLjbgZix1VjX1nr24bcNbSHL+wHYf2Mtkw==","signatures":[{"sig":"MEQCIBb7ZFUQNiaFYrYoi0aA3Y185suzdyNIU68IWTf/tb30AiAVrVOPd9V9VPSmoQ6oBtkrreNSXL7PViQsH17AZkDM2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2101705},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"4bce7bb9915f18d5db7f203497fe5e84ff88a6d7","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.16_1776375593963_0.7427999909563576","host":"s3://npm-registry-packages-npm-production"}},"0.9.17":{"name":"@yawlabs/ctxlint","version":"0.9.17","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.17","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"e9b2b93bcd3d6d3d7d36632665dbb0c39808bb87","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.17.tgz","fileCount":13,"integrity":"sha512-flz3q1lZ741/UBznRZmmmwWnjQvPGruqRNtF6LlS/AQ54fIBLXCwAy9Ik340ZFD6QbmW7O8dW4+L+pKWs21lZQ==","signatures":[{"sig":"MEYCIQCw8qtk34QvkEiUxvWJ9PTss9VwEwgywytzrwySCiWGQQIhAN7QxELHg6bvkAKP4gSlBwOj3tdbL31tCigrB+T5ruWg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2160011},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"6b6382b4cfa652b4f09ba942b24e21182e36f96f","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.17_1776384029858_0.5405503656544886","host":"s3://npm-registry-packages-npm-production"}},"0.9.18":{"name":"@yawlabs/ctxlint","version":"0.9.18","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.18","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"e772cc32fab9df87cd712bee6be341d4230f2a08","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.18.tgz","fileCount":13,"integrity":"sha512-qrELOBCaVrIjARjFACfdU+EhTMWzo9E89eGfy6IC4WT08mGIoNOccUhp5OKsyepJTfJGRBqadYnDjcO876jPWg==","signatures":[{"sig":"MEUCIC6A0yjMKnujIogeh7WDnqrvzWF58VBPtFI8IMDfp7p8AiEAz/8nQnmvC73x0QA4dnLtgF7woSzstawLUSoLwlVA/Jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2160433},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"0f00b8fe184ac3144e832824fbb867da05b6e1f4","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.18_1776973970996_0.21985748663631188","host":"s3://npm-registry-packages-npm-production"}},"0.9.19":{"name":"@yawlabs/ctxlint","version":"0.9.19","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.19","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"a7dbbe4b167f282964317123abe8d315dc5d361a","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.19.tgz","fileCount":13,"integrity":"sha512-FmNjGOHCU+bOd3V1xtHBd3LfUIIqxpkNBVHVdGF8K9cB/xlMJYuvd9kpnbGEwoyoJsgc1uwd6d80NJUdUabEBQ==","signatures":[{"sig":"MEQCIHeWqcvRmxqp0LutOojeTALR9qaU7IihOCponoknyAz0AiAWUiR6l5sCDiv7taQtXpbyC8vq292aXn+ANzcuUrgMKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2166131},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"c627e8b15b4bc5a1b7b70e9db22e9ddeab805c8d","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.19_1777135584481_0.0035608932623505396","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"@yawlabs/ctxlint","version":"0.9.20","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.9.20","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"f6a7de1e2d4db4ba580d5111de8366df29d58289","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.9.20.tgz","fileCount":13,"integrity":"sha512-hHfF+6sWWl3zNQVR4/lPcaH8wRv1A0BxvRhtSI9j85tkHuNFuBH5fXfyeT0PxVdrwX+x0mNw6ZaRp6041AEAKw==","signatures":[{"sig":"MEUCIQCzb+qwqUGNclTdkfJOTp+GeWUnbUvFsRd5DoLcLGTGYQIgOFyno40cl/eSzdJte5ryZOGSqZZI/C5zaHiBT2+nOvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.9.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2178715},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"743a147ce67af36ce6b752e2c3e69e218353ddb2","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.9.20_1778089222882_0.07018299850576515","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@yawlabs/ctxlint","version":"0.10.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.10.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"2a48fa2b2f201136bbc12aea6590576336ccb596","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.10.0.tgz","fileCount":13,"integrity":"sha512-Om8xF9Y8mwU9MS6tZGRmdpd46ju4Xa1+BWD+T5D3cMUnXTMIu4JWzy6KRhP3FKgOqEwLiwR46ThY7Fp00noRWg==","signatures":[{"sig":"MEYCIQCQh7uR4V5cx5CMdqxHHRb8klMbmn4SILBy6anBhJmQvwIhAL/YPCtptB1kguDEzDU9/MOsuLJKG96+h9Tz5IyfLuGD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2187886},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"dd0ad0881c775f11bae95596d4d826bec1bec703","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"deprecated":"superseded by 0.10.1 — install @yawlabs/ctxlint@latest","repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.10.0_1778717063938_0.019108634961030768","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@yawlabs/ctxlint","version":"0.10.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.10.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"da63c52022887c9e4b1fcc67dfa34539c4b9c733","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.10.1.tgz","fileCount":13,"integrity":"sha512-Z9g4Qu4nD3zl0iqNR0J2ho1Zr2ZdDuvBd15SGvFsNYC4Ls60wC5c4AHrnuARCei1D07fIkmkyVmJkGK35MpCMw==","signatures":[{"sig":"MEQCIFZ0FaCeajZ9jTAofh9pr4scLIBo8OuN57OiEmf/+4OuAiBHqtJUYHDF0aECyBvGD1VRkzQiJnIRfVbo648V3X4HVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2187886},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"70724f7d952d3b6c4dfc00aeaccfd0b47307ff3b","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.10.1_1778719652731_0.7601201206569381","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@yawlabs/ctxlint","version":"0.10.2","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.10.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"5d6dcd60b4f4fd8551b078eb9442aa7b3fe66312","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.10.2.tgz","fileCount":13,"integrity":"sha512-DlZgmmME0IsdSNndmCMbMyRA5YpuoHbd7He26x+q67mThKuAxg9fKQtX16gAIoQcVBoNpzPivc8IjAN0w/TYKQ==","signatures":[{"sig":"MEQCIBCfBgKZ3RYWnusPWWh1x5Gq4Yn7TzhixBWZ9qKPeN1pAiBgzjSD+hSt00tZzDOrfFl8Ku0JSmB4958tlX3Mpi6ehQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2188376},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"3b3ce0d6b851f83b639c1a77d1de1e8ea8c05ca5","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.10.2_1778868641995_0.07439678730907207","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@yawlabs/ctxlint","version":"0.12.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.12.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"283a191831861a4622498971bb5044a77b0f2ef0","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.12.0.tgz","fileCount":13,"integrity":"sha512-5WilL2XmYtYsoqaRVvmMc/zXkkTTZTMJByvAzJD6MW5TNCNLXGoSIrl76v58Tv73IBgEccvqhEKx6KNRhP6vHw==","signatures":[{"sig":"MEQCICN4CRY9MCQduPxbIQSRpgwRfi8D+k4ilnZ60DpR1xQPAiBMgHN9xRRR3OJyNKCMn52AwOAoaqugFQJy12WjLrzOqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2207736},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"773f5d805f0f184dde013ce0800d6f8cf07226ed","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.12.0_1779049912450_0.6010466856663859","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@yawlabs/ctxlint","version":"0.12.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.12.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"e04611476c6e63b304d6503128dd23483099be6e","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.12.1.tgz","fileCount":13,"integrity":"sha512-CsEYOt2R7o/mBYjJvr2iX2JhBVLp8gKFUTpzwHs8p+Qeem03+S74Rzmth5Q5liNzQc66MBX1Y5J7YJxxY4z69w==","signatures":[{"sig":"MEUCIQDaSozwPCC2WU027uvjV43fJBXNW4imOm9awpBEdB3YsgIgBMs6XrzvDpUOrwJVdWPD+4ozn8RO9Wjmuv73kC+fxsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2210121},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"182718370427eb4847f9f863166680ca18b99376","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.7","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.12.1_1779195382612_0.31568130309896425","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@yawlabs/ctxlint","version":"0.12.2","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.12.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"0e6161577b451318aaa95b2dd6334470fbb69f70","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.12.2.tgz","fileCount":13,"integrity":"sha512-lMFlBQr3/LFN5EvFc0QjBFiPSTiaUMtZEx7U4N9xaV5JzoFrxN7Qv/KIJfVHlG7l5i+WqF2rc5MUJ0MPRlywTA==","signatures":[{"sig":"MEQCIBaZ6TwPEP3QaZMbn6iRWv9rEZhgghBCeZLlv0gg/wSIAiBA1ziJ8yqtvF8JI9K7SgzJ2EIMZdRSsvyDmiVV4OR8Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2211226},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"08e406b99d39c98f34102fe8086d8d0844d9c39b","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.12.2_1780003918962_0.4597591594742292","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@yawlabs/ctxlint","version":"0.12.3","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.12.3","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"0da82db15d031b66a2053fa7346b3a00d6a095a4","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.12.3.tgz","fileCount":13,"integrity":"sha512-cXFVIQCelYPnnvJEMWYvEm5sMtuP4pdzyzQ7Sgp+TmUSdwBazZf5Nq1JPhOK/GFVO1kNWJWkAr1/4b8sFhv+uA==","signatures":[{"sig":"MEUCIQCE41UlHfiQlgBk6z72c5dMhlHAaAFU6vml23jFujRaZQIgF48dOyfASUOJUtq0rtnaWxoob8l9YeFh9s12+N3VzLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2211226},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"7209ba59ef38596fa31bbade69e86f97236f29e8","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.12.3_1780005475439_0.8187614104995784","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@yawlabs/ctxlint","version":"0.13.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.13.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"ad1d52c414db2696d911c7326c20739f4645b60c","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.13.0.tgz","fileCount":16,"integrity":"sha512-uDc7m9RJv9kxjvuONpO1wfOdRKRM22kqj0Hp2lLwDsnjpJ0tEp/jofROtYbkf7Rl+wi1TuRKCfcmzsiJVLswTg==","signatures":[{"sig":"MEYCIQDHMe/VtQdfIenyGemziAycEjwN9Q9qsxUqEsaiWI08IQIhAOpJ97XCBRZyPiIOPsgDpZOLoKDJnbVZnPvZTNk0y/nq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2253309},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"3c8e4304290833a296a5ec9d608b8184d4a725b6","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.13.0_1780447332898_0.06398271356611152","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@yawlabs/ctxlint","version":"0.13.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.13.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"400a175a50797a44fa700701a5d3f9ef33e3a328","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.13.1.tgz","fileCount":16,"integrity":"sha512-vx8jLGVcHyB6aPJAp7D3/LWRJynUfVxBIFlawMtAQEo59+1H4Kh5T/UkSQ99eEDNTak5CLgJPXbseDGvvu5zNw==","signatures":[{"sig":"MEUCIAwTcal4ArNhLrYvUUNkADDP9240GEWX+aiTn1mcQYtmAiEA+2jH8QaM3HQcANiJoEmvBqLXZk736r+oBr1EaoFQgUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2253883},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"b61fadc9395c1de8a2ed0dd5c49bef9e92321075","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.13.1_1780453595863_0.1479049908306358","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@yawlabs/ctxlint","version":"0.13.2","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.13.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"ea82a4db9399d9ba909e8a8934d4dbddc09d778c","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.13.2.tgz","fileCount":16,"integrity":"sha512-PJU3U/XSgZIlfX1LWZrUcYAaUNmRP6iAiOd6aJrE5P/hED2zPk8RLC0BEoGciUqphq2sfFzYrcTH+QxQ2Nu84Q==","signatures":[{"sig":"MEYCIQD0cTdJj+nQ/7LrYPBV0FtAj7fF21+yUqkRgqt0mFXbMQIhAKmRy97jVdqjApQqPTPgc3qBz9L3jNTudDeyhc4kt2iB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2256639},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"5db78e65af1147a365d287845be729b73fe0b7e2","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.13.2_1780578170359_0.004022237512234517","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@yawlabs/ctxlint","version":"0.13.3","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.13.3","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"18e72ffa5c2cda08dbe4ffae527958e571b0147c","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.13.3.tgz","fileCount":16,"integrity":"sha512-iCDvl6RbyHUHalMj0784I9xIkB+0Qucs+b20A7UWVmAokEolPa0F+J3giuj4gMG96SECyWNNxrFviKpe8IZCWQ==","signatures":[{"sig":"MEYCIQCZw3rFFR3l60V5BnZW5iFcHbFUXY4Q5Yd4SAZ41+9MrwIhALCqDNWXBDwhqZ3aKniF8XUpk1wHytVs42mgKNndvzfP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2262323},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"541c8242fd1523934ad095d6007a486426e84d9b","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.13.3_1780840793510_0.5781135832811355","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@yawlabs/ctxlint","version":"0.14.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.14.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"9fa1526040ae4b03cdd98bb2dc76a1a55cc78027","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.14.0.tgz","fileCount":15,"integrity":"sha512-3G9t/3qc1gi4+XcTi6iBDXlOllkpMyPG4wSnyJPhCsyqtmofVzv5p2661L83M6uO4KJT30307Ji9jt1NiIXkRg==","signatures":[{"sig":"MEYCIQDuzuwgfOjKoZsOt984SRmlhb5veG6VR5JYLbO6UscD0wIhAMC9PppHmfqEhIqVtehfrmN615fupegHDaZCEMm12Zcv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2228299},"pnpm":{"overrides":{"hono":"^4.12.14","vite":"^8.0.8","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"80370cc906d75ea879bd54c492ffa4056652b264","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.14.0_1780857137639_0.07083099593032771","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@yawlabs/ctxlint","version":"0.14.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.14.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"5f21af639be2f37c4bd8210528be291a005f84d8","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.14.1.tgz","fileCount":15,"integrity":"sha512-76cTUCXB705nd1LmUiWrUr5Msu9OIlDIc46nJSBTFbEV0i3hIG2DXcDJEQcE59Qg7UMZCoFiuAHhTWBM0gp7nQ==","signatures":[{"sig":"MEYCIQC8n+RRFlDySCJBThZC3DToVKi+EmTLTCvC/iXI2vnJBAIhAO0+zK0Kbp0PB7MZwZ2Nqf2HE/vOTla5QWz3rLvjg81/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2231642},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"gitHead":"d10b8bfe984732cdeb91f604c8ddc38dba97704a","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.14.1_1780857871135_0.8387926079584322","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@yawlabs/ctxlint","version":"0.15.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.15.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"b95b0427dfee7b822d72d7b09334c48fd41d55ee","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.15.0.tgz","fileCount":15,"integrity":"sha512-iLyHExhFeXdJ132p1ESqEitqmFGAekXbyiquqe53JA9KpSNOx+H4PhdW6HP/5USdXfq8xUG3y0Uoca45MxmhLQ==","signatures":[{"sig":"MEUCIATjqjwOQZ82ET0h7NfltyNbC7r8cKk8Scp5FQEKIv4ZAiEAygvnBRHifsAmL7rRIyxVz4NKa8u1z2wYXn5ql1IKA5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2279337},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"0ff194b802f6610330f5078a608908c0182b5f34","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.15.0_1781114168839_0.3851178781243463","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@yawlabs/ctxlint","version":"0.15.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.15.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"50c83f880ea4b4e26891dc25fc10dc12163d1e69","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.15.1.tgz","fileCount":15,"integrity":"sha512-TmCaSTQgkiubLNze43S8lWYUqiq4tBZpto/vncb3ZjrYuLjMVIHqTCA4/1YqYRqrjktpmWBYaSxawjIm+6ydyQ==","signatures":[{"sig":"MEYCIQDR+T6OFU1fd3cf/AjW52Iv7RC8ObWgRYkII8rO9eboWgIhAM0clcx0qoDPQ6v5S2ocfRxb7bnAVfse2bVTHKUHVuvR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2279372},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"91b18bddad553c07d97afc702bc709c3e8600d94","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.15.1_1781121017823_0.6163811928902951","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@yawlabs/ctxlint","version":"0.16.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.16.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"6e11eaa55bd372615b22764d49c927331bfa2e93","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.16.0.tgz","fileCount":15,"integrity":"sha512-6MdUotsupOUH3IQOzSRQwUQcm1oSGID3PH+6DkC+3AUV/KYbBGvFRArZJyyKS5Wn+8SYBX8lQwLPR5sgkgTsbQ==","signatures":[{"sig":"MEQCIBML2d9Be4MIGx3/cp7oNaotYD8G+UQ/gLgbPY3iKaUxAiBltZLMQwZplLxBC9ddQmUIFCRfEOA3GzFKy0pJIE0s9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2281511},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"4cd04266a84f9e68b24d9666db3ff4ff970bf109","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.3.0","zod":"^4.3.6","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.8","chalk":"^5.6.2","eslint":"^10.2.0","vitest":"^4.1.4","esbuild":"^0.28.0","prettier":"^3.8.2","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.35.2","typescript":"^6.0.2","@types/node":"^25.6.0","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.58.1","@vitest/coverage-v8":"^4.1.4","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.16.0_1781137369162_0.05121188792771303","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@yawlabs/ctxlint","version":"0.17.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.17.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"9e8b190cf99f1fd308f9880fda03dccf0afe239d","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.17.0.tgz","fileCount":15,"integrity":"sha512-jV0E4/zMN4l6eOlq43Z1D7wnZJyh59NyoUIiZ/U7vdflqWPiXbnRX7AVnsfZxkR2OESSNRChC4B1d7u7Bb2cwA==","signatures":[{"sig":"MEQCICEe29LA9EE6SNqvLRthJx5zOZjCKYP3GkV1E0E/8LYpAiBBbRIu6kY2Ed4JvpCs+iBiN+rjP5tNFhIzeHUWvUQrhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2317714},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"b3f3320b9a52ced66a9723b06a78b5314270b356","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^25.9.3","jsonc-parser":"^3.3.1","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.17.0_1781788783500_0.6438899553409563","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@yawlabs/ctxlint","version":"0.18.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"c76996c15e4429e8ecfa0f1b1c04286d819f1c70","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.0.tgz","fileCount":15,"integrity":"sha512-R8qjQInMxxytdW0ipUsEM5RAQibwW5MLVoDgq31Llc2DysGV3GHF/Z+u/8AEPBWmRdKYku2HTb6IDAq67OC+5Q==","signatures":[{"sig":"MEQCIC5HRjleWhwIv053LarDOBKRHXppzofHlmLP7uv5g1koAiARzqgx4L5TM6eVo3emTkbZeQN4eDfrcMUaWHJ1ZgzrjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2835401},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"e28f2421582910ef73802c45922b08bbd8191df0","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^25.9.3","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.0_1781805330886_0.12692949906952444","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@yawlabs/ctxlint","version":"0.18.1","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.1","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"981232846d2b63e8b6b2c67bef9ca2e865bf7f93","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.1.tgz","fileCount":15,"integrity":"sha512-ZxKh5xeS5NLxX6cuuhH08Ov1Ucpvsw8g4vkPKIiY0oEjFvG2wNMxJpK1x3TspEPf/F72hlEcB3x1Ht340Dc6pA==","signatures":[{"sig":"MEQCICITwLyu5AN2hh2zeXYNYfaglq49hrlttNJyZ1wymIfhAiA3f9IVJ3uNarsrixrJOEO7gyCdo/TZzjm5o9hA7TC+hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2836584},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.8","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"f4980ece61ff1a4123b6ba33fce75e59d56ef1a7","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^14.0.3","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^25.9.3","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.1_1781874796600_0.005499480284208991","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"@yawlabs/ctxlint","version":"0.18.2","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.2","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"208a20c88332a435abf5d9133fc1120e96e49668","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.2.tgz","fileCount":15,"integrity":"sha512-SfQ3R0EUSh5Qpt3tEp88T1dUUprcVaiZbJaUjxZ7zNeeC26panuqhjq4lvWoMUYXdBcASytEHOUb5gqOlPqz9w==","signatures":[{"sig":"MEYCIQCqfbxwuiWDHNQ1mwv+GFqCVu+JPLFyBqlSeCVm/6kmAwIhALR7v0AjJofhTuDeKWNByXqDt0oGLldO2AnlTgX+ficO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2835229},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"79a0f0c6ec29c4f66208e89c00b2e95b41e97675","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.23.0","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.2_1782532756985_0.885735023192501","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"@yawlabs/ctxlint","version":"0.18.3","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.3","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"c70caf27272cebac57b28ef0500eb3c07f1431bc","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.3.tgz","fileCount":15,"integrity":"sha512-k5QtnXumS1ntSajH+n6nQc1kBnCCYBC01Led6z5tFAw4IRpFmjG0HEMvpVId0VMnGdNTLMV7fbZixX6vef40UA==","signatures":[{"sig":"MEYCIQDdmzog7+c7/1E9a/h+IhU/f5neTzH4ufMnlceSMJaRwwIhAOC7z85s3BNL9/QwYHForpVQQJ+Bng60IYnB48q/+NkA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2836057},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"dbe6c37c5a5e88f576749482c9ef517ca7e1c408","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.23.0","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.3_1782738820682_0.4462231227441582","host":"s3://npm-registry-packages-npm-production"}},"0.18.4":{"name":"@yawlabs/ctxlint","version":"0.18.4","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.4","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"3f35885a3a3de79d85a0bbb6fb34ecbc0031d2ae","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.4.tgz","fileCount":15,"integrity":"sha512-6cZA12vnOzo3GOTsCLpwXxc3luj9Du9ATZGOj3UJNvGB9CSKOjpcd7IfpYn0DL3t1HUUDTY0wGG6op7VUjv6kQ==","signatures":[{"sig":"MEYCIQDon57QcNnQ7cHSjSNMUCDNJf4RwcL4SEkZPbloIWCLvgIhAMJ+PoVtaHWq6arIpVp1byEcjDE1wfiC85XCn1Enn58b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@yawlabs%2fctxlint@0.18.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2836089},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"2f0c83a55f49b7db6bea59d5fefe8fcd41e9e5ef","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"10.9.8","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.23.0","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.4_1782743084160_0.8412769168804375","host":"s3://npm-registry-packages-npm-production"}},"0.18.5":{"name":"@yawlabs/ctxlint","version":"0.18.5","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.5","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"93bb1bf8d07e56842e1a0141a85b560cb3a38f63","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.5.tgz","fileCount":15,"integrity":"sha512-RXbalBq1t7RTFjxbEPkdEnqUzCmNsLV38yBcdKOSsEpRL0XzH+TZWJrRbQhv6XfbIBTCvaxIpVmtyK1+GnFslA==","signatures":[{"sig":"MEUCIGppWVCvVnIdqVfBtyinG4XEPdeFFrwKR+Awtlj9qqG/AiEA12hwJiku2Y8UNZ7cKQD+JvEQG9uQZzi7OW95+E+AfBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2837337},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"869c1d55b7f25bbc37ac11224deccac1a289d37b","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.5_1784571301343_0.7304999194245254","host":"s3://npm-registry-packages-npm-production"}},"0.18.6":{"name":"@yawlabs/ctxlint","version":"0.18.6","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.6","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"69ddc2e3dcc9855dc3088e6c906f2b0a7cdbe1e6","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.6.tgz","fileCount":15,"integrity":"sha512-oqq1Zy3t+wMH1jvRfy8wu5mbdVcdaZJOPNmO5RZlujQ/hELn/y2j5xkyhUBAi4xpNS+R3vKc9MA5WOL+FNN9Ew==","signatures":[{"sig":"MEUCIQD6uVPCcVa3te1q923GFjFO2kjf5xX9ERVHwFWvevllfAIgTOZ1pRXGmkaW8VeVqfx4SEBfW1tcJnDw7ho9mWnX9zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2837380},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"62f65a66573a322f4942b41308e6aee65be5c119","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.6_1784572781289_0.7004248428829183","host":"s3://npm-registry-packages-npm-production"}},"0.18.7":{"name":"@yawlabs/ctxlint","version":"0.18.7","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.18.7","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"486f7cb664b764f7fcf9c8a0cc52a5f5c2cc4ce8","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.18.7.tgz","fileCount":15,"integrity":"sha512-sxiYoJG8vc0N3wTq9iJJ40bYnY6RiwNwad8OcV4/7h52G8Ct7hLXIoPsty3C1LOcoyCSjB+E+sD9ZP1tBB3THg==","signatures":[{"sig":"MEUCIDsBuqw2X1ICwlxNbRlyuDTH33oN2HavYlN7FgKQGIjzAiEAiOElanciM+2awRs2yZ0HiahzjM0DZQucfp6d99RPwGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2838894},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"62c0da14ea0cadd2b324340fae75af853dcfde05","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.18.7_1785016390404_0.6861434108823112","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@yawlabs/ctxlint","version":"0.19.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.19.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"3144d0339cb9ac5bf920184a2e8ebe65ffb3cea7","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.19.0.tgz","fileCount":15,"integrity":"sha512-AP0ocZtuomqE1zEgVWoJElQoNwGDYilk672QrI+SaaBm7pJdeuc4FGGRcWcHhdt4EJxuhxmo4hLTWcPshg09Cg==","signatures":[{"sig":"MEUCIFdaS80sA/PZ+xVI0ct5k8BuEVk5H0UKsIS2yY/bgpiPAiEAx9+iC440xpcim8i6gBBjy0aPPbZXpp3sKx/nMl6+3is=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2872468},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"2873e1e2d530cfe66bff41e366cdc52851a0450f","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.19.0_1786133020890_0.6647658576638731","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@yawlabs/ctxlint","version":"0.20.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.20.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"713540cc9e669b0805ad5080d0e43cad30e37629","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.20.0.tgz","fileCount":15,"integrity":"sha512-1ql/n2TkpVYbZivO/ZbRA8j93pjn5yhFixRRK9dZx2BUN2WHXl7SYFV8nntVd7vjeNOdK+WlmLs23AOn32vlNg==","signatures":[{"sig":"MEQCIBY/a/SXogoqOkRGI8lYCJzEu+HpckRxS18qgyiHF8MgAiAcgMHpLqcLxVCTGCxy6OV2NOjgAAv5e4lzlA5ZFkxD7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2906221},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"11409b04697bf0f60ee3da32e986cf70391dd337","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.20.0_1786138640463_0.4747453979744336","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@yawlabs/ctxlint","version":"0.21.0","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","_id":"@yawlabs/ctxlint@0.21.0","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"homepage":"https://github.com/YawLabs/ctxlint","bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"bin":{"ctxlint":"dist/index.js"},"dist":{"shasum":"82d41249891c53ce5050be330128ff0704c33b27","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.21.0.tgz","fileCount":15,"integrity":"sha512-sikPtelOTqPB8Ep0yJ1MWuQyRC0bm4Oyp9zAAEhhzcPm7RvukgoVH8KafEoIeEIhaPkMzRWMKphY3XXoqFFdqg==","signatures":[{"sig":"MEUCIQDsFwf5VxmOGMERTzucoxmh/+2TOrLJUVBKdQpTKgsIQgIgf11LJzriB1m9R32s53QS2yozSqe+GqSdqYkfOaW//Yo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2907869},"pnpm":{"overrides":{"qs":"^6.15.2","hono":"^4.12.21","vite":"^8.0.16","esbuild":"^0.28.1","postcss":"^8.5.10","fast-uri":"^3.1.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6","@hono/node-server":"^1.19.13"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=20"},"exports":{"./package.json":"./package.json"},"gitHead":"d1cda86021ea95c7fa8f958a19508e9212de362a","mcpName":"io.github.YawLabs/ctxlint","scripts":{"dev":"node build.mjs","mcp":"node dist/index.js --mcp-server","lint":"eslint src/","test":"vitest","build":"node build.mjs","format":"prettier --write src/","pretest":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","test:run":"vitest run","pretest:run":"node build.mjs","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest:coverage":"node build.mjs"},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"repository":{"url":"git+https://github.com/YawLabs/ctxlint.git","type":"git"},"_npmVersion":"11.13.0","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"ora":"^9.4.0","zod":"^4.4.3","glob":"^13.0.6","tsup":"^8.5.1","vite":"^8.0.16","chalk":"^5.6.2","eslint":"^10.5.0","vitest":"^4.1.9","esbuild":"^0.28.1","prettier":"^3.8.4","tiktoken":"^1.0.22","commander":"^15.0.0","@eslint/js":"^10.0.1","simple-git":"^3.36.0","typescript":"^6.0.3","@types/node":"^26.0.0","jsonc-parser":"^3.3.1","@types/picomatch":"^4.0.3","fast-levenshtein":"^3.0.0","typescript-eslint":"^8.61.1","@vitest/coverage-v8":"^4.1.9","@types/fast-levenshtein":"^0.0.4","@modelcontextprotocol/sdk":"^1.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ctxlint_0.21.0_1786141655794_0.7815943485566055","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@yawlabs/ctxlint","version":"0.22.0","mcpName":"io.github.YawLabs/ctxlint","description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","bin":{"ctxlint":"bin/ctxlint.mjs"},"type":"module","exports":{"./package.json":"./package.json"},"scripts":{"build":"node build.mjs","dev":"node build.mjs","generate":"node scripts/generate-catalog-prose.mjs","generate:check":"node scripts/generate-catalog-prose.mjs --check","pretest":"node build.mjs","pretest:run":"node build.mjs","pretest:coverage":"node build.mjs","test":"vitest","test:run":"vitest run","test:coverage":"vitest run --coverage --coverage.reporter=text-summary --coverage.reporter=html --coverage.exclude='**/__tests__/**' --coverage.exclude='**/fixtures/**' --coverage.exclude='dist/**' --coverage.exclude='build.mjs' --coverage.exclude='coverage-report.mjs'","lint":"eslint src/","format":"prettier --write src/","mcp":"node dist/index.js --mcp-server"},"keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/YawLabs/ctxlint.git"},"bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"homepage":"https://github.com/YawLabs/ctxlint","author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"engines":{"node":">=20"},"packageManager":"pnpm@10.33.0","devDependencies":{"@eslint/js":"^10.0.1","@modelcontextprotocol/sdk":"^1.29.0","@types/fast-levenshtein":"^0.0.4","@types/node":"^26.0.0","@types/picomatch":"^4.0.3","@vitest/coverage-v8":"^4.1.9","chalk":"^5.6.2","commander":"^15.0.0","esbuild":"^0.28.1","eslint":"^10.5.0","fast-levenshtein":"^3.0.0","glob":"^13.0.6","jsonc-parser":"^3.3.1","ora":"^9.4.0","prettier":"^3.8.4","simple-git":"^3.36.0","tiktoken":"^1.0.22","tsup":"^8.5.1","typescript":"^6.0.3","typescript-eslint":"^8.61.1","vite":"^8.0.16","vitest":"^4.1.9","zod":"^4.4.3"},"pnpm":{"onlyBuiltDependencies":["esbuild"],"overrides":{"hono":"^4.12.21","@hono/node-server":"^1.19.13","vite":"^8.0.16","esbuild":"^0.28.1","fast-uri":"^3.1.2","postcss":"^8.5.10","qs":"^6.15.2","ip-address":"^10.1.1","brace-expansion":"^5.0.6"}},"dependencies":{"picomatch":"^4.0.4","vscode-languageserver":"^10.0.0","vscode-languageserver-textdocument":"^1.0.12"},"gitHead":"bc32d6c5b51f43ffb52cdc2c3000eada37c81aac","_id":"@yawlabs/ctxlint@0.22.0","_nodeVersion":"22.22.2","_npmVersion":"11.13.0","dist":{"integrity":"sha512-apZ34nTXbwOjTB6oyAiV0DZfvnOWyGd1fkK8hiGKFWF2TBIafJr+cV3RUbiJC5KcuV/BEIISFTuVXs5zm0FyzA==","shasum":"be15dec457bb0c0ee280b17aeb8407a33008400e","tarball":"https://registry.npmjs.org/@yawlabs/ctxlint/-/ctxlint-0.22.0.tgz","fileCount":16,"unpackedSize":2917624,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICsh7PQnxtFZxhGjs4WJ1V+UabcE2lE4uKRBgo5nnqJWAiEAlri0AmgXroOlOyKtPQMgtF2yzqNc4YYEB4kcXiD1v54="}]},"_npmUser":{"name":"jeffyaw","email":"contact@yaw.sh"},"directories":{},"maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ctxlint_0.22.0_1786233018227_0.02116382176270437"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T22:49:18.552Z","modified":"2026-08-08T23:50:18.562Z","0.1.0":"2026-04-05T22:49:18.777Z","0.1.1":"2026-04-05T23:06:34.581Z","0.2.0":"2026-04-05T23:19:09.069Z","0.2.1":"2026-04-05T23:26:58.817Z","0.2.2":"2026-04-06T15:54:45.973Z","0.3.0":"2026-04-07T02:04:09.510Z","0.4.0":"2026-04-07T19:15:45.230Z","0.5.0":"2026-04-07T21:25:03.556Z","0.6.0":"2026-04-08T04:21:30.828Z","0.7.0":"2026-04-08T06:52:26.350Z","0.8.0":"2026-04-08T17:56:52.682Z","0.9.0":"2026-04-10T00:57:18.711Z","0.9.1":"2026-04-11T02:20:41.099Z","0.9.2":"2026-04-12T18:28:09.460Z","0.9.3":"2026-04-12T19:20:25.681Z","0.9.4":"2026-04-12T20:10:50.992Z","0.9.5":"2026-04-12T20:27:49.468Z","0.9.6":"2026-04-12T21:17:21.203Z","0.9.7":"2026-04-12T21:26:28.360Z","0.9.8":"2026-04-12T21:58:54.323Z","0.9.9":"2026-04-14T01:12:24.311Z","0.9.10":"2026-04-14T18:09:48.444Z","0.9.11":"2026-04-16T16:09:13.750Z","0.9.12":"2026-04-16T16:16:58.161Z","0.9.13":"2026-04-16T16:34:42.228Z","0.9.14":"2026-04-16T16:45:46.820Z","0.9.15":"2026-04-16T21:29:52.538Z","0.9.16":"2026-04-16T21:39:54.173Z","0.9.17":"2026-04-17T00:00:30.007Z","0.9.18":"2026-04-23T19:52:51.195Z","0.9.19":"2026-04-25T16:46:24.659Z","0.9.20":"2026-05-06T17:40:23.116Z","0.10.0":"2026-05-14T00:04:24.119Z","0.10.1":"2026-05-14T00:47:32.920Z","0.10.2":"2026-05-15T18:10:42.234Z","0.12.0":"2026-05-17T20:31:52.647Z","0.12.1":"2026-05-19T12:56:22.822Z","0.12.2":"2026-05-28T21:31:59.145Z","0.12.3":"2026-05-28T21:57:55.619Z","0.13.0":"2026-06-03T00:42:13.135Z","0.13.1":"2026-06-03T02:26:36.111Z","0.13.2":"2026-06-04T13:02:50.587Z","0.13.3":"2026-06-07T13:59:53.704Z","0.14.0":"2026-06-07T18:32:17.800Z","0.14.1":"2026-06-07T18:44:31.314Z","0.15.0":"2026-06-10T17:56:09.086Z","0.15.1":"2026-06-10T19:50:18.026Z","0.16.0":"2026-06-11T00:22:49.351Z","0.17.0":"2026-06-18T13:19:43.708Z","0.18.0":"2026-06-18T17:55:31.047Z","0.18.1":"2026-06-19T13:13:16.806Z","0.18.2":"2026-06-27T03:59:17.128Z","0.18.3":"2026-06-29T13:13:40.818Z","0.18.4":"2026-06-29T14:24:44.333Z","0.18.5":"2026-07-20T18:15:01.526Z","0.18.6":"2026-07-20T18:39:41.486Z","0.18.7":"2026-07-25T21:53:10.590Z","0.19.0":"2026-08-07T20:03:41.125Z","0.20.0":"2026-08-07T21:37:20.701Z","0.21.0":"2026-08-07T22:27:35.970Z","0.22.0":"2026-08-08T23:50:18.393Z"},"bugs":{"url":"https://github.com/YawLabs/ctxlint/issues"},"author":{"name":"Yaw Labs","email":"contact@yaw.sh"},"license":"MIT","homepage":"https://github.com/YawLabs/ctxlint","keywords":["claude","agents","context","lint","linter","claude-md","agents-md","ai-coding","context-engineering","mcp","cursorrules","copilot-instructions","windsurfrules","pre-commit","agentic","codex","sarif","mcp-server","model-context-protocol","context-lint","gemini","cline","windsurf","session","cross-project","agent-session","aider","vibe-cli","amazon-q","goose"],"repository":{"type":"git","url":"git+https://github.com/YawLabs/ctxlint.git"},"description":"Lint your AI agent context files, MCP server configs, and session data against your actual codebase","maintainers":[{"name":"jeffyaw","email":"contact@yaw.sh"}],"readme":"# ctxlint\r\n\r\n[![npm version](https://img.shields.io/npm/v/@yawlabs/ctxlint)](https://www.npmjs.com/package/@yawlabs/ctxlint)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\r\n[![GitHub stars](https://img.shields.io/github/stars/YawLabs/ctxlint)](https://github.com/YawLabs/ctxlint/stargazers)\r\n[![MCP Compliance](https://raw.githubusercontent.com/YawLabs/ctxlint/main/compliance-badge.svg)](https://github.com/YawLabs/mcp-compliance)\r\n\r\n**Lint your AI agent context files, MCP server configs, and session data against your actual codebase.** Context linting + MCP config linting + session auditing. 16 AI tools, 8 MCP clients, cross-project consistency, auto-fix. Works as a CLI, CI step, pre-commit hook, or MCP server.\r\n\r\nYour `CLAUDE.md` is lying to your agent. Your `.mcp.json` has a hardcoded API key. ctxlint catches both.\r\n\r\n[![Add to Yaw MCP](https://yaw.sh/yaw-mcp-button.svg)](https://yaw.sh/mcp/install?name=ctxlint&command=npx&args=-y%2C%40yawlabs%2Fctxlint%2Cserve&description=Lint%20AI%20agent%20context%20files%20and%20MCP%20configs%20against%20your%20codebase&source=https%3A%2F%2Fgithub.com%2FYawLabs%2Fctxlint)\r\n\r\nOne click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.\r\n\r\n## Why ctxlint?\r\n\r\nEvery AI coding tool ships a context file: `CLAUDE.md`, `.cursorrules`, `AGENTS.md`, `.mcp.json`. These files are the single most important interface between you and your agent — they tell it what to build, how to test, where things live.\r\n\r\nBut context files rot fast. You rename a file, change a build script, or switch from Jest to Vitest — and your `CLAUDE.md` still says the old thing. Your agent follows those stale instructions faithfully, then fails. You lose 10 minutes debugging what turns out to be a wrong path in line 12 of a markdown file.\r\n\r\nMultiply that across a team with 5 context files, 3 MCP configs, and 2 people who touched the build system last week — and you have a real problem with no existing solution.\r\n\r\nctxlint is a linter purpose-built for this. It reads your context files, cross-references them against your actual codebase, and catches the drift before your agent does.\r\n\r\n- **Instant startup** — ships as a single self-contained bundle with zero runtime dependencies. `npx` downloads a ~400 KB tarball and starts immediately\r\n- **Catches real problems** — broken paths, wrong commands, stale references, contradictions across files\r\n- **Smart suggestions** — detects git renames and fuzzy-matches to suggest the right path\r\n- **Auto-fix** — `--fix` rewrites broken paths automatically using git history\r\n- **Token-aware** — shows how much context window your files consume and flags redundant content\r\n- **Every AI tool** — supports Claude Code, Cursor, Copilot, Windsurf, Gemini, Cline, Aider, and 9 more\r\n- **Multiple outputs** — text, JSON, and SARIF (GitHub Code Scanning)\r\n- **MCP server** — 7 tools for IDE/agent integration with tool annotations for auto-approval\r\n- **Watch mode** — `--watch` re-lints automatically when context files change\r\n\r\n## Install\r\n\r\nRun directly (no install needed):\r\n\r\n```bash\r\nnpx -y @yawlabs/ctxlint@latest\r\n```\r\n\r\n### Project install (recommended for teams)\r\n\r\n```bash\r\nnpm install -D @yawlabs/ctxlint\r\n# or\r\npnpm add -D @yawlabs/ctxlint\r\n```\r\n\r\nThen add to your `package.json` scripts:\r\n\r\n```json\r\n{\r\n  \"scripts\": {\r\n    \"lint:ctx\": \"ctxlint --strict\"\r\n  }\r\n}\r\n```\r\n\r\n### Global install\r\n\r\n```bash\r\nnpm install -g @yawlabs/ctxlint\r\n```\r\n\r\nUseful if you want `ctxlint` available in every project without per-project setup.\r\n\r\n## What It Checks\r\n\r\n| Check                 | What it finds                                                                                                                                                                                                                                                                    |\r\n| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| **Broken paths**      | File references in context that don't exist in your project                                                                                                                                                                                                                      |\r\n| **Wrong commands**    | Build/test commands that don't match your package.json scripts or Makefile targets                                                                                                                                                                                               |\r\n| **Stale context**     | Context files not updated after recent code changes                                                                                                                                                                                                                              |\r\n| **Token waste**       | How much context window your files consume per session                                                                                                                                                                                                                           |\r\n| **Redundancy**        | Content the agent can already infer (e.g. \"We use React\" when react is in package.json)                                                                                                                                                                                          |\r\n| **Contradictions**    | Conflicting directives across context files (e.g. \"use Jest\" in one, \"use Vitest\" in another)                                                                                                                                                                                    |\r\n| **Frontmatter**       | Invalid or missing YAML frontmatter in Cursor .mdc, Copilot instructions, and Windsurf rules                                                                                                                                                                                     |\r\n| **CI coverage**       | Release/deploy workflows in `.github/workflows/` not documented in any context file                                                                                                                                                                                              |\r\n| **CI secrets**        | Secrets used in CI workflows (`${{ secrets.X }}`) not mentioned in context files                                                                                                                                                                                                 |\r\n| **Inline secrets**    | Real secrets pasted into context files — private-key headers, AWS/GitHub/Anthropic/OpenAI/npm/Slack/Google/Stripe token shapes. Messages never echo the secret (6-char redacted prefix only)                                                                                     |\r\n| **Dead hooks**        | PreToolUse hooks / permissions entries in `.claude/settings.json` pointing at scripts that no longer exist (a dead gate silently no-ops). Scans project `.claude/settings.json[.local]` by default; pass `--hooks-global` to also scan the user-global `~/.claude/settings.json` |\r\n| **Missing secrets**   | GitHub secrets set on sibling repos but missing from current project                                                                                                                                                                                                             |\r\n| **Diverged configs**  | Canonical config files (CI, tsconfig, etc.) drifting across sibling projects                                                                                                                                                                                                     |\r\n| **Missing workflows** | GitHub Actions workflows present in 2+ siblings but absent here                                                                                                                                                                                                                  |\r\n| **Stale memory**      | Claude Code memory entries referencing paths that no longer exist                                                                                                                                                                                                                |\r\n| **Duplicate memory**  | Near-duplicate memories across projects (>60% content overlap)                                                                                                                                                                                                                   |\r\n| **Loop detection**    | Agent stuck in loops — repeated commands or cyclic patterns in session history                                                                                                                                                                                                   |\r\n| **Memory overflow**   | `MEMORY.md` past Claude Code's 200-line / 25KB session-load cap — entries beyond it are invisible to the agent                                                                                                                                                                   |\r\n\r\n## Supported Context Files\r\n\r\n| File                                                                                                 | Tool                        |\r\n| ---------------------------------------------------------------------------------------------------- | --------------------------- |\r\n| `CLAUDE.md`, `CLAUDE.local.md`, `.claude/rules/*.md`                                                 | Claude Code                 |\r\n| `AGENTS.md`, `AGENT.md`, `AGENTS.override.md`                                                        | AAIF / Multi-agent standard |\r\n| `.cursorrules`, `.cursor/rules/*.md`, `.cursor/rules/*.mdc`, `.cursor/rules/*/RULE.md`               | Cursor                      |\r\n| `.github/copilot-instructions.md`, `.github/instructions/*.md`, `.github/git-commit-instructions.md` | GitHub Copilot              |\r\n| `.windsurfrules`, `.windsurf/rules/*.md`                                                             | Windsurf                    |\r\n| `GEMINI.md`                                                                                          | Gemini CLI                  |\r\n| `.clinerules`                                                                                        | Cline                       |\r\n| `.aiderules`                                                                                         | Aider                       |\r\n| `.aide/rules/*.md`                                                                                   | Aide / Codestory            |\r\n| `.amazonq/rules/*.md`                                                                                | Amazon Q Developer          |\r\n| `.goose/instructions.md`, `.goosehints`                                                              | Goose by Block              |\r\n| `.junie/guidelines.md`, `.junie/AGENTS.md`                                                           | JetBrains Junie             |\r\n| `.aiassistant/rules/*.md`                                                                            | JetBrains AI Assistant      |\r\n| `.continuerules`, `.continue/rules/*.md`                                                             | Continue                    |\r\n| `.rules`                                                                                             | Zed                         |\r\n| `replit.md`                                                                                          | Replit                      |\r\n\r\n## MCP Server Config Linting\r\n\r\nctxlint also lints MCP server configuration files — the JSON configs that tell AI clients which tools to connect to. These are context interfaces too: they shape what your agent can do.\r\n\r\n```bash\r\n# Lint context files + MCP configs\r\nnpx @yawlabs/ctxlint@latest --mcp\r\n\r\n# Lint only MCP configs\r\nnpx @yawlabs/ctxlint@latest --mcp-only\r\n\r\n# Include global/user-level configs (Claude Desktop, Cursor, Windsurf, etc.)\r\nnpx @yawlabs/ctxlint@latest --mcp-global\r\n```\r\n\r\n### What MCP config files are scanned\r\n\r\n| File                          | Client                                 |\r\n| ----------------------------- | -------------------------------------- |\r\n| `.mcp.json`                   | Claude Code (universal project config) |\r\n| `.cursor/mcp.json`            | Cursor                                 |\r\n| `.vscode/mcp.json`            | VS Code / GitHub Copilot               |\r\n| `.amazonq/mcp.json`           | Amazon Q Developer                     |\r\n| `.continue/mcpServers/*.json` | Continue                               |\r\n\r\nWith `--mcp-global`, also scans Claude Desktop, Cursor, Windsurf, and Amazon Q global configs.\r\n\r\n### What MCP config checks catch\r\n\r\n| Check           | What it finds                                                                          |\r\n| --------------- | -------------------------------------------------------------------------------------- |\r\n| **Schema**      | Invalid JSON, wrong root key (`servers` vs `mcpServers`), missing required fields      |\r\n| **Security**    | Hardcoded API keys and Bearer tokens in git-tracked config files                       |\r\n| **Commands**    | Missing `cmd /c` wrapper for npx on Windows, broken file paths in args                 |\r\n| **Deprecated**  | SSE transport usage (deprecated March 2025, use Streamable HTTP)                       |\r\n| **Env vars**    | Wrong env var syntax for the client (`${VAR}` vs `${env:VAR}` vs `${{ secrets.VAR }}`) |\r\n| **URLs**        | Malformed URLs, localhost in project configs, missing path component                   |\r\n| **Consistency** | Same server configured differently across client configs                               |\r\n| **Redundancy**  | Disabled servers, identical configs at multiple scopes                                 |\r\n\r\n### Example MCP config output\r\n\r\n```\r\nMCP Configs\r\n  .mcp.json\r\n    ✗ mcp-security    Server \"api\": hardcoded Bearer token in a git-tracked file\r\n    ✗ mcp-deprecated  Server \"old-svc\": SSE transport is deprecated — use \"http\"\r\n    ✓ mcp-schema\r\n    ✓ mcp-commands\r\n  .cursor/mcp.json\r\n    ✗ mcp-env  Server \"api\": Cursor uses ${env:VAR}, not ${VAR}\r\n    ✓ mcp-schema\r\n  .vscode/mcp.json\r\n    ✗ mcp-schema  .vscode/mcp.json must use \"servers\" as root key, not \"mcpServers\"\r\n\r\nCross-file\r\n    ⚠ Server \"api\" is configured differently in .mcp.json and .cursor/mcp.json\r\n    ℹ Server \"db\" is in .mcp.json but missing from .cursor/mcp.json\r\n\r\nSummary: 3 errors, 2 warnings, 1 info\r\n```\r\n\r\n### MCP Config Linting Specification\r\n\r\nThe full specification for MCP config linting rules, the cross-client config landscape, and a machine-readable rule catalog are published as open specifications:\r\n\r\n- **[`MCP_CONFIG_LINT_SPEC.md`](./MCP_CONFIG_LINT_SPEC.md)** — the full lint-rule set (rule count in the [Specifications](#specifications) family table), the complete client/format reference, and implementation guidance. Tool-agnostic — any linter can implement it.\r\n- **[`mcp-config-lint-rules.json`](./mcp-config-lint-rules.json)** — Machine-readable rule catalog for programmatic consumption by AI agents, CI systems, and other tools.\r\n\r\n## Session Linting\r\n\r\nctxlint can audit AI agent session data — history files and memory entries — for cross-project consistency. Session checks compare your current project against sibling repos to catch drift and missing setup.\r\n\r\n```bash\r\n# Lint context files + session data\r\nnpx @yawlabs/ctxlint@latest --session\r\n\r\n# Lint only session data\r\nnpx @yawlabs/ctxlint@latest --session-only\r\n```\r\n\r\nSession checks are **opt-in** because they access files outside the project directory (agent history in your home directory, sibling repos in the parent directory).\r\n\r\n### What session files are scanned\r\n\r\n| Agent       | History                   | Memory                             |\r\n| ----------- | ------------------------- | ---------------------------------- |\r\n| Claude Code | `~/.claude/history.jsonl` | `~/.claude/projects/*/memory/*.md` |\r\n| Codex CLI   | `~/.codex/history.jsonl`  | —                                  |\r\n\r\n### What session checks catch\r\n\r\n| Check                     | What it finds                                                                                                                                    |\r\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |\r\n| **Missing secrets**       | `gh secret set` ran on 2+ sibling repos but not this one                                                                                         |\r\n| **Diverged configs**      | Shared config files (CI workflows, tsconfig, .prettierrc, etc.) with 20-90% line overlap — enough to be related, different enough to be drifting |\r\n| **Missing workflows**     | GitHub Actions workflows in 2+ siblings but absent from this project                                                                             |\r\n| **Stale memory**          | Memory entries referencing file paths that no longer exist                                                                                       |\r\n| **Duplicate memory**      | Near-duplicate memory entries across projects (>60% overlap)                                                                                     |\r\n| **Loop detection**        | Agent stuck in a loop — 3+ consecutive identical commands, or cyclic A,B,A,B patterns                                                            |\r\n| **Memory index overflow** | `MEMORY.md` exceeds Claude Code's documented 200-line / 25KB session-load cap, so entries past the cap are invisible to the agent                |\r\n\r\n### Session Linting Specification\r\n\r\n- **[`AGENT_SESSION_LINT_SPEC.md`](./AGENT_SESSION_LINT_SPEC.md)** — the full lint-rule set (rule count in the [Specifications](#specifications) family table), the agent session data landscape across 8 agents, sibling detection strategy, and implementation guidance.\r\n- **[`agent-session-lint-rules.json`](./agent-session-lint-rules.json)** — Machine-readable rule catalog.\r\n\r\n## Example Output\r\n\r\n```\r\nctxlint v0.9.10\r\n\r\nScanning /Users/you/my-app...\r\n\r\nFound 2 context files (1,847 tokens total)\r\n  CLAUDE.md (1,203 tokens, 42 lines)\r\n  AGENTS.md -> CLAUDE.md (symlink)\r\n\r\nCLAUDE.md\r\n  ✗ Line 12: src/auth/middleware.ts does not exist\r\n    → Did you mean src/middleware/auth.ts? (renamed 14 days ago)\r\n  ✗ Line 8: \"pnpm test\" — script \"test\" not found in package.json\r\n  ⚠ Last updated 47 days ago. src/routes/ has 8 commits since.\r\n  ⚠ testing framework conflict: \"Vitest\" in CLAUDE.md vs \"Jest\" in AGENTS.md\r\n  ℹ Line 3: \"Express\" is in package.json dependencies — agent can infer this\r\n\r\nSummary: 2 errors, 2 warnings, 1 info\r\n  Token usage: 1,203 tokens per agent session\r\n  Estimated waste: ~55 tokens (redundant content)\r\n```\r\n\r\n## Options\r\n\r\n```\r\nUsage: ctxlint [options] [path]\r\n\r\nArguments:\r\n  path                 Project directory to scan (default: \".\")\r\n\r\nOptions:\r\n  --strict                  Exit code 1 on any warning or error (for CI)\r\n  --checks <list>           Comma-separated checks to run (see below)\r\n  --ignore <list>           Comma-separated checks to skip\r\n  --fix                     Auto-fix broken paths using git history and fuzzy matching\r\n  --fix-dry-run             Preview --fix changes without writing\r\n  --yes                     Skip interactive confirmation prompts (required for --fix in TTY)\r\n  --follow-symlinks         Allow --fix to write through symlinks (default: skip)\r\n  --format <fmt>            Output format: text, json, or sarif (default: text)\r\n  --tokens                  Show token breakdown per file\r\n  --verbose                 Show passing checks too\r\n  --quiet                   Suppress all output except errors (exit code only)\r\n  --config <path>           Path to config file (default: .ctxlintrc in project root)\r\n  --depth <n>               Max subdirectory depth to scan (default: 2)\r\n  --mcp                     Enable MCP config linting alongside context file checks\r\n  --mcp-only                Run only MCP config checks, skip context file checks\r\n  --mcp-global              Also scan user/global MCP config files (implies --mcp)\r\n  --session                 Enable session audit checks (cross-project consistency)\r\n  --session-only            Run only session checks, skip context and MCP checks\r\n  --skills                  Run agent-skill checks (~/.claude/skills + ~/.claude/agents)\r\n  --skills-only             Run only agent-skill checks, skip everything else\r\n  --hooks-global            Also scan the user-global ~/.claude/settings.json in the\r\n                            dead-hook check (default scans project .claude/ only)\r\n  --mcp-server              Start the MCP server (alias: `serve` subcommand)\r\n  --watch                   Re-lint on context file changes\r\n  -V, --version             Output the version number\r\n  -h, --help                Display help\r\n\r\nCommands:\r\n  init                 Set up a git pre-commit hook\r\n```\r\n\r\n**Available checks:** `paths`, `commands`, `staleness`, `tokens`, `tier-tokens`, `redundancy`, `contradictions`, `frontmatter`, `ci-coverage`, `ci-secrets`, `content-secrets`, `hook-coverage`, `mcp-schema`, `mcp-security`, `mcp-commands`, `mcp-deprecated`, `mcp-env`, `mcp-urls`, `mcp-consistency`, `mcp-redundancy`, `session-missing-secret`, `session-diverged-file`, `session-missing-workflow`, `session-stale-memory`, `session-duplicate-memory`, `session-loop-detection`, `session-memory-index-overflow`, `skill-frontmatter`, `skill-broken-ref`, `skill-trigger-collision`, `skill-orphaned`, `skill-dead-tool-restriction`\r\n\r\nPassing any `mcp-*` check name implies `--mcp`. Passing any `session-*` check name implies `--session`. Passing any `skill-*` check name implies `--skills`.\r\n\r\n## Watch Mode\r\n\r\n```bash\r\nnpx @yawlabs/ctxlint@latest --watch\r\n```\r\n\r\nRe-lints automatically when any context file, MCP config, or `package.json` changes. Useful during development when you're editing context files alongside code.\r\n\r\n## Use in CI\r\n\r\n```yaml\r\n- name: Lint context files\r\n  run: npx @yawlabs/ctxlint@latest --strict\r\n```\r\n\r\n### Exit Codes\r\n\r\n| Code | Meaning                                                              |\r\n| ---- | -------------------------------------------------------------------- |\r\n| `0`  | Success — no issues, or issues below the strict threshold            |\r\n| `1`  | Strict mode caught at least one error or warning (`--strict` is set) |\r\n| `2`  | Config error, invalid CLI option, or internal failure                |\r\n\r\nIn non-strict mode ctxlint always exits `0` — it's a reporting tool by default. Pass `--strict` to enforce in CI.\r\n\r\n### GitHub Action\r\n\r\n```yaml\r\n- name: Lint context files\r\n  uses: yawlabs/ctxlint-action@v1\r\n```\r\n\r\nOr with options:\r\n\r\n```yaml\r\n- name: Lint context files\r\n  uses: yawlabs/ctxlint-action@v1\r\n  with:\r\n    args: '--strict --mcp'\r\n```\r\n\r\n### SARIF Output (GitHub Code Scanning)\r\n\r\n```yaml\r\n- name: Lint context files\r\n  run: npx @yawlabs/ctxlint@latest --format sarif > ctxlint.sarif\r\n\r\n- name: Upload SARIF\r\n  uses: github/codeql-action/upload-sarif@v3\r\n  with:\r\n    sarif_file: ctxlint.sarif\r\n```\r\n\r\n## Auto-fix\r\n\r\n```bash\r\nnpx @yawlabs/ctxlint@latest --fix\r\n```\r\n\r\nWhen a broken path was renamed in git or has a close match in the project, `--fix` rewrites the context file automatically.\r\n\r\n## Pre-commit Hook\r\n\r\n### Built-in\r\n\r\n```bash\r\nnpx @yawlabs/ctxlint@latest init\r\n```\r\n\r\nSets up a git pre-commit hook that runs `ctxlint --strict` before each commit.\r\n\r\n### pre-commit framework\r\n\r\nAdd to your `.pre-commit-config.yaml`:\r\n\r\n```yaml\r\nrepos:\r\n  - repo: https://github.com/yawlabs/ctxlint\r\n    rev: v0.9.10\r\n    hooks:\r\n      - id: ctxlint\r\n```\r\n\r\n## Config File\r\n\r\nCreate a `.ctxlintrc` or `.ctxlintrc.json` in your project root:\r\n\r\n```json\r\n{\r\n  \"checks\": [\"paths\", \"commands\", \"tokens\", \"contradictions\", \"frontmatter\"],\r\n  \"ignore\": [\"redundancy\"],\r\n  \"strict\": true,\r\n  \"tokenThresholds\": {\r\n    \"info\": 500,\r\n    \"warning\": 2000,\r\n    \"error\": 5000,\r\n    \"aggregate\": 4000,\r\n    \"tierBreakdown\": 1000,\r\n    \"tierAggregate\": 4000\r\n  },\r\n  \"contextFiles\": [\"CONVENTIONS.md\", \"docs/ai-rules.md\"],\r\n  \"exclude\": [\"fixtures/**\", \"examples/**\"]\r\n}\r\n```\r\n\r\nThe `contextFiles` array adds custom file patterns to scan alongside the built-in list. Useful for project-specific context files like `CONVENTIONS.md`.\r\n\r\nThe `exclude` array is its counterpart: globs of context files to drop from the scan entirely. Use it for files that are not this project's agent context at all — test fixtures, example projects, vendored templates.\r\n\r\n`exclude` removes **files**, where `ignore` / `ignoreRules` / `.ctxlintignore` suppress **findings**. That distinction matters for the cross-file checks: `contradictions` and `redundancy/duplicate-content` compare the discovered set and report against the literal `(project)` path, which no per-file glob can match. Excluding the files is the only way to silence a conflict between two files you never wanted linted. Reach for `.ctxlintignore` when a real context file has one noisy finding; reach for `exclude` when the file shouldn't be in the corpus.\r\n\r\n### Config Reference\r\n\r\n| Field                           | Type       | Default    | Meaning                                                                                                                                                                                                   |\r\n| ------------------------------- | ---------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `checks`                        | `string[]` | all checks | Checks to run. Check names include `paths`, `commands`, `tokens`, `tier-tokens`, `redundancy`, `contradictions`, `frontmatter`, `staleness`, `ci-coverage`, `ci-secrets`, `content-secrets`, `hook-coverage`, plus any `mcp-*` / `session-*` / `skill-*`. |\r\n| `ignore`                        | `string[]` | `[]`       | Checks to skip, evaluated after `checks`.                                                                                                                                                                 |\r\n| `strict`                        | `boolean`  | `false`    | Exit non-zero on any warning or error.                                                                                                                                                                    |\r\n| `tokenThresholds`               | `object`   | see below  | Per-file and cross-file token thresholds.                                                                                                                                                                 |\r\n| `tokenThresholds.info`          | `number`   | `1000`     | Per-file info threshold for `tokens/info`.                                                                                                                                                                |\r\n| `tokenThresholds.warning`       | `number`   | `3000`     | Per-file warning threshold for `tokens/large`.                                                                                                                                                            |\r\n| `tokenThresholds.error`         | `number`   | `8000`     | Per-file error threshold for `tokens/excessive`.                                                                                                                                                          |\r\n| `tokenThresholds.aggregate`     | `number`   | `5000`     | Cross-file total threshold for `tokens/aggregate`.                                                                                                                                                        |\r\n| `tokenThresholds.tierBreakdown` | `number`   | `1000`     | Always-loaded file threshold for `tier-tokens/section-breakdown`.                                                                                                                                         |\r\n| `tokenThresholds.tierAggregate` | `number`   | `4000`     | Combined always-loaded threshold for `tier-tokens/aggregate`.                                                                                                                                             |\r\n| `contextFiles`                  | `string[]` | `[]`       | Extra glob patterns to scan alongside the built-in list.                                                                                                                                                  |\r\n| `exclude`                       | `string[]` | `[]`       | Globs of context files to drop from the scan entirely, matched against each file's project-relative path. Removes files rather than suppressing findings, so excluded files are also invisible to the cross-file checks. |\r\n| `mcp`                           | `boolean`  | `false`    | Enable MCP config checks by default (same as `--mcp`).                                                                                                                                                    |\r\n| `mcpOnly`                       | `boolean`  | `false`    | Run only MCP config checks, skip context-file checks (same as `--mcp-only`).                                                                                                                              |\r\n| `mcpGlobal`                     | `boolean`  | `false`    | Also scan user/global MCP configs (same as `--mcp-global`).                                                                                                                                               |\r\n| `session`                       | `boolean`  | `false`    | Enable session audit checks (cross-project consistency); same as `--session`.                                                                                                                             |\r\n| `sessionOnly`                   | `boolean`  | `false`    | Run only session checks, skip context and MCP checks (same as `--session-only`).                                                                                                                          |\r\n| `skills`                        | `boolean`  | `false`    | Enable agent-skill checks (`~/.claude/skills` + `~/.claude/agents`); same as `--skills`.                                                                                                                  |\r\n| `skillsOnly`                    | `boolean`  | `false`    | Run only agent-skill checks, skip everything else (same as `--skills-only`).                                                                                                                              |\r\n\r\nConfig file resolution order: `.ctxlintrc` → `.ctxlintrc.json` in the project root. Use `--config <path>` to point elsewhere. CLI flags override config fields.\r\n\r\nCLI flags override config file settings. Use `--config <path>` to load a config from a custom location.\r\n\r\n## Use as MCP Server\r\n\r\nctxlint ships with an MCP server that exposes seven tools (`ctxlint_audit`, `ctxlint_mcp_audit`, `ctxlint_session_audit`, `ctxlint_skill_audit`, `ctxlint_validate_path`, `ctxlint_token_report`, `ctxlint_fix`). All read-only tools declare annotations so MCP clients can skip confirmation dialogs.\r\n\r\nLaunch it with the `serve` subcommand (or the equivalent `--mcp-server` flag, kept for back-compat):\r\n\r\n```bash\r\nnpx -y @yawlabs/ctxlint@latest serve\r\n```\r\n\r\n### With Claude Code\r\n\r\n```bash\r\nclaude mcp add ctxlint -- npx -y @yawlabs/ctxlint@latest serve\r\n```\r\n\r\n### With `.mcp.json` (Claude Code project config, Cursor, Windsurf)\r\n\r\nCreate `.mcp.json` in your project root:\r\n\r\nmacOS / Linux / WSL:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"ctxlint\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@yawlabs/ctxlint@latest\", \"serve\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nWindows:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"ctxlint\": {\r\n      \"command\": \"cmd\",\r\n      \"args\": [\"/c\", \"npx\", \"-y\", \"@yawlabs/ctxlint@latest\", \"serve\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n> **Tip:** This file is safe to commit — it contains no secrets.\r\n\r\n### With VS Code / GitHub Copilot\r\n\r\nAdd to `.vscode/mcp.json`:\r\n\r\n```json\r\n{\r\n  \"servers\": {\r\n    \"ctxlint\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@yawlabs/ctxlint@latest\", \"serve\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### With Claude Desktop\r\n\r\nAdd to your Claude Desktop config (`claude_desktop_config.json`):\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"ctxlint\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@yawlabs/ctxlint@latest\", \"serve\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## JSON Output\r\n\r\n```bash\r\nnpx @yawlabs/ctxlint@latest --format json\r\n```\r\n\r\nReturns structured JSON with all file results, issues, and summary — useful for building integrations or dashboards.\r\n\r\n## Specifications\r\n\r\nctxlint is the reference implementation of four open specifications for linting AI agent interfaces. These specs are tool-agnostic — any linter, IDE extension, or CI system can implement them.\r\n\r\n| Spec                                                           | What it covers                                                                                                                                                                                                                            |\r\n| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| **[AI Context File Linting Spec](./CONTEXT_LINT_SPEC.md)**     | 41 rules for validating context files (CLAUDE.md, .cursorrules, AGENTS.md, etc.) across 16 clients. Covers file formats, frontmatter schemas, path/command validation, staleness, token budgets, redundancy, and contradictions.          |\r\n| **[MCP Config Linting Spec](./MCP_CONFIG_LINT_SPEC.md)**       | 29 rules for validating MCP server configs (.mcp.json, .cursor/mcp.json, .vscode/mcp.json, etc.) across 8 clients. Covers schema validation, hardcoded secrets, env var syntax, deprecated transports, and cross-file consistency.        |\r\n| **[Agent Session Linting Spec](./AGENT_SESSION_LINT_SPEC.md)** | 12 rules for auditing agent session data (history, memory) across 8 agents. Covers cross-project secret consistency, config drift, stale memory, and loop detection.                                                                       |\r\n| **[Agent Skill Linting Spec](./AGENT_SKILL_LINT_SPEC.md)**     | 5 rules for auditing Claude Code skill (`SKILL.md`) and agent (`.md`) definitions under `~/.claude`. Covers frontmatter presence, broken refs, trigger-phrase collisions, orphaned skills, and dead tool restrictions. (v1, experimental) |\r\n\r\nAll specs include machine-readable rule catalogs for programmatic consumption:\r\n\r\n- [`context-lint-rules.json`](./context-lint-rules.json) — context file rules and 16 supported format definitions\r\n- [`mcp-config-lint-rules.json`](./mcp-config-lint-rules.json) — MCP config rules and 8 client definitions\r\n- [`agent-session-lint-rules.json`](./agent-session-lint-rules.json) — session lint rules and 8 agent data source definitions\r\n- [`agent-skill-lint-rules.json`](./agent-skill-lint-rules.json) — agent-skill lint rules (`~/.claude/skills`, `~/.claude/agents`)\r\n\r\n## Also By Yaw Labs\r\n\r\n- [Yaw](https://yaw.sh) — The AI-native terminal\r\n- [Spend](https://spend.sh) — AI spend tracking, cost estimation, and provider comparison across 10+ providers\r\n- [Token Limit News](https://tokenlimit.news) — Weekly AI dev tooling newsletter\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}