Version: 0.1 Status: Draft Last Updated: 2026-02-08
Aido is a lightweight, open-source CLI tool that enables safe execution of AI-generated code against real infrastructure. It provides disposable sandboxed environments with scoped permissions, automatic cleanup, and full audit trails.
Developers don't trust AI-generated code to run against real infrastructure because:
- Local mocks don't catch real-world issues
- CI/CD is too slow for rapid iteration
- Production is too risky for experimental code
- No safe middle ground exists
A simple execution layer that:
- Runs code in isolated, ephemeral sandboxes
- Provides scoped infrastructure access (read-only by default)
- Generates complete audit trails
- Self-destructs automatically
- Requires zero infrastructure to get started
- ✅ Enable safe execution of AI-generated code
- ✅ Provide simple, composable primitives
- ✅ Generate verifiable evidence for every run
- ✅ Be secure by default
- ✅ Work locally with Docker (day 1)
- ✅ Support cloud sandboxes (future)
- ❌ Build an IDE or code editor
- ❌ Create a chat interface
- ❌ Replace CI/CD pipelines
- ❌ Build an autonomous agent framework
- ❌ Offer a hosted service (initially)
- ❌ Support production mutations by default
- Uses AI coding tools (Cursor, Copilot, Claude)
- Wants to test generated code quickly
- Needs confidence before committing changes
- Values fast feedback loops
- Builds internal tools for developer productivity
- Needs to provide safe experimentation environments
- Wants audit trails and security guarantees
- May integrate Aido into existing workflows
- Building autonomous coding agents
- Needs safe execution boundaries
- Wants detailed observability
- Requires reproducible environments
Purpose: Declarative config defining execution boundaries
Required Fields:
name— sandbox identifierruntime— execution environment (python, node, etc.)ttl— time-to-live before auto-destructioninputs— files/directories to mount (read-only)outputs— files/directories where results are writtenpermissions— infrastructure access grants (stub in v0.1)
Example:
name: test-migration
runtime: python:3.11
ttl: 15m
inputs:
- scripts/migrate.py
- config/*.json
outputs:
- results/
- migration.log
permissions:
filesystem: readonly
network: false- Creates new sandbox
- Generates unique ID
- Sets up directory structure
- Returns sandbox ID
- Executes task inside sandbox
- Mounts inputs (read-only)
- Captures stdout/stderr
- Records exit code
- Generates artifacts
- Shows logs from last or current run
- Supports live streaming with
--follow
- Tears down sandbox
- Removes all artifacts
- Frees resources
- Launches terminal UI
- Shows recent runs
- Provides artifact viewer
Every run generates:
stdout.log— standard outputstderr.log— standard errorsummary.json— metadata (start time, duration, exit code, etc.)events.log— structured event log- File diffs (if in git workspace)
Defaults:
- Inputs are read-only
- No network access
- No host filesystem access
- Automatic TTL enforcement
- Container resource limits
Escape Hatches:
--dangerous-allow-mutationsflag for write access--networkflag for network access- Explicit permission grants in
sandbox.yaml
# AI generates migration script
cursor generate migration.py
# Run it safely
aido sandbox up
aido run migration.py
# Review results
aido logs
cat .aido/sandboxes/<id>/outputs/migration.log
# Clean up
aido sandbox destroy# Download logs and configs
aws s3 cp s3://logs/incident-123/ inputs/
# Create sandbox with AWS read access
cat > sandbox.yaml <<EOF
name: incident-replay
runtime: python
ttl: 30m
permissions:
aws:
role: readonly
services: [ec2, rds]
EOF
# Run analysis
aido sandbox up
aido run analyze_incident.py
aido logs > report.txt# AI generates terraform changes
# Run validation in sandbox
aido run terraform validate
aido run terraform plan
cat .aido/sandboxes/latest/outputs/plan.out- 10+ developers trying Aido
- 5+ GitHub stars
- Working end-to-end with Docker
- Zero security incidents
- 100+ GitHub stars
- 10+ contributors
- 3+ production use cases documented
- Basic cloud sandbox support (AWS/GCP)
- 500+ GitHub stars
- Established security model
- Plugin ecosystem emerging
- Used in production by 10+ teams
- ✅
sandbox.yamlspec defined - ✅ CLI skeleton working
- ✅ Docker runtime functional
- ✅ Basic evidence generation
- ✅ Safety defaults enforced
- ✅ Documentation complete
- Terminal UI (
aido ui) - Better error messages
- Auto-cleanup of expired sandboxes
- Config validation
- AWS Lambda execution
- GCP Cloud Run support
- Remote artifact storage
- Cross-region execution
- Must work offline (no required cloud services)
- Must run on Linux, macOS, Windows (via Docker)
- Must produce human-readable artifacts
- Must be installable via single command
- Must have zero runtime dependencies beyond Docker
- All execution is isolated by default
- Credentials never stored in artifacts
- Audit logs are tamper-evident
- Network access is opt-in
- Filesystem mutations require explicit flags
- TTL enforcement prevents runaway processes
- Should we support persistent sandboxes for debugging?
- How do we handle secrets (env vars, credential files)?
- What's the right approach for multi-step workflows?
- Should outputs be encrypted at rest?
- How do we integrate with existing CI/CD?
README.md— Project overviewTECH_SPEC.md— Technical architectureexamples/— Sample configurations and tasks
Mantra: Trust comes from constraints. Autonomy comes later.