Skip to main content
seiso logo

seiso

A Markdown convention and linter for project docs written by AI and read by humans and agents.

CI crates.io PyPI npm License CodeRabbit Reviews Ask DeepWiki

AI writes project docs faster than anyone can review them, and coding agents read those docs back as context for the next change. People and agents alike take the page at its word, so a stale version number or a field list updated in only one of its three copies misleads all of them. And AI makes the same few mistakes over and over.

seiso defines one convention for how Markdown in a repository is organized, the way rustfmt settled formatting for Rust code. Projects share the rules instead of negotiating their own; each project mainly maps its documents to kinds, and seiso init suggests a starting point.

The convention

  • Every document declares one kind, such as howto, reference, or adr, and holds only what that kind is for. A how-to gives the steps. Why the design looks this way belongs in an ADR.
  • Each fact has one home. Other pages link to it instead of retelling it.
  • Long-lived pages don't record values that change faster than the page, such as versions, deployment status, or counts.
  • A pointer names a file or symbol, so the reader doesn't have to search for what the sentence promised.
  • The finished page doesn't address whoever asked for it or narrate how it, or the work it describes, was made.
  • Judgment calls a tool can't make are written down with a reason. An exception without one is itself a violation.

The convention is written up as a standalone specification, with worked examples and an adoption guide, so a project can follow it without installing anything. The specification is provisional before 1.0.0 and versioned separately from seiso; its direction is open for discussion in #37.

seiso is the reference implementation. Its rules check documents against the specification; stable rules run by default, and the rest are opt-in previews. Each diagnostic says where the problem is and how to fix it, so an agent can repair most findings from seiso's output alone. When a fix needs a judgment, such as which of two pages owns a fact, the diagnostic names the decision. seiso doesn't guess whether prose sounds machine-written, and it leaves formatting and spelling to other tools. How seiso checks the convention maps each rule to the requirement it covers and the evidence it can claim.

Install

cargo install seiso
uv tool install seiso    # or: pipx install seiso
npm install -g @scarletkc/seiso

The PyPI and npm packages include prebuilt binaries for macOS on Apple silicon and Intel, Linux x64 and arm64 with glibc or musl (such as Alpine), and Windows x64 and arm64. On other platforms, use cargo; the PyPI package also works there but builds from source, which requires a Rust toolchain. From a source checkout, run cargo run -- <command>.

Quick start

From the repository root:

seiso init
seiso check

seiso init writes a seiso.toml at the repository root with suggested exclusions, kind mappings, and documentation site entries; review them before relying on the results.

seiso check runs only stable rules, which have met the promotion criteria. The other rules are in preview: they are experimental, can report false positives, and run only with --preview. Try them locally before relying on them, and keep them out of CI gates. seiso rule --all lists every rule with its status, seiso rule <CODE> explains a rule with examples, and seiso parse inspects the document model without running rules.

Documentation

License

seiso is licensed under MIT.

Metadata

Release files for seiso 0.4.0

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

Source distribution (sdist)

Source distribution for seiso 0.4.0
File Size Uploaded
seiso-0.4.0.tar.gz 122.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for seiso 0.4.0
File
seiso-0.4.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
seiso-0.4.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
seiso-0.4.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
seiso-0.4.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
seiso-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
seiso-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
seiso-0.4.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
seiso-0.4.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 19.1 MB

Release files / seiso-0.4.0.tar.gz

Download URL seiso-0.4.0.tar.gz
Size 122.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cf84263a83d609e31c10ae82474b5bd1db4d087d1e327e4a9c9051fae20f16f7
BLAKE2b-256 checksum
How to use checksums
4cdd4569f11e030f9649931c41877352bd8d63519a2462812da34f8a802c01a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-win_arm64.whl

Download URL seiso-0.4.0-py3-none-win_arm64.whl
Size 2.2 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
53856f2f7837f9be8cc85088fd3076f9dd4692e4d42500ad12a2d023e51d846e
BLAKE2b-256 checksum
How to use checksums
59274cb1b7fd70c20612b9bc793a7b490bcb23c0ac73820696119bb0fb8098a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-win_amd64.whl

Download URL seiso-0.4.0-py3-none-win_amd64.whl
Size 2.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
72c18c1bacee45827cf55c2e60da41ee17bebd032b5a1ad48c81a3d0392d015d
BLAKE2b-256 checksum
How to use checksums
f4e257c23405ed9226c7e8d9436b91c0e0812bb2e5f1bad57e7389c2849223b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-musllinux_1_2_x86_64.whl

Download URL seiso-0.4.0-py3-none-musllinux_1_2_x86_64.whl
Size 2.6 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
47a17f098bd4e1a7f4cececf57a983bf91c994c5c59327765c275ddf9aba7b88
BLAKE2b-256 checksum
How to use checksums
8de948b4a852047db5917229036036e10e7e20ea234c1c0921eecfd7cc137879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-musllinux_1_2_aarch64.whl

Download URL seiso-0.4.0-py3-none-musllinux_1_2_aarch64.whl
Size 2.3 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
1e27462c498b935ed13b8d57f5b40cd0700769af1c52b55f8c0e15a7808cd583
BLAKE2b-256 checksum
How to use checksums
f9a30cc3773091755126a81a2a73ff1238a13a98f24bbac7cc4dfadf3a4bbacb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL seiso-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8e021b9ae4c2f8f383367e9104814fbb121fc02d4558401526ae789be6063611
BLAKE2b-256 checksum
How to use checksums
356275af7445399c7010324853c8bbe22763473e3475aa99597adec1a74535da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL seiso-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
364bc91df521e1a30e9e656b48a9a7527e57da6e37c208c379063883936ac4ba
BLAKE2b-256 checksum
How to use checksums
48ad13b0170faa83b845f9ca77570b71faad654676d1c93973be143d3a0c6f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-macosx_11_0_arm64.whl

Download URL seiso-0.4.0-py3-none-macosx_11_0_arm64.whl
Size 2.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
95bbf11f5a4c3afa7714938c5c6f8198a832f779b096443b0845a7207ba69ec2
BLAKE2b-256 checksum
How to use checksums
ef9b658a85dfcd31c16fd6b89a5d61ce3437596ae89264b0ba29ac41b142bb5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / seiso-0.4.0-py3-none-macosx_10_12_x86_64.whl

Download URL seiso-0.4.0-py3-none-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1b376db250d6927b2dcd68309720e307d69ffc940cbd1344fea97488c037c066
BLAKE2b-256 checksum
How to use checksums
432b58b5f0c9bff82cb4d6bb1fbb85fe4504bb2d95ae4833d0aca9b7ebceb80e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

9 release files

0.3.0

9 release files

0.2.0

6 release files

0.1.0

3 release files

0.0.0

3 release files

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