Command Reference
Complete technical reference for all EAC commands.
Quick Access
- Language Support - Which commands work with which languages
- Command Taxonomy - How commands are organized
- All Categories - Browse by category
- Naming Conventions - Command naming patterns
- Common Flags - Global options
- Output Formats - JSON vs human-readable output
Command Categories
| Category | Commands | Purpose |
|---|---|---|
| create | 7 | AI-powered generation (commits, specs, designs, PRs) |
| get | 18 | JSON output for automation and scripting |
| show | 17 | Human-readable output for interactive use |
| validate | 20 | Contract and dependency validation |
| work | 6 | Workspace management (git worktrees) |
| test | 4 | Testing and test suite management |
| build | 1 | Module building |
| pipeline | 6 | CI/CD orchestration |
| release | 8 | Release management and versioning |
| scan | 8 | Security scanning (SAST, secrets, vulnerabilities) |
| serve | 2 | Local development servers |
| templates | 7 | Template management |
| update | 1 | Update operations |
| other | 3 | Help, init, extension metadata |
Total: 108 commands
Common Workflows
Module Development
- show modules - List all modules
- build - Build modules
- test - Test modules
- validate dependencies - Check contracts
CI/CD
- get changed-modules-ci - Find changed modules
- get execution order - Get build order
- pipeline run - Execute pipelines
- show build-summary - Display results
Release Management
- release pending - Check for changes
- release changelog - Update changelog
- release check-ci - Verify CI status
- release this - Create release
Workspace Development
- work create - Create workspace
- work commit - Commit with AI messages
- work pull - Sync with main
- work merge - Merge to main
Getting Started
New to EAC Commands?
- Start with the basics:
- Command Taxonomy - Understand how commands are organized
- Naming Conventions - Learn command naming patterns
-
Common Flags - Global options all commands accept
-
Explore by category:
- Browse the Categories Index to find commands by function
- Start with show commands for exploration
-
Use get commands for automation
-
Try common commands:
# Discover modules
r2r eac show modules
# Get help for any command
r2r eac help <command>
# Build a module
r2r eac build <module>
# Run tests
r2r eac test <module>
Looking for a Specific Command?
- By name: Use the search function or browse categories
- By purpose: See Command Taxonomy
- By output format: See Output Formats
Command Reference Pages
Each command has a dedicated reference page with:
- Overview: Command purpose and use cases
- Syntax: Full command syntax with options
- Arguments & Flags: Detailed parameter documentation
- Output: Output format and schema (for JSON commands)
- Examples: Common usage patterns
- Error Handling: Common errors and solutions
- Related Commands: Links to related functionality
Example: create commit-message
Output Formats
EAC commands produce two types of output:
JSON Output (get commands)
Structured, machine-readable output for automation:
$ r2r eac get modules
{
"modules": [
{
"moniker": "eac-commands",
"type": "go-commands",
"path": "go/eac/commands",
"dependencies": ["eac-core"],
"files": 45
}
]
}
Process with jq:
See: Get Commands, Output Formats
Formatted Output (show commands)
Human-readable tables and text for interactive use:
$ r2r eac show modules
┌───────────────┬─────────────┬────────────────────┬──────┐
│ Moniker │ Type │ Path │ Files│
├───────────────┼─────────────┼────────────────────┼──────┤
│ eac-commands │ go-commands │ go/eac/commands │ 45 │
│ eac-core │ go-library │ go/eac/core │ 32 │
└───────────────┴─────────────┴────────────────────┴──────┘
See: Show Commands, Output Formats
Category Highlights
AI-Powered Commands (create)
Generate content using AI:
- create commit-message - Semantic commit messages from staged changes
- create pr - Pull request descriptions from branch diff
- create spec - Gherkin specifications from natural language
- create design - Architecture diagrams with AI assistance
Setup: Run r2r eac init to configure your AI provider
See: Create Commands Category, Init Command
Information Commands (get/show)
Retrieve repository information:
- get/show modules - Module contracts and metadata
- get/show dependencies - Dependency graphs
- get/show files - File-to-module ownership mappings
- get/show config - EAC configuration
Rule: Use get for JSON (automation), show for tables (interactive)
See: Get Commands, Show Commands
Quality Commands (validate/scan/test)
Ensure code quality and security:
- validate - Check contracts, dependencies, and specifications
- scan - Security scans (secrets, vulnerabilities, SAST, IaC)
- test - Run unit, integration, and acceptance tests
Use in: Pre-commit hooks, CI/CD pipelines, release gates
See: Validate Commands, Scan Commands, Test Commands
Workflow Commands (work/release/pipeline)
Manage development workflows:
- work - Git worktree workspace management for parallel development
- release - Release preparation, changelogs, and versioning
- pipeline - CI/CD orchestration and monitoring
See: Work Commands, Release Commands, Pipeline Commands
Integration Examples
Pre-commit Hook
#!/bin/bash
# .git/hooks/pre-commit
# Fast validation (< 10 min)
r2r eac validate specs || exit 1
r2r eac validate go-tidy || exit 1
r2r eac scan secrets || exit 1
r2r eac test --short || exit 1
echo "✓ Pre-commit checks passed"
CI/CD Pipeline
name: Build and Test
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get Changed Modules
id: changed
run: |
MODULES=$(r2r eac get changed-modules-ci | jq -r '.changed_modules | join(" ")')
echo "modules=$MODULES" >> $GITHUB_OUTPUT
- name: Build and Test
run: |
for module in ⟪ steps.changed.outputs.modules ⟫; do
r2r eac build $module
r2r eac test $module
done
- name: Security Scan
run: |
r2r eac scan compliance
r2r eac scan vuln
Release Script
#!/bin/bash
# release.sh
set -e
# Check for changes
r2r eac release pending || {
echo "No changes to release"
exit 0
}
# Generate changelog
r2r eac release changelog
# Validate
r2r eac validate release
# Check CI
r2r eac release check-ci $(git rev-parse HEAD)
# Create release
r2r eac release this
echo "✓ Release created"
For Interactive Use
See How-to Guides for practical, task-oriented documentation:
- Commit Command Guide - Generate AI commit messages
- Init Command Guide - Setup AI provider
- Workspace Commands Guide - Use git worktrees
- Show Commands Guide - Explore repository
Contributing
Adding New Commands
When adding new commands to EAC:
- Follow Naming Conventions
- Choose appropriate category (verb-first)
- Implement both
get(JSON) andshow(formatted) variants for information commands - Add comprehensive help text
- Update this reference documentation
Documentation Standards
Command reference pages should include:
- Clear purpose statement
- Complete syntax with all flags
- Output schema (for JSON commands)
- Common use cases and examples
- Error handling guidance
- Links to related commands
See Also
Overview
- Command Taxonomy - Organization and categories
- Naming Conventions - Naming rules
- Common Flags - Global options
- Output Formats - JSON vs formatted
Categories
- All Categories - Browse all command categories
- Create Commands - AI-powered generation
- Get Commands - JSON output
- Show Commands - Formatted output
How-to Guides
- Command Guides - Task-oriented guides
Tutorials | How-to Guides | Explanation | Reference
You are here: Reference — information-oriented technical descriptions of the system.