{"_id":"@bynaree/orino","_rev":"7-82f32912486984676232090afe590a71","name":"@bynaree/orino","dist-tags":{"latest":"0.3.3"},"versions":{"0.1.0":{"name":"@bynaree/orino","version":"0.1.0","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.1.0","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"8485e45a1956be64c5763ea5b68bc44998f58abf","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.1.0.tgz","fileCount":7,"integrity":"sha512-F11qw8/i2aDf5lKJtLwxuM112fSzpWaHg0e94ST9voZff1hAb+fCPjstrjlPqHeCngwBWce0qM4QneSEh7rNNg==","signatures":[{"sig":"MEYCIQCIcDkHlVFOCeBTPW12iaIpZokwlnP+kQ58DVlWQTNroQIhAIIu5hba7zCpxjJBkM/++D54vkXNo6f9wZzKwidZ0Szd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413661},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fe1a47858ad9983bd8387c11487d43b2cfd2514f","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@babel/traverse":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@babel/types":"^7.24.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.1.0_1782743073182_0.6659842467354105","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bynaree/orino","version":"0.2.0","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.2.0","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"6db217099a4b33cb633b819b8c616204a5c7de88","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.2.0.tgz","fileCount":7,"integrity":"sha512-NQUc9wSl06UsheWC7dyeaDYIH5M3YXEG2rWFk/9ujJFZsmI6q3tfH5NFJqud7efYDgnXHSdhy0A3H9/klj/RIQ==","signatures":[{"sig":"MEUCIAsUQK38/8QBHnhEMZDMAACny3VlLNBgb+XiWJN5LPmRAiEAyPQTFpFBARlluYm2k3J2SLH3wZE+KsSW3boaGQ+dDWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423552},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"805376ffe4318a89a734798d6a78ce4aa6bb7051","scripts":{"dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.2.0_1782985583887_0.5447708486604521","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bynaree/orino","version":"0.2.1","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.2.1","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"3ea0ca8a34808d7f209dcd887158fc44f48ee758","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.2.1.tgz","fileCount":7,"integrity":"sha512-ZIn2fUyAy621E7pycwB/DA8b/wwGD52A2DMz1WP2VP/Pf5JqEMID/8j2ZIXHDnURDwX/vMYQA3GO1/4AP+tz7Q==","signatures":[{"sig":"MEQCID2CXCJ25FK67i7rYBBW+IZejhcNdtQcMsxrFiJD7MZVAiANbwj3u2JZg5yP93P0K2yjvoCbQvupWG2b2wUrnyCy3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426455},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5c8cf7fb929830631ccaaefda689eb9c744d8d1c","scripts":{"dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.2.1_1782997359155_0.8625265067722618","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bynaree/orino","version":"0.3.0","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.3.0","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"7d993268b5dce7aaa2e42701453a318fe501f860","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.3.0.tgz","fileCount":7,"integrity":"sha512-r0LC9ifVMSbFYzMYK/t8bqHHbeetU0pMB+HyxGNutwf9YTJlQN7v5Nwzs42HF4IgSOtcEAS0lfawquADW/fUWg==","signatures":[{"sig":"MEUCIEDPvNhC9yhzJ86uitrbi25chCy7PgEzcygIlGaGk6YaAiEAq8gg5SGMWvHmzV3SUqre0HOOysQrGgGTF/S/8iPoyxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":514400},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5c8cf7fb929830631ccaaefda689eb9c744d8d1c","scripts":{"dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.3.0_1783074491370_0.8336709667892128","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bynaree/orino","version":"0.3.1","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.3.1","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"da5667ca6e2cf379cb935524545e588b1339c243","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.3.1.tgz","fileCount":7,"integrity":"sha512-fIniAVyM8iWoqan/EqUhMYyOqK8Hs4ler0LoTV4pFUA++NPfYdz17PUqlE31LysfXsPZq0mxY2g5QlrQ5uJNag==","signatures":[{"sig":"MEQCIAKvehdrAzM2pTykk7odxs8eoV255wrGNYePZoUtO5qGAiAJVRKcxw5kzf8bjmPydom2WUlxEdlA0WGWL7PYLMn/yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517837},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a7768802a93cf3cb89287edd5cb8e160286eb6a6","scripts":{"dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.3.1_1783075803016_0.208310012045255","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bynaree/orino","version":"0.3.2","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","_id":"@bynaree/orino@0.3.2","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"homepage":"https://orino.app","bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"bin":{"orino":"dist/bin/orino.js"},"dist":{"shasum":"24f2124386e8a61701ea4defc213820909b1301a","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.3.2.tgz","fileCount":7,"integrity":"sha512-VhAXt/iw4GqWKKFZax3EloPbvGOK7/Y9+bLumTb7kMCCRp0aw1NN/BKliDfYRkswbyjkipVcA/jGiOI3moQUUg==","signatures":[{"sig":"MEQCIA5Gf3R8s298lSWajvcaimmigx44OJEGbjCI/UeVIVioAiBBCCvsC25ECL6Vj0IzdDPaepIJDmaa8ng9B8vjxG38LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518455},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8d284b6818010e38d98bc9db315ba1ca07114624","scripts":{"dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"repository":{"url":"git+https://github.com/tinotenda0/orino.git","type":"git"},"_npmVersion":"11.12.1","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"chalk":"^5.3.0","pdfkit":"^0.15.2","cheerio":"^1.0.0","commander":"^12.0.0","@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/pdfkit":"^0.13.9"},"_npmOperationalInternal":{"tmp":"tmp/orino_0.3.2_1783549020782_0.48601224946311095","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@bynaree/orino","version":"0.3.3","description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"homepage":"https://orino.app","repository":{"type":"git","url":"git+https://github.com/tinotenda0/orino.git"},"bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"license":"MIT","author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"bin":{"orino":"dist/bin/orino.js"},"main":"./dist/src/index.js","types":"./dist/src/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","test":"npm run build && node --test \"tests/*.test.mjs\"","prepublishOnly":"npm run build"},"engines":{"node":">=18.0.0"},"dependencies":{"@babel/parser":"^7.24.0","@inquirer/prompts":"^7.10.1","chalk":"^5.3.0","cheerio":"^1.0.0","commander":"^12.0.0","pdfkit":"^0.15.2"},"devDependencies":{"@types/node":"^20.0.0","@types/pdfkit":"^0.13.9","tsup":"^8.0.0","typescript":"^5.4.0"},"gitHead":"b14f53960c7306fef3f3b6dc69e8da8636aa6a98","_id":"@bynaree/orino@0.3.3","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-KzHS1Xj88zPsOKBl9jjqsce/0l8y10FyXvOf5xuMVBTab//bXq6rAnmYrxBry0J3OrIG0F/ugJoBZ9FrngG29g==","shasum":"7a54ab0dfd21e1ddccf8e14c80a7524ae17035f1","tarball":"https://registry.npmjs.org/@bynaree/orino/-/orino-0.3.3.tgz","fileCount":7,"unpackedSize":518475,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGZorH0Gea6+2VO3iiaFbhvgVy/7vdD+WzMxhykvWIf8AiBZ/bbNiu9fGdF0+Kgky5PI4et4815nIuMXWM+KjwzrZw=="}]},"_npmUser":{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"},"directories":{},"maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/orino_0.3.3_1783841078896_0.5328408624496543"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-29T14:24:33.070Z","modified":"2026-07-12T07:24:39.162Z","0.1.0":"2026-06-29T14:24:33.321Z","0.2.0":"2026-07-02T09:46:24.034Z","0.2.1":"2026-07-02T13:02:39.537Z","0.3.0":"2026-07-03T10:28:11.553Z","0.3.1":"2026-07-03T10:50:03.145Z","0.3.2":"2026-07-08T22:17:00.978Z","0.3.3":"2026-07-12T07:24:39.045Z"},"bugs":{"url":"https://github.com/tinotenda0/orino/issues"},"author":{"name":"Tino Muzovaka","email":"tino@bynaree.dev"},"license":"MIT","homepage":"https://orino.app","keywords":["seo","geo","audit","cli","nextjs","astro","sveltekit","nuxt","lighthouse","web-performance","structured-data","generative-engine-optimisation"],"repository":{"type":"git","url":"git+https://github.com/tinotenda0/orino.git"},"description":"SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, and plain HTML sites from the command line.","maintainers":[{"name":"geek1704","email":"tinotendamuzovaka5@gmail.com"}],"readme":"# Orino\n\nSEO and GEO audit tool for developers. One command to audit any Next.js, Astro, SvelteKit, Nuxt, or plain HTML site for SEO issues, GEO visibility gaps, and Core Web Vitals problems.\n\n## Quick start\n\n```bash\n# Run from inside your project\nnpx orino-cli audit\n\n# Or point it at a URL\nnpx orino-cli audit --url https://yoursite.com\n```\n\n## What it checks\n\n- **Crawlability** — robots.txt rules, sitemap presence and validity, indexability signals\n- **Metadata** — title tags, meta descriptions, Open Graph and Twitter Card tags\n- **Structured data** — JSON-LD presence, schema.org types, required field completeness\n- **Performance** — Core Web Vitals via PageSpeed Insights, image optimisation, render-blocking resources\n- **On-page** — heading hierarchy, image alt text, internal link quality\n- **GEO readiness** — content signals that improve visibility in AI-generated answers (ChatGPT, Perplexity, Gemini)\n- **Architecture** — internal link graph, orphaned pages, crawl depth\n\n## Framework support\n\n| Framework              | Version |\n| ---------------------- | ------- |\n| Next.js (App Router)   | 13+     |\n| Next.js (Pages Router) | 12+     |\n| Astro                  | 2+      |\n| SvelteKit              | 1+      |\n| Nuxt                   | 3+      |\n| Plain HTML / Static    | —       |\n\n## Options\n\nAll options belong to the `audit` subcommand.\n\n| Flag                    | Description                                                          |\n| ----------------------- | -------------------------------------------------------------------- |\n| `--url <url>`           | Live URL to run URL-based checks against                             |\n| `--dir <path>`          | Project directory to audit (default: `.`)                            |\n| `--framework <name>`    | Force framework detection instead of auto-detecting                  |\n| `--psi-key <key>`       | Google PageSpeed Insights API key (or set `ORINO_PSI_KEY` env var)  |\n| `--no-url`              | Skip all live URL checks, run codebase analysis only                 |\n| `--no-codebase`         | Skip all codebase analysis, run URL checks only                      |\n| `--quiet`               | Print criticals and score summary only                               |\n| `--json`                | Output results as JSON                                               |\n| `--output <path>`       | Write JSON output to a file (implies `--json`)                       |\n| `--pages <number>`      | Pages to audit beyond the homepage, sampled from the sitemap (default: 0) |\n| `--fail-on <level>`     | Exit 1 when issues at this severity or above are found: `critical` \\| `warning` \\| `any` (default: `critical`) |\n| `--baseline <path>`     | Baseline file — only new findings (not in the baseline) trigger `--fail-on` |\n| `--report-txt [path]`   | Export plain text report (default: `./orino-report.txt`)            |\n| `--report-md [path]`    | Export Markdown report (default: `./orino-report.md`)               |\n| `--report-pdf [path]`   | Export PDF report (default: `./orino-report.pdf`)                   |\n\nValid `--framework` values: `nextjs-app-router`, `nextjs-pages-router`, `astro`, `sveltekit`, `nuxt`, `html`.\n\n## Multi-page audits\n\nBy default Orino audits the homepage. Pass `--pages 25` to sample up to 25 more pages from your sitemap (pages linked from the homepage first) and run the full URL check suite on each — including cross-page checks like duplicate titles and descriptions that are impossible with a single page. Site-level checks (robots.txt, sitemap, PageSpeed) still run once.\n\n## Config file\n\nPersist settings and suppress false positives with a config file — run `npx orino-cli init` to generate a documented template. Orino looks for `orino.config.json`, then `.orino/config.json`, then an `\"orino\"` key in `package.json`. All fields are optional; CLI flags always win (flag > env var > config > default).\n\n```json\n{\n  \"url\": \"https://example.com\",\n  \"pages\": 10,\n  \"ignore\": [\"thin-content\", \"app/studio/**\"],\n  \"severity\": { \"thin-content\": \"info\" },\n  \"thresholds\": { \"lcp\": 3000, \"cls\": 0.15 },\n  \"failOn\": \"critical\",\n  \"baseline\": \"./orino-baseline.json\"\n}\n```\n\n`ignore` entries are check IDs or globs matched against the finding location; suppressed checks are reported as skipped and excluded from the score. `severity` promotes or demotes individual checks (`info` findings never affect the score). `thresholds` overrides the Core Web Vitals warning thresholds (`lcp`/`inp`/`ttfb` in ms, `cls` as a decimal).\n\n## CI\n\nExit codes: `0` — passed the `--fail-on` threshold, `1` — issues at or above the threshold, `2` — configuration error.\n\nTo fail builds only on *regressions* rather than pre-existing issues, record a baseline once and commit it:\n\n```bash\nnpx orino-cli baseline --output ./orino-baseline.json\nnpx orino-cli audit --fail-on critical --baseline ./orino-baseline.json\n```\n\nThe JSON output (`--json`) includes `exitCode`, `pagesAudited`, `baselineCompared`, and `newFindings` for CI tooling. A ready-made GitHub Actions workflow that runs the audit and comments the score on pull requests ships in [.github/workflows/orino.yml](.github/workflows/orino.yml).\n\n## Reports\n\nThree export formats are available. Pass the flag and optionally a custom path:\n\n```bash\n# Markdown report at the default path\nnpx orino-cli audit --report-md\n\n# PDF report at a custom path\nnpx orino-cli audit --url https://yoursite.com --report-pdf ./reports/audit.pdf\n\n# All three at once\nnpx orino-cli audit --report-txt --report-md --report-pdf\n```\n\nWithout any `--report-*` flag, Orino asks interactively after the audit whether you want to export a report.\n\n## PSI key\n\nPerformance checks use the Google PageSpeed Insights API. Without a key the audit still runs but PSI data is skipped. Keys are free — get one from the [Google Cloud Console](https://console.cloud.google.com/) under APIs & Services.\n\n```bash\nORINO_PSI_KEY=your_key npx orino-cli audit\n# or\nnpx orino-cli audit --psi-key your_key\n```\n\n## Requirements\n\nNode.js 18 or later.\n\n## Documentation\n\nFull documentation at https://orino.app/docs\n","readmeFilename":"README.md"}