adrinaline
ADRs in a line: git-native Architecture Decision Records for humans and coding agents.
adr keeps decisions as Markdown files with YAML frontmatter in your repository, numbers them sequentially, links them into a graph, ties them to the code they govern, and answers every question in plain text or JSON.
Install
uv tool install adrinaline # provides `adr` (and `adrinaline`)
# or run without installing:
uvx adrinaline --help
Requires Python 3.14+ and git.
Quick start
adr init # docs/adr/.template.md + 0001-record-architecture-decisions.md
adr new "Use PostgreSQL" --tag storage # docs/adr/0002-use-postgresql.md (proposed)
adr accept 2
adr new "Use PostgreSQL 17" --supersedes 2 --accepted
adr list
adr graph --format mermaid # paste into any GitHub/GitLab Markdown file
adr check # CI-friendly validation
Tie decisions to code
Add scope globs to an ADR's frontmatter:
scope: ["src/db/**", "migrations/**"]
Then:
adr for src/db/pool.py # which decisions govern this file?
adr check --diff origin/main --strict # CI gate: changed files governed by ADRs in force
History
Every read command accepts --at REF:
adr list --at v1.2 --status accepted # what was in force at release 1.2?
adr log 7 # git history of ADR 0007
For coding agents
Add one line to AGENTS.md (or your agent's equivalent):
Run `adr prime` at the start of every session and follow the ADRs it lists.
adr prime --budget 400 limits the briefing to about 400 words, picking the most important and most relevant decisions first (the top-scored ADR is always shown). adr skill prints a skill that teaches agents when and how to write ADRs; redirect it into your agent's skill directory (for example adr skill > .claude/skills/adr/SKILL.md).
Commands
adr --help lists every command; the full specification is in docs/SPEC.md.
Licence
MIT
Metadata
Release files for adrinaline 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| adrinaline-0.1.1.tar.gz | 1.2 MB | Without provenance | Details for adrinaline-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| adrinaline-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for adrinaline-0.1.1-py3-none-any.whl |
Total release size: 1.3 MB
Release files / adrinaline-0.1.1.tar.gz
| Download URL | adrinaline-0.1.1.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c41e140e7a3dc1428748656fc45a4f7791c354bf4604a5ecbef152b11576ef5f
|
|
BLAKE2b-256 checksum How to use checksums |
81ab46cdf3f6edee206ed3c4e772b2b0d004916a57d96c160691e4ca9121c587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / adrinaline-0.1.1-py3-none-any.whl
| Download URL | adrinaline-0.1.1-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a174195787c58e6eae0d1106ed31abcfb168f24d2ed3a709c78e059484b7345c
|
|
BLAKE2b-256 checksum How to use checksums |
6a1e750edb4478fd101600079876be5df285f8a0ba93ff0058315b952aaf55cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for adrinaline 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.