Team Repository Standards Kit — adopt and stay current with the standards via a single CLI.
Project description
Team Repository Standards Kit
A versioned, opinionated set of documentation standards and templates that any repository on the team can adopt. The kit's goal is to keep documentation lean, durable, and useful for both humans and AI-assisted development workflows.
- Distributed as: the
repo-standards-kitpackage on PyPI — a zero-dependencystandardsCLI. - Authoritative spec:
docs/STANDARDS.md - Agent contract:
AGENTS.md - Version history:
CHANGELOG.md
Installation
The kit installs as a command-line tool. Use whichever installer you prefer:
pipx install repo-standards-kit # recommended (isolated install)
# or
uvx repo-standards-kit standards --version # run without installing
# or
pip install repo-standards-kit
This puts a standards command on your PATH. Verify it:
standards --version
The runtime is stdlib-only (Python 3.9+) — no third-party dependencies.
Quickstart
# Adopt the kit into a NEW or empty repo (greenfield):
standards init --profile library .
# Adopt into an EXISTING repo (non-destructive — keeps your files,
# writes <file>.kit-<version> sidecars on conflict):
standards adopt --profile application .
# Verify a repo against the standards (use in CI):
standards check .
# Pull in a newer kit version later (non-destructive reconcile):
standards update .
Pick the profile that fits the repo: application | library | infra | data. Each profile has its own Required / Expected / Optional / N/A doc matrix — see docs/STANDARDS.md.
initis for blank/clean repos; it refuses if kit-owned files already exist with different content (it points you atadopt).adoptis for repos that already have their own README, docs, or CI; it never clobbers — it keeps your files, sidecars true conflicts, and appends/splices the kit's managed block into an existingAGENTS.md.- Both write a
.standards-kit.jsonmarker sostandards updatecan keep you current.
What this kit gives you
- A standard folder layout that scales across repo types.
- Four repo profiles (application, library, infra, data) with explicit Required / Expected / Optional / N/A doc requirements.
- A defined contract for the
ai/directory — four files that carry session-to-session context. - MADR 3.0 ADRs with a defined lifecycle.
- RFCs for time-boxed technical investigations (separate from raw discovery intake).
- Lightweight conventions for
docs/discovery/— keep stakeholder, research, and reconnaissance notes as normal tracked markdown. - A PR template that asks the right questions about documentation, ADRs, AI context, and operational impact.
- A
STANDARDS-CHECKLIST.mdwith a waiver mechanism so absences are explicit, not silent. - A CI check (
standards check) that enforces the structural minimum plus content-level lints. - AI Skills + hooks (Claude Code + Copilot) for ADRs, RFCs, handoffs, and running the check.
The information flow
docs/discovery/ → docs/rfcs/ → docs/decisions/ → docs/0X-*.md
(early context) (investigated) (decided) (synthesized & durable)
notes, reqs, time-boxed, MADR 3.0 ADRs, PRD, architecture,
use cases spawn-or-abandon immutable runbook, etc.
Adopting without the CLI
If you'd rather adopt by hand (or want the full detail of what the CLI does), the manual process is documented in docs/STANDARDS.md: copy docs/templates/, pick a profile, fill in docs/STANDARDS.md + docs/STANDARDS-CHECKLIST.md, seed ai/*.md from docs/templates/ai-starters/, adopt the .github/ workflow + PR template, and point your AI tools at AGENTS.md.
For AI-assisted repos, use the agent-readiness checklist in docs/STANDARDS.md to confirm the agent contract, handoff files, skill pairs, and standards check are in a trustworthy state.
Documentation philosophy
Keep documentation lean but scalable. Add durable docs when they improve onboarding, implementation, review, operations, traceability, or decision quality. Do not create documents only because a structure exists — that's why the kit uses Required / Expected / Optional rather than a single rigid required-doc list.
Roadmap
All six foundational slices are shipped and the kit is release-ready through v0.17.0. The living roadmap — the active
milestone and what's planned next — and the full shipped-slice history now live in
docs/05-implementation-plan.md. Design rationale is
captured as ADRs under docs/decisions/ and investigations under
docs/rfcs/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file repo_standards_kit-0.17.0.tar.gz.
File metadata
- Download URL: repo_standards_kit-0.17.0.tar.gz
- Upload date:
- Size: 119.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90ccb09464f5922a5814c4889be60fe0f0309835741c83e273872baf294fa4e6
|
|
| MD5 |
d18d229c57457520c3184733cf5a65ec
|
|
| BLAKE2b-256 |
33b5f6e3d3c041ac707812a33a92f8470801b984f77932e85529f45439cb0280
|
Provenance
The following attestation bundles were made for repo_standards_kit-0.17.0.tar.gz:
Publisher:
release.yml on swanson-dev/Repo-Standards-Kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_standards_kit-0.17.0.tar.gz -
Subject digest:
90ccb09464f5922a5814c4889be60fe0f0309835741c83e273872baf294fa4e6 - Sigstore transparency entry: 1811944791
- Sigstore integration time:
-
Permalink:
swanson-dev/Repo-Standards-Kit@6f309b999d84ad3715d87f1520fec7eca307714e -
Branch / Tag:
refs/tags/v0.17.0 - Owner: https://github.com/swanson-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6f309b999d84ad3715d87f1520fec7eca307714e -
Trigger Event:
push
-
Statement type:
File details
Details for the file repo_standards_kit-0.17.0-py3-none-any.whl.
File metadata
- Download URL: repo_standards_kit-0.17.0-py3-none-any.whl
- Upload date:
- Size: 99.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f578174e48b88a6b84873ba14dcd7a8953fa242e639432cfa679852c0984415
|
|
| MD5 |
e897b2dea420d4b96bcbe885a377232e
|
|
| BLAKE2b-256 |
12394253d20eef450b7a2c2f6b8c515cd1c53727413aa1e24860137222c457d6
|
Provenance
The following attestation bundles were made for repo_standards_kit-0.17.0-py3-none-any.whl:
Publisher:
release.yml on swanson-dev/Repo-Standards-Kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_standards_kit-0.17.0-py3-none-any.whl -
Subject digest:
6f578174e48b88a6b84873ba14dcd7a8953fa242e639432cfa679852c0984415 - Sigstore transparency entry: 1811944829
- Sigstore integration time:
-
Permalink:
swanson-dev/Repo-Standards-Kit@6f309b999d84ad3715d87f1520fec7eca307714e -
Branch / Tag:
refs/tags/v0.17.0 - Owner: https://github.com/swanson-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6f309b999d84ad3715d87f1520fec7eca307714e -
Trigger Event:
push
-
Statement type: