patterns documentation
Find, evaluate, install, enforce, author, and publish reusable software-architecture guidance.
patterns packages software-architecture decisions as versioned knowledge bundles. A bundle gives humans and coding agents the same map: where code belongs, which dependencies are allowed, how the architecture grows, and why those choices were made.
Patterns guide code; they do not generate it
Installing a pattern adds documentation and deterministic boundary rules under .patterns/. It never scaffolds, rewrites, or deletes your application source.
Start using patterns
Install the CLI, find a pattern, and add it to a project.
Choose the right pattern
Start from the problem you need to solve, not an architecture label.
Understand the model
Learn how a pattern differs from a template, starter, or framework.
Publish your own
Turn a recurring architectural decision into a shareable bundle.
The two workflows
Use an existing pattern
find → evaluate → add → build with the guidance → checkSearch happens on patterns.directory. Installation happens directly from Git. Your repository remains the place where the selected guidance is applied and enforced.
Author a pattern
init → write and generalize → validate → version in Git → publish the refPublishing registers searchable metadata. The pattern files stay in Git and remain the source of truth.
What a bundle contains
Every bundle starts with patterns.yaml, a compact identity and index. The rest is progressively disclosed:
structure/explains responsibilities and dependency flow.rules/states constraints that should remain true.recipes/shows how to make common changes without eroding the architecture.adrs/records important decisions and trade-offs.boundariesin the manifest can be checked deterministically by the CLI.
The manifest is small enough for an agent to read first. It then opens only the document relevant to the current task.