Skip to main content

tidy-harness

Opinionated agent harness conventions for Rýni: one source of truth, discoverable docs, and focused instructions.

Rules

ID Kind Convention
TIDY001 Check Keep every AGENTS.md at or below 250 lines.
TIDY002 Check Make each CLAUDE.md a symlink to its adjacent AGENTS.md.
TIDY003 Check Give documentation directories a README.md index.
TIDY004 Check Keep local Markdown links and heading references valid.
TIDY005 Check Make documentation reachable from the root AGENTS.md.
TIDY006 Check Keep installed skills untracked and Git-ignored.
TIDY007 Review Resolve contradictory instructions.
TIDY008 Review Keep one authoritative source for guidance.
TIDY009 Review Keep documentation aligned with implementation.
TIDY010 Review Give skills task-specific triggers.
TIDY011 Review Keep skills focused, or route to supporting workflows.
TIDY012 Review Explain when references are relevant.
TIDY013 Review Keep instructions necessary and actionable.

Reviews require cited evidence and specific corrections. They account for scope, exceptions, and contextual examples; they do not edit files or execute documented commands. Missing evidence or unfinished coverage is reported as incomplete.

Scope

All rules target the repository. Nested AGENTS.md and CLAUDE.md files are included. A CLAUDE.md is optional, but must point to the adjacent existing AGENTS.md if present.

Documentation means Markdown under any docs/ directory. Each docs/ root and subdirectory containing Markdown, directly or below it, needs an index. Asset-only subdirectories do not. Standalone website content is outside this scope.

Link validation also covers AGENTS.md and Markdown under locally owned skills/ directories. It parses CommonMark inline links, reference links and images, ignoring code examples. Markdown fragments use GitHub-style heading IDs, including duplicate heading suffixes, explicit {#id} headings, and HTML id/anchor name attributes. Custom renderer-generated IDs and raw HTML links are not validated. Absolute web routes, external URLs and links outside the repository are not checked.

Reachability starts at the root AGENTS.md, follows Markdown links (including links through other repository Markdown files), and treats directory links as links to README.md. Images do not establish reachability. Every in-scope documentation file must be reachable. A repository with no documentation needs no entry point for this rule.

Scans skip Git-ignored files; installed .agents/skills/, .claude/skills/, and .github/skills/; and directories named .git, .venv, venv, node_modules, __pycache__, .pytest_cache, .ruff_cache, dist, build, _build, site, fixtures, testdata, or generated. Directory symlinks are not traversed. Reading a document symlink outside the repository reports an error rather than silently claiming a completed check.

TIDY006 checks existing installation directories, including nested scopes. It checks both Git's index and ignore behavior, so adding an ignore pattern alone does not hide already tracked files. Without Git metadata, this rule is skipped. The other checks still work outside Git repositories.

Install and run

Version 0.1.1 adds the rules above and requires Rýni 0.1.1 or later in the 0.1 series. The original tidy-harness 0.1.0 release contained no rules.

uv add --dev 'ryni>=0.1.1,<0.2' 'tidy-harness>=0.1.1,<0.2'
uv run ryni check .

The CLI runs the six deterministic checks and prepares seven agent reviews. Use the ryni-check skill in an agent with sub-agent support to complete reviews, asking it to use uv run ryni. To run only deterministic checks, add --deterministic explicitly.

Development

This package is versioned independently under packages/tidy-harness/. From the repository root:

uv run --with-editable . --with ./packages/tidy-harness pytest packages/tidy-harness/tests
uv build packages/tidy-harness --out-dir packages/tidy-harness/dist

Metadata

Release files for tidy-harness 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 tidy-harness 0.1.1
File Size Uploaded Provenance
tidy_harness-0.1.1.tar.gz 10.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 20.2 kB

Release files / tidy_harness-0.1.1.tar.gz

Download URL tidy_harness-0.1.1.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1be273a9996d12be106c7e8247b95aa21b43d33c0c7e9bbe3110fd6f2913a35a
BLAKE2b-256 checksum
How to use checksums
88953ca15ba232f2716d52c2ef3491840ce82f159cb31148ce97bb5ff300dd96
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 / tidy_harness-0.1.1-py3-none-any.whl

Download URL tidy_harness-0.1.1-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aae2a08abbac719e4b23a212dc7234649f19fcabecf25dcaf9494909e842923d
BLAKE2b-256 checksum
How to use checksums
d6f02150ae6dfe789f21bda8602f2ce38f30ad3f4bfe1926f74a06c3e8ad34a2
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 tidy-harness 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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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