v0.4.0
Available on npm as orino-cli and @bynaree/orino.
npx orino-cli@latest auditThis release adds orino fix, which creates missing robots, sitemap and llms.txt files for you, and an official GitHub Action with Code Scanning support. It also widens GEO coverage to the AI crawlers that now matter for citations, and checks that your llms.txt is actually usable rather than just present. The structured psi JSON output from v0.3.4, which was never published on its own, ships here too.
-
orino fix. Creates the missing files Orino can generate safely from your route map:robots,sitemapandllms.txt, in the right place for your framework (for exampleapp/robots.tsandapp/sitemap.tson the Next.js App Router). It only creates files and never modifies or overwrites existing ones. Use--dry-runto preview. See the CLI reference.Terminal window npx orino-cli fix --url https://yoursite.com -
GitHub Action.
uses: tinotenda0/orino@v0.4.0runs the audit, keeps one score comment up to date per pull request, and can upload findings to Code Scanning. It replaces copying the example workflow, which posted a new comment on every push. See GitHub Action. -
--sarif [path]. Writes SARIF 2.1.0 for GitHub Code Scanning and any other SARIF consumer. Findings without a file are anchored topackage.jsonwith the real location in the message. -
Four more AI crawlers. The robots.txt checks now cover:
Check Crawler Severity claude-searchbot-blockedClaude-SearchBot (Claude web search) Warning google-extended-blockedGoogle-Extended (Gemini) Warning applebot-extended-blockedApplebot-Extended (Apple Intelligence training) Info ccbot-blockedCCBot (Common Crawl) Info Training-only crawlers are reported as Info. They show up as suggestions and never affect the score, because opting out of model training is a legitimate choice. On plain HTML sites audited with
--no-url, each crawler also runs against the on-diskrobots.txtashtml-<id>. -
llms-txt-format. When/llms.txtis served, Orino now checks that it opens with an H1 naming the site and contains Markdown links to your key pages, as the llms.txt format expects. -
Structured
psiobject in the JSON output (from v0.3.4).--jsonandauditToJsoninclude the rawlcp,cls,inpandttfbvalues plus the Lighthousescore.
llms.txtserved as HTML no longer passes. Single-page apps with a catch-all rewrite often returnindex.htmlwith a200for/llms.txt. That used to count as present. It now failsllms-txt-missingwith an explanation, because AI systems ignore it.