pratidoc
Lint your repository docs - ensure the essentials are always there.
✨ Features 🚀 Quick start 📚 Documentation 🤝 Contribute 👍 Adopters 📜 Legal
Features
pratidoc is a documentation checker which verifies if your project contains a set of essential documentation files:
- Well-defined files: Only the files common in large open source projects are searched for.
- Comprehensive choice: Documents from a wide range of categories (like legal, governance, security, community, etc.) are included.
- Link to source: Wherever applicable each rule points to the official/well-respected resource with more information regarding it.
Table of contents
Quick start
Installation
[!TIP] You can use your favorite package manager like
uv,hatchorpdminstead ofpip.
> pip install pratidoc
Usage
To check against the rules run the following from the command line:
> pratidoc check
[!NOTE] The command should be ran from the directory which we want to verify and no path(s) should be passed as arguments!
an example output could be:
> ALL:-:-: PRATIDOC1 Multiple README files exist.
[!NOTE] This is a repo-wide linter, therefore it will not point to a specific line, instead
ALL:-:-:means that the rule was violated in current working directory.
Advanced
Configuration
You can configure pratidoc in pyproject.toml (or .pratidoc.toml
in the root of your project, just remove the [tool.pratidoc] section),
for example:
[tool.pratidoc]
# include rules by their code
include_codes = [1, 2, 5] # default: all rules included
# exclude rules by their code (takes precedence over include)
exclude_codes = [4, 5, 6] # default: no rules excluded
# whether to exit after first error or all errors
end_mode = "first" # default: "all"
[!WARNING] You can only disable rules via include/exclude codes as shown above.
Run as a pre-commit hook
pratidoc can be used as a pre-commit hook, to add as a plugin:
repos:
- repo: "https://github.com/open-nudge/pratidoc"
rev: ... # select the tag or revision you want, or run `pre-commit autoupdate`
hooks:
- id: "pratidoc"
Rules
[!TIP] Run
pratidoc rulesto see the list of available rules.
pratidoc provides the following rules (links omitted for brevity):
| Name | Enabled | Description |
|---|---|---|
| PRATIDOC0 | True | File README should be defined. |
| PRATIDOC1 | True | Only one README file should be defined. |
| PRATIDOC2 | True | File SECURITY should be defined. |
| PRATIDOC3 | True | Only one SECURITY file should be defined. |
| PRATIDOC4 | True | File LICENSE should be defined. |
| PRATIDOC5 | True | Only one LICENSE file should be defined. |
| PRATIDOC6 | True | File CHANGELOG should be defined. |
| PRATIDOC7 | True | Only one CHANGELOG file should be defined. |
| PRATIDOC8 | True | File CITATION should be defined. |
| PRATIDOC9 | True | Only one CITATION file should be defined. |
| PRATIDOC10 | True | File DCO should be defined. |
| PRATIDOC11 | True | Only one DCO file should be defined. |
| PRATIDOC12 | True | File ADOPTERS should be defined. |
| PRATIDOC13 | True | Only one ADOPTERS file should be defined. |
| PRATIDOC14 | True | File CODE_OF_CONDUCT should be defined. |
| PRATIDOC15 | True | Only one CODE_OF_CONDUCT file should be defined. |
| PRATIDOC16 | True | File ROADMAP should be defined. |
| PRATIDOC17 | True | Only one ROADMAP file should be defined. |
| PRATIDOC18 | True | File CODEOWNERS should be defined. |
| PRATIDOC19 | True | Only one CODEOWNERS file should be defined. |
| PRATIDOC20 | True | File GOVERNANCE should be defined. |
| PRATIDOC21 | True | Only one GOVERNANCE file should be defined. |
| PRATIDOC22 | True | File CONTRIBUTING should be defined. |
| PRATIDOC23 | True | Only one CONTRIBUTING file should be defined. |
| PRATIDOC24 | True | File SUPPORT should be defined. |
| PRATIDOC25 | True | Only one SUPPORT file should be defined. |
You can consult the following resources to learn more about a given document (click on the name to go to the resource):
Contribute
We welcome your contributions! Start here:
Legal
- This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- This project is copyrighted by open-nudge - the appropriate copyright notice is included in each file.
Metadata
Release files for pratidoc 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pratidoc-1.0.0.tar.gz | 16.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pratidoc-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / pratidoc-1.0.0.tar.gz
| Download URL | pratidoc-1.0.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0fe9102b78ef1ee57ab07544b35d690b55dbf0b9fd6eb3c9e09ed6a45e8e281a
|
|
BLAKE2b-256 checksum How to use checksums |
e8e2853451e839f544972406e4b4704ff6b26b29f322d6d88113357c6a0ab7ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 23, 2025.
Transparency logRelease files / pratidoc-1.0.0-py3-none-any.whl
| Download URL | pratidoc-1.0.0-py3-none-any.whl |
|---|---|
| Size | 10.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd17144b5f8dd96f4380dbd93fe674b2aa92b38809dae47130aa8d57ed33e3a5
|
|
BLAKE2b-256 checksum How to use checksums |
6cbc3604fa2dbb13da975c4bbdbddeba5c9a51ed5cb6aa8a9655285bf8bd78e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 23, 2025.
Transparency log