{"_id":"@aigx/lint","name":"@aigx/lint","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@aigx/lint","version":"1.2.0","description":"Programmatic validator for AIGX (AI Genome Exchange) genomes. Implements the AIGX 1.1 conformance checks. Built on @aigx/parser.","type":"module","main":"./index.mjs","exports":{".":"./index.mjs"},"engines":{"node":">=18"},"dependencies":{"@aigx/parser":"^1.2.0"},"keywords":["aigx","lint","validate","ai","agents","context","genome","conformance"],"license":"MIT","author":{"name":"Grégory Parisotto","email":"gregory@feex.it"},"repository":{"type":"git","url":"git+https://github.com/Lolner95/AIGX.git","directory":"packages/lint"},"homepage":"https://github.com/Lolner95/AIGX/tree/main/packages/lint#readme","bugs":{"url":"https://github.com/Lolner95/AIGX/issues"},"gitHead":"41eff48b25dfeee1db6aa8baf32731833f2bfc76","_id":"@aigx/lint@1.2.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-yLuc/Ic7j5DP3OKSvpJYWH+LBp6xQvNJ8lkBPAT7nH6zV9guIoGSb8/zkJqJUbLxAjwHmdj9xRDLFfN5fuq23g==","shasum":"ea0eb2f1d351abb5c4e0f2a262bbc206a071d503","tarball":"https://registry.npmjs.org/@aigx/lint/-/lint-1.2.0.tgz","fileCount":3,"unpackedSize":6949,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGjmmfKcyca4uuxQ74w8uY/gkdLSluIvPtgcmNDRp/VmAiEAyPLYyJvT/Tu9x9HJW+RPFmimJwS0x3GukiNfeKw2+KY="}]},"_npmUser":{"name":"lolner95","email":"gregory@feex.it"},"directories":{},"maintainers":[{"name":"lolner95","email":"gregory@feex.it"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lint_1.2.0_1781977196881_0.9589715703082475"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-20T17:39:56.710Z","1.2.0":"2026-06-20T17:39:57.017Z","modified":"2026-06-20T17:39:57.307Z"},"maintainers":[{"name":"lolner95","email":"gregory@feex.it"}],"description":"Programmatic validator for AIGX (AI Genome Exchange) genomes. Implements the AIGX 1.1 conformance checks. Built on @aigx/parser.","homepage":"https://github.com/Lolner95/AIGX/tree/main/packages/lint#readme","keywords":["aigx","lint","validate","ai","agents","context","genome","conformance"],"repository":{"type":"git","url":"git+https://github.com/Lolner95/AIGX.git","directory":"packages/lint"},"author":{"name":"Grégory Parisotto","email":"gregory@feex.it"},"bugs":{"url":"https://github.com/Lolner95/AIGX/issues"},"license":"MIT","readme":"# @aigx/lint\n\nProgrammatic validator for **AIGX — AI Genome Exchange** genomes. Implements the conformance-validator\nrequirements (V1–V7) of the [AIGX 1.1 spec](https://github.com/Lolner95/AIGX/blob/main/standard/conformance.md).\nBuilt on [`@aigx/parser`](https://www.npmjs.com/package/@aigx/parser).\n\n```bash\nnpm install @aigx/lint\n```\n\nFor a command-line tool, use [`aigx`](https://www.npmjs.com/package/aigx) (`aigx lint`). This package is the\nlibrary you embed in your own tooling, CI scripts, or editor extensions.\n\n## Usage\n\n```js\nimport { lint, conformance } from '@aigx/lint'\n\nconst result = lint(process.cwd(), { ignores: ['examples', 'site'] })\n//  → { ok, errors[], warnings[], stats: { genomes, rules, fileEntries, forbidPercent } }\n\nif (!result.ok) {\n  for (const e of result.errors) console.error(e)\n  process.exit(1)\n}\n\n// Per-genome conformance level (0 non-conforming, 1 conforming, 2 recommended)\nfor (const g of conformance(process.cwd())) {\n  console.log(`${g.dir}: level ${g.level}`)\n}\n```\n\n## What `lint` checks\n\n| Check | Severity |\n|---|---|\n| Required files exist (`protocol.aigx`, ≥1 concern file, `files.aigx`) | error |\n| Every `<check>` id resolves to a real `<rule id>` | error |\n| Every `<file path>` exists on disk | error |\n| No duplicate rule ids | error |\n| No `<file path>` escapes the repository root | error |\n| Duplicate `<file>` entries; high `<forbid>` density | warning |\n\n## License\n\nMIT © Grégory Parisotto\n","readmeFilename":"README.md","_rev":"1-4a3af0cc9480dae271499f6892337472"}