Overview
Help turn every commit into deployable, compliant software you can trust
What is Ready to Release?
Ready to Release is a set of tools to fully standardize software delivery in regulated spaces.
- eac is a standalone CLI that enables Everything-as-Code workflows from your terminal, IDE, or CI/CD pipeline.
- clie is an optional CLI extender for enterprise scenarios, distributing platform CLIs through containerized extensions. EAC can also run as a CLIE extension for reproducible containerized environments.
Built by engineers, for engineers.
The eac 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
For enterprise settings with multiple competing platforms, CLIE can optionally be used as a uniform distribution mechanism.
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 eac CLI transforms compliance from a bottleneck into automation:
- Terminal-First: Run validation and evidence generation from
eaccommands - 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.
- 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 | Group | Components |
|---|---|---|
| oci-tools | oci-tools | mkdocs-render-oci, mkdocs-dev-oci, drawio-oci, mermaid-oci, pdf-oci, pdf-cli-oci, cgo-oci, go-oci, gource-oci, nginx-oci, git-oci, dotnet-oci, az-bicep-oci |
| contracts | contracts | core, scanner, clie, container-runtime, ai-provider, tui, runner, docs, godog, contracts-specs, contracts~design |
| templates | templates | templates, templates~design, templates-specs |
| clie | clie | clie, release-evidence-clie, godog, clie-specs, clie~design, installer~design |
| core | core | core, godog, core-specs, core~design |
| repository | repository | repo-config, assets, workflows, bash, pwsh, repository, go-assets, markdown, yaml, markdown-commands, report, godog, repository-specs, repository~design |
| clibase | clibase | clibase, godog, clibase-specs, clibase~design |
| adapters | adapters | godog, claude, openai, gemini, claude-cli, ai-test, docker, eac, tui, cucumber, gotest, mocha, npm, pip, pytest, behave, nuget, dotnet, reqnroll, gh, godog-runner, ai~design, cucumber~design, docker~design, eac~design, godog~design, gotest~design, mocha~design, npm~design, tui~design, adapters_ai, adapters_cucumber, adapters_docker, adapters_eac, adapters_godog, adapters_gotest, adapters_mocha, adapters_npm, adapters_tui |
| commands | commands | base, repository, build, test, scan, lint, update, deploy, repository-cmds-assets, test-cmds-assets, assets, godog, eac_create, eac_design, eac_drawio, eac_get, eac_init, eac_pipeline, eac_release, eac_show, eac_templates, eac_test, eac_validate, eac_work |
| eac | eac | eac, godog, eac-specs, eac~design |
| cli-installers | cli-installers | bash-eac, pwsh-eac, bash-clie, pwsh-clie, markdown-clie-installer |
| eac-ext | eac-ext | container, container~design, release-evidence-eac-ext, eac-ext-specs |
| eac-mcp-server | eac-mcp-server | commands, godog, eac-mcp-server-specs, eac-mcp-server~design |
| implicit-cli | implicit-cli | bash, bash~design, pwsh, implicit-cli-specs |
| vscode-commit | vscode-commit | vscode-commit, vscode-commit~design, cucumberjs, vscode-commit-specs |
| docs | docs | site, site~design, docs-assets, docs-drawio, docs-mermaid, tutorials, howto, explanation, reference, docs-specs |
| clie-eac-bundle | clie-eac-bundle | release-bundle, assets, release-evidence-clie-eac-bundle |