# marea v0.0.1-rc.1 - Table of Contents

> Elixir CLI for building, packaging and deploying Elixir apps to Kubernetes.

## Pages

- [Overview](readme.md)

- Getting Started
  - [Introduction](introduction.md)
  - [Installation](02-installation.md)
  - [Quick Start](03-quick-start.md)

- Core Concepts
  - [marea.yaml Reference](04-marea-yaml.md)
  - [Architecture](architecture.md)
  - [Plugin Development](06-plugin-development.md)
  - [Operations](07-operations.md)
  - [Commands Reference](08-commands.md)

- Base Plugins
  - [Base Plugin](base.md)
  - [Setup Plugin](setup.md)
  - [Build Plugin](build.md)
  - [Run Plugin](run.md)
  - [MCP Plugin](mcp.md)

- Optional Plugins
  - [Docker Plugin](docker.md)
  - [Helm Plugin](helm.md)
  - [Docker / Python Plugin](docker-python.md)
  - [K8s Plugin](k8s.md)
  - [AWS Plugin](aws.md)

## Modules

- Core
  - [Marea](Marea.md): Entry point for the `marea` escript.
  - [Marea.Config](Marea.Config.md): Runtime state struct shared by every command.
  - [Marea.Lib](Marea.Lib.md): Shared helpers used by every plugin.
  - [Marea.Service](Marea.Service.md): The `Malla.Service` that backs the running CLI.

- Config
  - [Marea.Config.Args](Marea.Config.Args.md): CLI argument assembly and parsing.
  - [Marea.Config.Schema](Marea.Config.Schema.md): Base `Zoi` schema for `marea.yaml`, plus the helpers plugins use to
validate and enrich it.
  - [Marea.Config.Yaml](Marea.Config.Yaml.md): Wrapper around YamlElixir that supports file includes.

- Plugins
  - [Marea.Plugins.Aws](Marea.Plugins.Aws.md): AWS subcommands: ECR (`login`, `login-docker`, `list`, `create`,
`delete`), Route53 (`get`, `list`, `create`, `delete`,
`update-deploy-domains`), and S3 (`sync-in`, `sync-out`).
  - [Marea.Plugins.Base](Marea.Plugins.Base.md): Defines the callbacks every Marea plugin can implement.
  - [Marea.Plugins.Build](Marea.Plugins.Build.md): Build subcommands: `clean`, `local`, `deps`, `release`.
  - [Marea.Plugins.Docker](Marea.Plugins.Docker.md): Docker subcommands and schema: `build docker`, `build show-dockerfile`,
`build show-docker-versions`.
  - [Marea.Plugins.Docker.Python](Marea.Plugins.Docker.Python.md): Adds a Python venv to the generated Docker image of a release.
  - [Marea.Plugins.Helm](Marea.Plugins.Helm.md): Helm subcommands: `chart`, `list`, `history`, `values`, `template`,
`upgrade`, `delete`, `rollback`. Also contributes `build helm` under
the `Marea.Plugins.Build` parent: build the release, build the docker
image (via `Marea.Plugins.Docker`), push to the registry, write the
resulting image tag back into the deploy's `values.yaml`, and
optionally `helm upgrade`.
  - [Marea.Plugins.K8s](Marea.Plugins.K8s.md): Kubernetes subcommands: `describe`, `logs`, `shell`, `console`,
`restart`, `remote`. Operates on the pods belonging to the active
deploy + release, resolved through the deploy's `helm.namespace` and
`helm.kube_context`.
  - [Marea.Plugins.Mcp](Marea.Plugins.Mcp.md): Exposes Marea's command tree as an MCP (Model Context Protocol)
server.
  - [Marea.Plugins.Run](Marea.Plugins.Run.md): Execution subcommands: `marea run local`, `run release`, `run docker`.
  - [Marea.Plugins.Setup](Marea.Plugins.Setup.md): Project-scaffolding subcommands: `marea setup init-marea`,
`marea setup init-umbrella` and `marea setup init-release`.

- MCP
  - [Marea.Mcp.Runner](Marea.Mcp.Runner.md): Executes a single Marea command inside an isolated task and
returns its captured output.
  - [Marea.Mcp.Server](Marea.Mcp.Server.md): Minimal MCP server for Marea, speaking JSON-RPC 2.0 over
newline-delimited stdio (the stdio transport from the MCP spec).
  - [Marea.Mcp.Tools](Marea.Mcp.Tools.md): Generates MCP tool descriptors from the Marea CLI command tree.
  - [Marea.Stop](Marea.Stop.md): Exception raised by `Marea.Lib.stop/1` when running under the
`:raise` stop mode.

- Templates
  - [Marea.Templates](Marea.Templates.md): Template registry, embedded at compile time.

## Mix Tasks

- Mix Tasks
  - [mix marea](Mix.Tasks.Marea.md): Run marea commands without building the escript: `mix marea run local`.
  - [mix marea.build](Mix.Tasks.Marea.Build.md): Builds the marea escript and wraps it as a self-contained executable.

