This guide walks you through initializing, configuring, and running an A.R.C. workspace.
- Overview
- Prerequisites
- Quick Start
- Workspace Commands
- Configuration
- Example Configurations
- Troubleshooting
An A.R.C. workspace is a directory containing:
arc.yaml- Your workspace manifest (source of truth).env- Environment variables for your services.arc/- System directory for state and generated configs
The workspace follows the Operator Pattern: you declare your desired state in arc.yaml, and the CLI generates
complete infrastructure configurations automatically.
Before starting, ensure you have:
-
A.R.C. CLI installed
# Verify installation arc --version -
Docker Desktop (for running the platform)
- macOS: https://docs.docker.com/desktop/setup/install/mac-install/
- Windows: https://docs.docker.com/desktop/setup/install/windows-install/
- Linux: https://docs.docker.com/desktop/setup/install/linux/
# Create a new workspace in the current directory
arc workspace init
# Or specify a path
arc workspace init ./my-projectThis creates:
my-project/
├── arc.yaml # Workspace manifest
├── .env # Environment variables
├── .gitignore # Git ignore rules
└── .arc/
├── state/ # Workspace state
├── data/ # Persistent data
└── generated/ # Generated configs
Edit arc.yaml to enable the features you need:
version: "1.0.0"
features:
voice: true # Voice AI capabilities
security: true # Authentication & authorization
observability: true # Metrics, logs, and traces
chaos: false # Chaos engineering (optional)
environment:
LOG_LEVEL: "info"
ENVIRONMENT: "development"# Generate configs and launch the platform
arc workspace run
# Or generate configs only (without launching)
arc workspace run --generate-only
# Run in detached mode (background)
arc workspace run --detached# View workspace information
arc workspace info
# View operation history
arc workspace historyInitialize a new workspace.
Flags:
-f, --force- Reinitialize existing workspace--skip-gitignore- Don't create/update .gitignore
Examples:
arc workspace init # Current directory
arc workspace init ./my-project # Specific path
arc workspace init --force # ReinitializeGenerate configurations and launch the platform.
Flags:
-d, --detached- Run in background--generate-only- Generate configs without launching--no-validate- Skip Docker validation
Examples:
arc workspace run # Interactive mode
arc workspace run -d # Background mode
arc workspace run --generate-only # Configs onlyDisplay workspace state and configuration.
Flags:
--no-color- Disable colored output
Output includes:
- Workspace root and manifest location
- Enabled features
- State information (init time, last update)
- Recent operations
Show operation history.
Flags:
-n, --limit N- Limit to N entries-t, --type TYPE- Filter by type (init, generate, run)-s, --status STATUS- Filter by status (success, failed)--no-color- Disable colored output
Examples:
arc workspace history # Full history
arc workspace history -n 10 # Last 10 operations
arc workspace history -t generate # Only generation ops
arc workspace history -s failed # Only failed ops# Version of the manifest schema
version: "1.0.0"
# Feature flags to enable/disable capabilities
features:
voice: false # Voice AI (Daredevil, Scarlett)
security: false # Auth (J.A.R.V.I.S., Nick Fury)
observability: false # Monitoring (Dr. House, Watson, Friday)
chaos: false # Chaos testing (Loki)
# Service-specific overrides (optional)
services:
arc-gateway:
config:
port: 8080
enable_tls: false
# Environment variables for all services
environment:
LOG_LEVEL: "info"
ENVIRONMENT: "development"Common variables you might configure:
# Logging
LOG_LEVEL=info
# Database
POSTGRES_USER=arc
POSTGRES_PASSWORD=your-secure-password
POSTGRES_DB=arc
# Redis
REDIS_PASSWORD=your-redis-password
# Security
SESSION_SECRET=your-session-secret
JWT_SECRET=your-jwt-secret
# Voice AI
OPENAI_API_KEY=sk-your-api-keyversion: "1.0.0"
features:
voice: false
security: false
observability: false
chaos: falseversion: "1.0.0"
features:
voice: true
security: false
observability: false
chaos: false
environment:
LOG_LEVEL: "info"
VOICE_MODEL: "whisper-large"
VOICE_PROVIDER: "openai"version: "1.0.0"
features:
voice: false
security: true
observability: true
chaos: false
services:
arc-gateway:
config:
enable_tls: true
enable_https_redirect: true
environment:
LOG_LEVEL: "warn"
ENVIRONMENT: "production"
SESSION_TTL: "24h"
MFA_REQUIRED: "true"version: "1.0.0"
features:
voice: true
security: true
observability: true
chaos: true
environment:
LOG_LEVEL: "debug"
ENVIRONMENT: "development"
TRACING_SAMPLE_RATE: "1.0"You're running a workspace command outside of a workspace.
Solution:
# Initialize a new workspace
arc workspace init
# Or navigate to an existing workspace
cd /path/to/workspaceDocker is required to run the platform.
Solution:
- Install Docker Desktop from https://docs.docker.com/get-started/get-docker/
- Restart your terminal
- Verify with
docker --version
Docker is installed but the daemon isn't running.
Solution:
- Start Docker Desktop from your applications
- Wait for it to fully start (whale icon in system tray)
- Verify with
docker ps
Multiple services are trying to use the same port.
Solution:
- Check which services conflict in the error message
- Update
arc.yamlto use different ports:services: arc-api: config: port: 8081 # Changed from 8080
- Regenerate configs with
arc workspace run --generate-only
Your arc.yaml has syntax or validation errors.
Solution:
- Check the error message for line number and field
- Validate YAML syntax (use a YAML validator)
- Ensure all required fields are present
- Check for typos in feature/service names
If you manually edit files in .arc/generated/, they will be overwritten on the next run.
Solution:
- Don't edit generated files directly
- Make all changes in
arc.yamland environment files - Use service config overrides in
arc.yamlfor customization
- Read the Development Guide for contribution guidelines
- Check Theme Guide for CLI customization
- Explore feature specs in
/specsdirectory
Last Updated: 2025-12-27