Architecture: Docker Comparison

aide.sh follows Docker's conceptual model, applied to AI agents instead of application containers.

Command mapping

Dockeraide.shPurpose
DockerfileAgentfile.tomlPackage definition
docker buildaide.sh buildCreate distributable image
docker runaide.sh runCreate and start an instance
docker execaide.sh execRun a command inside an instance
docker psaide.sh psList running instances
docker stopaide.sh stopStop an instance
docker rmaide.sh rmRemove an instance
docker logsaide.sh logsView instance logs
docker inspectaide.sh inspectDetailed instance metadata
docker pushaide.sh pushUpload image to registry
docker pullaide.sh pullDownload image from registry
docker imagesaide.sh imagesList local images
docker searchaide.sh searchSearch the registry
docker loginaide.sh loginAuthenticate with registry
Docker Hubhub.aide.shPublic registry
Docker Desktopaide.sh dashGUI dashboard

Concept mapping

Docker conceptaide.sh equivalentNotes
ImageAgent typeImmutable package: Agentfile + skills + persona + seed
ContainerInstanceRunning agent with its own memory and logs
Volumesmemory/ + seed/seed/ is read-only; memory/ is read-write
SecretsVault (~/.aide/vault.age)Age-encrypted, scoped per-agent and per-skill
EntrypointSkills (script or prompt)Each skill is an independent entry point
ENV[env] sectionDeclares required/optional secrets
Registryhub.aide.shPush/pull agent images
Composeaide.tomlMulti-agent configuration
Daemonaide.sh upBackground process for cron + dashboard
CPU/RAMLLMRuntime resource provided by caller, not owned by agent

Key differences

Multiple entry points. A Docker container has one entrypoint. An aide.sh instance has many skills, each independently callable.

External compute. Docker containers own their process. aide.sh agents do not own their LLM -- it is provided by the caller (MCP client, terminal user, or local Ollama).

Cross-tool mounting. Docker volumes mount filesystems. aide.sh mount injects agent context into LLM tools (Claude Code, Codex, Gemini) as markdown files.

Deterministic packages. Agent images contain only scripts and markdown. No model weights, no runtime binaries, no language-specific dependencies. A typical image is kilobytes, not gigabytes.

Lifecycle comparison

Docker:   build -> push -> pull -> run -> exec -> stop -> rm
aide.sh:  build -> push -> pull -> run -> exec -> stop -> rm

The lifecycle is intentionally identical. If you know Docker, you know aide.sh.