Overview
Help turn every commit into deployable, compliant software you can trust
What is r2r (Ready to Release)?
r2r is an extensible CLI that enables Everything-as-Code workflows from your terminal, IDE, or CI/CD pipeline. Built by engineers, for engineers.
The CLI is your primary interface for:
- Writing executable specifications that validate your system
- Running continuous compliance checks on every commit
- Generating audit evidence as a byproduct of your pipeline
- Integrating with MCP servers and VSCode for IDE-native workflows
- Automating delivery flows with containers and GitHub Actions
This repository is both the tool and a working example - it demonstrates CI/CD implementation with the same principles and patterns explained in the documentation. Study the .github/workflows/, specs, and build processes to see Everything-as-Code in action.
Why Everything as Code?
Traditional compliance creates friction: manual documentation, periodic audits, late validation. Development teams wait for approvals. Compliance teams scramble during audit prep. Quality suffers.
The r2r CLI transforms compliance from a bottleneck into automation:
- Terminal-First: Run validation and evidence generation from
r2rcommands - Shift-Left Compliance - Catch issues at commit time (5 minutes) vs. production (days)
- Executable Specifications - Requirements and policies as code in version control
- Continuous Validation - Compliance checked on every commit, not quarterly
- Automated Evidence - Traceability generated automatically by your pipeline
- Reference Implementation - This repo's own CI/CD demonstrates the patterns
Documentation Navigation
Documentation is organized using the Diataxis framework - a systematic approach to technical documentation authoring:
Tutorials
Learning-oriented guides
Step-by-step lessons that take you through a series of steps to complete a project. Start here if you're new to the CLI and want hands-on guidance through core concepts.
How-to Guides
Task-oriented recipes
Guides that show you how to solve specific problems. Use these when you need to accomplish a particular task.
Reference
Information-oriented descriptions
Technical reference material for looking up details. Check here for system architecture, module contracts, command syntax, configuration options, and specifications.
- R2R and EAC Architecture - System overview and design
- Repository Layout - File structure
- Command Reference - CLI commands
- Decision Records - Architectural decisions
Explanation
Understanding-oriented discussion
Conceptual explanations that clarify and illuminate. Read these to understand the "why" behind the system.
Choose your path:
- "I'm new and want to learn" → Tutorials
- "I need to accomplish a task" → How-to Guides
- "I need technical details" → Reference
- "I want to understand why" → Explanation
Working with Documentation
Directory Structure
docs/
├── index.md # This file
├── assets/ # Binary files ONLY (.gif, .png, .pdf)
├── tutorials/ # Learning-oriented guides
├── how-to-guides/ # Task-oriented recipes
├── reference/ # Technical specifications
└── explanation/ # Conceptual discussions
Repository Modules
This repository is organized into modules - each representing a distinct deliverable with its own versioning, CI/CD pipeline, and release process.
| Moniker | Packages |
|---|---|
| books | specifications, repository-report, markdown, tutorials, howto, explanation |
| docs | markdown, yaml, assets, testdata, structurizr, site |
| eac-commands | gherkin, structurizr, dockerfile, go, testdata, test-impl, test-assets, drawio-scripts, markdown |
| eac-core | structurizr, test-impl, go, markdown, json, yaml, testdata, gherkin |
| eac-mcp-commands | structurizr, go, markdown |
| eac-specs | go |
| ext-eac | structurizr, dockerfile, markdown |
| github | markdown, workflows, gherkin, structurizr, yaml |
| implicit-r2r-cli | bash, gherkin, structurizr, test-impl, testdata, pwsh |
| mermaid-cli | dockerfile, json |
| mkdocs-pdf | yaml, json, testdata, dockerfile, markdown |
| mkdocs-site | testdata, dockerfile, markdown, yaml |
| pdf-tools | dockerfile |
| r2r-cli | structurizr, test-impl, go, markdown, json, yaml, testdata, gherkin |
| r2r-eac-bundle | markdown |
| r2r-installer | pwsh, bash, test-impl, gherkin, structurizr |
| release-docs | markdown, structurizr |
| repository | json, bash, structurizr, markdown, yaml, testdata, pwsh, test-impl, repo-config, gherkin |
| static-site | testdata, dockerfile |
| templates | markdown, yaml, gherkin, json, testdata, structurizr |
| vscode-ext-commit | gherkin, structurizr, typescript, markdown, json |