living-architecture
A Claude Code plugin (la) plus its command-line tools that keep agent-written code from drifting into
spaghetti, and keep each change on a reviewed plan.
- An architecture that is enforced, not just drawn. A LikeC4 model maps nodes to code modules, and its
arrows decide which module may import which.
la-arch-checkmeasures the real imports against the model. Grandfathered arrows are marked#legacyand only ever shrink. Each node carries arc42 principles with status tags, and agents treat the model and the principles like tests: changes need your approval. - A four-stage PR flow.
/la:printerviews you into a Codex-reviewed OpenSpec plan, writes the failing tests, implements until they pass, and then loops CI, Codex, CodeRabbit and Sonar reviews until every gate is clean. Each stage resumes from the branch name alone, and the plan is archived with the code. - Refactoring without import churn. Python moves and renames rewrite every import automatically, and the type checker proves nothing was left dangling.
The longer version is in Living architecture, explained.
Install
# the plugin
/plugin marketplace add MotleyAI/living-architecture
/plugin install la@living-architecture
# the commands (la-*, dr-*), pinned to the same version as the plugin
uv tool install living-architecture==0.2.3
The commands ship as a PyPI package and as an npm package of the same name; each serves its own ecosystem and calls the other for mixed repos (details). Skills check that the installed commands match the plugin before they run.
Quick start
In the repo you want to onboard, run:
/la:init
It detects your tracker, test, lint and type-check commands, Codex, Sonar and any existing OpenSpec or
architecture setup, then proposes a living-architecture.yaml and asks only about what it cannot detect. It
then offers to set up OpenSpec, record the type-check baseline and build the architecture model with
/la:arch-init. After that, start each change with /la:pr on a branch named after its issue.
Skills
| Skill | Purpose |
|---|---|
la:init |
Onboard a repo: detect its tools, write living-architecture.yaml, offer the next setup steps |
la:pr |
Run a change through plan → failing tests → implementation → review |
la:arch-init |
Build the first architecture model from the measured code, then its principles |
la:arch-cleanup |
Retire a batch of #legacy arrows, or carve a new boundary, with verified moves |
la:deterministic-refactor |
Rename or move Python code, proven complete by the type checker |
These skills call helper skills that you can also run on their own; see Skills.
Prerequisites
Always: git, bash, gh (authenticated) and jq.
Per gate, as living-architecture.yaml enables it:
| Gate | Needs |
|---|---|
tracker: linear |
the Linear MCP server |
tracker: github |
nothing beyond gh |
openspec: true |
npx (the OpenSpec CLI) |
architecture: true |
npx (the LikeC4 CLI); the npm twin for TypeScript code |
reviewers.codex: true |
the Codex MCP server (mcp__codex__codex) |
| Sonar on your PRs | the SonarQube MCP server |
| type-check gate | the repo's type checker (basedpyright, tsc) |
Documentation
- Living architecture, explained
- Skills: main and helper skills
- Configuration:
living-architecture.yaml - Commands: the
la-*anddr-*commands, and CI - Deterministic refactoring
- Development: working from a checkout, layout, releasing
Metadata
Release files for living-architecture 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| living_architecture-0.2.3.tar.gz | 85.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| living_architecture-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 205.7 kB
Release files / living_architecture-0.2.3.tar.gz
| Download URL | living_architecture-0.2.3.tar.gz |
|---|---|
| Size | 85.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eec5d8b0b2101a29930d5d3d3b665e95b88a74223c99ab1493e9816af48aaa5c
|
|
BLAKE2b-256 checksum How to use checksums |
b9fc5ec753c21b2139acb516d66a6bb54316a6f3ce6a5d2ecf3e7695f49a9731
|
| 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 5, 2026.
Transparency logRelease files / living_architecture-0.2.3-py3-none-any.whl
| Download URL | living_architecture-0.2.3-py3-none-any.whl |
|---|---|
| Size | 120.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88609c5de06dedb3545b8e57d934c17e026fc3e17e5764e9835b26f682b7aeac
|
|
BLAKE2b-256 checksum How to use checksums |
64b4a18927cdf385cb46b0c1c531738c36d2e56d8755d9b94922eae8f793b510
|
| 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 5, 2026.
Transparency log