Skip to main content

Rýni

Share conventions. Catch harness drift.

Rýni helps teams adopt a trusted standard, express their own harness conventions, and share those conventions as installable Python rule packs.

  • Adopt a pack. One uv installation activates its rules. No ryni.toml.
  • Express your conventions. Use Python checks or focused agent review instructions.
  • Check with your agent. The ryni-check skill runs checks and delegates every pending review to a sub-agent, then combines the findings.
  • Catch drift in CI. Structured diagnostics and explicit incomplete/pending states.

Rýni runs locally and does not launch a model or require an API key. Agent reviews use your existing agent. Built-in checks validate skill frontmatter, names, directory matches, and description length. Python 3.14 or later is required.

Get started

For a shared repository, add Rýni as a development dependency:

uv add --dev ryni
uv run ryni check .

Add your team's published rule pack as a development dependency too. Replace your-team-rules with its package name:

uv add --dev your-team-rules
uv run ryni rule

Commit pyproject.toml and uv.lock. Use uv run ryni locally and in your agent; in CI, run uv sync --locked --group dev before uv run --no-sync ryni check .. Installed rules are active immediately. See Your first rule pack for a walkthrough of creating, installing, and running a pack.

Check with your agent

Install the bundled skill into your agent's skills directory:

uv run ryni skill install .claude/skills

Invoke /ryni-check in Claude Code. For Codex, install into .agents/skills and invoke $ryni-check. An agent with sub-agent support is required for review rules; missing review capability is reported as incomplete.

Documentation

Rule packs and agent reviews require Rýni 0.1.1 or later. To try this source version:

uv run --with-editable . --with ./examples/team-pack ryni check .

Contributing

uv run pytest tests
uv run ruff check .
uv run --group docs mkdocs build --strict
uv run --group docs mkdocs serve

See our jobs to be done for the project's direction.

Metadata

Release files for ryni 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ryni 0.1.1
File Size Uploaded Provenance
ryni-0.1.1.tar.gz 55.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ryni 0.1.1
File Interpreter ABI Platform
ryni-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 69.4 kB

Release files / ryni-0.1.1.tar.gz

Download URL ryni-0.1.1.tar.gz
Size 55.9 kB
Tags Source
SHA-256 checksum
How to use checksums
af5b6e396c05080ad1aa53272ce25b98949983f549af42833a66c1916d64dde1
BLAKE2b-256 checksum
How to use checksums
6723deafbdbff18125ee4e8356d091f152249135d758628a6e3f4cad4dbbfa6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ryni-0.1.1-py3-none-any.whl

Download URL ryni-0.1.1-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae8b2c2389bef5520728f4158fe09b4c8388aff23c402859c75050d24c37536b
BLAKE2b-256 checksum
How to use checksums
63b9daab16b3bac0b37283612f1b555fb4e1934f649c3a264c722ebc7ca2c2d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for ryni 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page