Internal: Monorepo Development
Reference documentation for developers contributing to the EAC monorepo.
Overview
The EAC repository is a modular monorepo containing:
- CLIE CLI - The core command-line framework
- EAC CLI - Automation tools (standalone + containerized)
- Supporting Modules - Shared libraries and infrastructure
In This Section
| Topic | Description |
|---|---|
| CLI vs Extensions | Two-tier architecture explained |
| Repository Layout | Directory structure and module organization |
| Contracts Overview | YAML contract system summary |
| Workflow Conventions | Git workflow for contributors |
Key Concepts
Modular Monorepo
All modules are defined in .eac/repository.yml. Each module has:
- Unique moniker (identifier)
- Components (go, typescript, specs, etc.)
- File ownership patterns
- Dependencies on other modules
Two-Tier Architecture
- CLIE CLI (Tier 1) - Framework running on the host
- Extensions (Tier 2) - Tools running in containers
Contract-Driven Configuration
Everything is configured via YAML contracts validated against JSON schemas:
repository.yml- Module definitions (in.eac/)blueprints.yml- Component kind definitions (system default)environments.yml- Test environments (system default)test-suites.yml- Test suite definitions (system default)
System defaults are in contracts/core/0.1.0/schemas/defaults/.
Quick Commands
# View all modules
eac show modules
# Check dependencies
eac show dependencies
# Validate contracts
eac validate
# Build a module
eac build <module>
# Test a module
eac test <module>
Getting Started
- Read Repository Layout to understand the structure
- Review CLI vs Extensions for architecture context
- Check Workflow Conventions before contributing
See Also
- Contracts Reference - Full contract documentation
- Local Setup - Development environment setup
Tutorials | How-to Guides | Explanation | Reference
You are here: Reference — information-oriented technical descriptions of the system.