Skip to content

Everything as Code

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 r2r commands
  • 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.

Explanation

Understanding-oriented discussion

Conceptual explanations that clarify and illuminate. Read these to understand the "why" behind the system.

Choose your path:


Working with Documentation

Directory Structure

docs/
├── index.md                    # This file
├── assets/                     # Binary files ONLY (.gif, .png, .pdf)
├── https://ready-to-release.github.io/eac/tutorials                  # Learning-oriented guides
├── https://ready-to-release.github.io/eac/how-to-guides              # Task-oriented recipes
├── https://ready-to-release.github.io/eac/reference                  # Technical specifications
└── https://ready-to-release.github.io/eac/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 Type Root Path
books container
docs container docs
eac-commands go go/eac/commands
eac-core go go/eac/core
eac-mcp-commands go go/eac/mcp/commands
eac-specs go go/eac/specs
ext-eac container containers/ext-eac
github static .github
implicit-r2r-cli static scripts
r2r-cli go go/r2r/cli
r2r-eac static release/bundle
r2r-installer static scripts
release-docs static release
repository static /
templates static templates
vscode-ext-commit typescript typescript/vscode-ext-commit