oratos-core 0.2.0

Core types and scoring for Oratos website visibility audits
Documentation

Oratos

Website visibility intelligence for SEO, accessibility, structured metadata, and AI readiness.

Oratos audits and improves websites without owning your workflow. It works on local HTML directories, static exports, and live URLs — useful in CI/CD like Credo, Sobelow, Ruff, or Lighthouse CI.

Coverage Status

Install

crates.io (recommended):

cargo install oratos

GitHub Releases — download oratos-v*-{linux,macos,windows}-*.tar.gz from the Releases page, extract, and add the binary to your PATH.

From a git checkout:

cargo install --path crates/oratos-cli

Or build from source:

cargo build --release
./target/release/oratos --help

Quick start

# Audit a static site directory
oratos audit examples/static_site

# JSON report for tooling
oratos audit examples/static_site --format json --output report.json

# CI gate: fail if overall score is below 85
oratos audit ./priv/static --fail-under 85

# Generate llms.txt draft
oratos generate llms examples/static_site

# LLM remediation prompt for a page
oratos prompt html examples/static_site/index.html

CLI

oratos audit <target> [--format console|json|markdown|html|sarif] [--output PATH] [--fail-under SCORE] [--strict] [--crawl] [--changed-only] [--config PATH]
oratos generate llms <target> [--output PATH]
oratos generate metadata <target> [--output PATH]
oratos prompt html <file-or-url> [--output PATH]
oratos prompt phoenix <file-or-url> [--output PATH]

<target> may be a directory (./priv/static, ./dist), a single HTML file, or a URL (https://example.com).

URL audits: by default a URL fetches one page. Enable multi-page crawl with --crawl or [crawl] enabled = true in oratos.toml (see Configuration).

What Oratos checks

  • SEO — title, meta description, canonical, headings, Open Graph, Twitter cards, internal links
  • Accessibility — alt text, lang, landmarks, form labels, link text
  • Structured data — JSON-LD presence and syntax, WebPage/BreadcrumbList/ImageObject hints
  • LLM readinessllms.txt, extractable text, summaries, image descriptions

Scores are 0–100 per category. Overall score uses weights: SEO 30%, Accessibility 25%, Structured Data 25%, LLM Readiness 20%. Penalties: error −10, warning −5, info −1 (per category).

Phoenix / Mix

Oratos does not replace Phoenix SEO libraries — it audits rendered HTML after prerendering or static export:

# mix.exs
aliases: [
  "seo.audit": ["cmd oratos audit ./priv/static --fail-under 85"],
  "seo.report": ["cmd oratos audit ./priv/static --format html --output reports/oratos.html"]
]

See docs/phoenix.md and docs/ci.md.

Documentation

Development

cargo test
cargo clippy -- -D warnings
cargo fmt --check

License

MIT — see LICENSE.