> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amika.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture overview

> Core Amika concepts and system layout.

Amika lets you create VMs and sandboxes on (a) machines you already own, (b) in
your existing cloud accounts, or (c) in compute you rent from Amika.

We call these VMs and sandboxes "rigs": isolated devboxes for developers or
agents.  You drive rigs and their agents from the web UI, the open-source
`amika` CLI, the TypeScript SDK, or the HTTP API.

## Core concepts

* **Rigs**: Isolated VMs with your repos, agent credentials, and services in
  place. Agents work in `/home/amika/workspace`. A rig can be temporary or
  persistent.
* **Hosts**: Machines you own that run rigs. The `amika-hostd` daemon registers
  a machine with Amika and runs each rig on it as a local VM with
  [smolvm](https://smolmachines.com). See
  [Bring your own compute](https://docs.amika.dev/guides/byoc.md).
* **Amika Cloud compute**: When you don't pick a host, Amika runs the rig on Amika's
  own cloud compute.
* **Control plane**: The hosted API and web UI at `app.amika.dev`. It
  authenticates requests, stores configuration and secrets, provisions rigs, and
  forwards requests to your hosts.
* **Preset environments**: Bundled images (`coder`, `coder-plus-docker`) with
  common tooling and agent CLIs. See [Presets](https://docs.amika.dev/reference/presets.md).
* **Services**: Named network-facing ports with URL schemes, declared in
  `.amika/config.toml`. See [Services](https://docs.amika.dev/reference/services.md).
* **Snapshots**: Captured rig state you can create new rigs from. See
  [Create a snapshot](https://docs.amika.dev/guides/create-a-snapshot.md).
* **Credential discovery**: `amika secret extract` finds local coding-agent
  credentials so you can push them as Amika secrets. Rigs receive credentials
  from the control plane, not from your machine.

## Components

| Component | Purpose |
| - | - |
| `amika` | CLI for rigs, hosts, snapshots, services, secrets, and agent messages |
| `amika-hostd` | Daemon that turns a machine you own into a host |
| `amikad` | Daemon inside each rig that serves SSH connections and tracks injected credentials so snapshots can scrub them |
| `@amika/sdk` | TypeScript SDK for the hosted API |

## Package layout

The open-source code lives in [gofixpoint/amika](https://github.com/gofixpoint/amika).

```text theme={null}
go/cmd/amika          # CLI entrypoint
go/cmd/amikad         # In-rig daemon
js/amika-hostd        # Host daemon for your own machines
sdk/typescript        # TypeScript SDK
```

## State storage

The CLI stores local state files in XDG paths by default.

See [Storage paths](https://docs.amika.dev/reference/storage.md) for exact locations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.