Skip to content

Command Reference

Complete technical reference for all EAC commands.

Quick Access

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

CI/CD

Release Management

Workspace Development

Getting Started

New to EAC Commands?

  1. Start with the basics:
  2. Command Taxonomy - Understand how commands are organized
  3. Naming Conventions - Learn command naming patterns
  4. Common Flags - Global options all commands accept

  5. Explore by category:

  6. Browse the Categories Index to find commands by function
  7. Start with show commands for exploration
  8. Use get commands for automation

  9. 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?

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:

r2r eac get modules | jq -r '.modules[].moniker'

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:

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:

Contributing

Adding New Commands

When adding new commands to EAC:

  1. Follow Naming Conventions
  2. Choose appropriate category (verb-first)
  3. Implement both get (JSON) and show (formatted) variants for information commands
  4. Add comprehensive help text
  5. 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

Categories

How-to Guides


Tutorials | How-to Guides | Explanation | Reference

You are here: Reference — information-oriented technical descriptions of the system.