Containerized AI coding agent runner. Zero host dependencies — only needs Podman or Docker.
C#
0
14 commits
updated May 2, 2026
Containerized AI coding agent runner. Zero host dependencies — only needs Podman or Docker.
Runs AI agents (OpenCode, Aider) in minimal, dynamically-built containers. Auto-detects project runtimes from config files and builds the right environment on demand. Includes interactive model management for local llama-server.
.csproj, package.json, pyproject.toml, go.mod, Cargo.toml for runtime requirementsllama-server is optional.
modelcommands start a llama-server automatically — natively ifllama-serveris in your PATH, or as a container via Podman/Docker otherwise. The container image is auto-selected based on your GPU: CUDA (server-cuda) for NVIDIA, Vulkan (server-vulkan) for AMD/Intel, or CPU-only (server) as a fallback. No manual install or configuration required.
Grab the latest release from GitHub Releases:
| Platform | File |
|---|---|
| Linux x64 | Agelos-linux-x64 |
| Linux ARM64 | Agelos-linux-arm64 |
| macOS x64 | Agelos-osx-x64 |
| macOS ARM64 | Agelos-osx-arm64 |
| Windows x64 | Agelos-win-x64.exe |
# Linux/macOS
chmod +x Agelos-linux-x64
sudo mv Agelos-linux-x64 /usr/local/bin/Agelos
curl -fsSL https://raw.githubusercontent.com/locheed/Agelos/main/scripts/install.sh | bash
irm https://raw.githubusercontent.com/locheed/Agelos/main/scripts/install.ps1 | iex
Installs to %USERPROFILE%\.local\bin\agelos.exe and adds that directory to your user PATH automatically. Restart your terminal after installing.
Agelos run <agent>Run an AI coding agent in a container.
Agelos run opencode
Agelos run aider
Agelos run gemini
# Options
Agelos run opencode --runtimes dotnet:10,node:20 # explicit runtimes
Agelos run opencode --addon llama-cpp # add llama-cpp layer
Agelos run opencode --rebuild # force image rebuild
Agelos run opencode --minimal # skip runtime detection
Container is built from project runtimes (auto-detected or from .Agelos.yml). Workspace is mounted at /workspace. If .Agelos/opencode.json exists, it is synced to ~/.config/opencode/config.json before launch so each project can have its own model set.
Gemini CLI authentication: Set
GEMINI_API_KEYin your host environment before runningAgelos run gemini. The variable is automatically forwarded into the container. Alternatively, rungemini authinside the container the first time — credentials are persisted in~/.gemini/which is mounted from your host.
Agelos model addInteractive download and registration of a GGUF model.
1. Pick model family (Qwen3 / Llama 3 / Other)
2. Pick model (with context size shown)
3. Pick quantization (Q2_K → Q8_0, with approx size)
4. Confirm download
5. Downloads to ~/.Agelos/models/
6. Writes to .Agelos/opencode.json
7. Restarts llama-server on port 8033
Agelos model add
Agelos model listShow downloaded models and project config status.
Agelos model list
╭──────────────────────────────────────┬──────────┬───────────╮
│ File │ Size │ In config │
├──────────────────────────────────────┼──────────┼───────────┤
│ Qwen_Qwen3-8B-Q4_K_M.gguf │ 5.0 GB │ yes │
│ Llama-3.2-3B-Instruct-Q4_K_M.gguf │ 2.0 GB │ no │
╰──────────────────────────────────────┴──────────┴───────────╯
Agelos model removeInteractively delete a downloaded model and unregister it from project config.
Agelos model remove
Agelos webui startSpin up Open WebUI as a local browser chat interface backed by llama-server. The container is pulled automatically on first use.
Agelos webui start # CPU image, opens browser when ready
Agelos webui start --cuda # CUDA-accelerated image (requires NVIDIA GPU + nvidia-container-toolkit)
OPENAI_API_KEY is set in your environment it is forwarded into the container; otherwise a placeholder is used (llama-server does not validate API keys)GPU note for Open WebUI (
--cuda): The--cudaflag controls the Open WebUI container image only. llama-server's container image is auto-selected separately byagelos model add— no flag needed there. See the GPU auto-detection table below.
agelos model add (and any restart) probes the host and picks the right llama.cpp container image automatically:
| Detected | Image used | Docker args added | Extra requirement |
|---|---|---|---|
nvidia-smi + nvidia-container-cli or nvidia-ctk | ghcr.io/ggerganov/llama.cpp:server-cuda | --gpus all | nvidia-container-toolkit |
nvidia-smi only (toolkit missing) | falls through to Vulkan ↓ | — | — |
vulkaninfo in PATH (Linux / WSL2) | ghcr.io/ggerganov/llama.cpp:server-vulkan | --device /dev/dri | None — standard device passthrough |
vulkaninfo in PATH (Windows) | falls through to CPU ↓ | — | /dev/dri unavailable in Docker Desktop / Podman Desktop/Machine |
| Neither found / Windows no toolkit | ghcr.io/ggerganov/llama.cpp:server | (none) | (CPU only) |
If an NVIDIA GPU is found but the toolkit is not installed, Agelos warns and falls back to Vulkan on Linux/WSL2, or CPU on Windows. No manual intervention required in any case.
Best performance tip: Install
llama-servernatively on your host. Agelos always prefers the native binary over a container — it talks to your GPU directly via CUDA/Vulkan/Metal drivers with no container overhead and no toolkit requirement. Vulkan container mode works on Linux and WSL2 but not on Windows Docker Desktop (no/dev/dripassthrough).
Agelos webui stopStop the running Open WebUI container.
Agelos webui stop
Agelos webui statusShow whether Open WebUI is running and at which URL, plus llama-server health.
Agelos webui status
Agelos listList available agents, add-ons, and supported runtimes.
Agelos list
Agelos list --agents
Agelos list --runtimes
Agelos initDetect runtimes from existing project files and write .Agelos.yml.
cd my-project
Agelos init
Agelos new <template> <name>Create a new project from a template.
Agelos new dotnet-api MyApi
Agelos add-runtime <spec>Add a runtime to an existing .Agelos.yml.
Agelos add-runtime node:20
Agelos prebuildBuild the container image without starting an agent. Useful for CI or slow networks.
Agelos prebuild
.Agelos.yml — project runtime configAuto-generated by Agelos init or Agelos new. Defines runtimes and agent.
version: "1.0"
agent: opencode
runtimes:
dotnet:
- "10"
node: "20"
.Agelos/opencode.json — project model configCreated and managed by Agelos model add. Defines which local models are available to OpenCode in this project. Committed to source control — different projects can use different models.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llama-local": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://127.0.0.1:8033/v1"
},
"models": {
"Qwen_Qwen3-8B-Q4_K_M.gguf": {
"name": "Qwen3 8B (Q4_K_M)",
"limit": { "context": 131072, "output": 32768 }
}
}
}
}
}
| Runtime | Example spec |
|---|---|
| .NET | dotnet:9, dotnet:10, dotnet:11 |
| Node.js | node:20, node:22, node:24, node:25 |
| Python | python:3.12 |
| Go | go:1.22 |
| Rust | rust:stable |
Agelos model add)All models sourced from bartowski on HuggingFace. Sizes in GB.
| Family | Model | Ctx | Q2_K | Q3_K_M | Q4_K_M ✓ | Q5_K_M | Q6_K | Q8_0 |
|---|---|---|---|---|---|---|---|---|
| Qwen3 | Qwen3 0.6B | 32K | 0.2 | 0.2 | 0.4 | 0.5 | 0.6 | 0.7 |
| Qwen3 14B | 128K | 3.8 | 5.0 | 9.0 | 11.0 | 12.8 | 16.6 | |
| Qwen3.5 | Qwen3.5 2B | 256K | 0.6 | 0.7 | 1.3 | 1.6 | 1.9 | 2.4 |
| Qwen3.5 4B | 256K | 1.2 | 1.6 | 2.9 | 3.5 | 4.1 | 5.3 | |
| Qwen3.5 9B | 256K | 2.5 | 3.3 | 5.9 | 7.2 | 8.4 | 10.8 | |
| Qwen3.6 | Qwen3.6 27B | 256K | 7.4 | 9.8 | 17.5 | 21.4 | 24.9 | 32.3 |
| Qwen3.6 35B-A3B (MoE) | 256K | 9.0 | 12.0 | 21.4 | 26.1 | 30.4 | 39.4 | |
| Llama 3 | Llama 3.2 1B | 128K | 0.3 | 0.4 | 0.7 | 0.9 | 1.0 | 1.3 |
| Llama 3.2 3B | 128K | 0.8 | 1.1 | 2.0 | 2.4 | 2.8 | 3.7 | |
| Llama 3.1 8B | 128K | 2.1 | 2.7 | 4.9 | 6.0 | 7.0 | 9.0 | |
| Gemma 3 | Gemma 3 4B | 128K | 1.1 | 1.5 | 2.6 | 3.2 | 3.7 | 4.8 |
| Gemma 3 12B | 128K | 3.1 | 4.1 | 7.3 | 8.9 | 10.4 | 13.4 | |
| Gemma 4 | Gemma 4 E2B | 128K | 1.5 | 1.9 | 3.5 | 4.2 | 4.9 | 6.4 |
| Gemma 4 E4B | 128K | 2.3 | 3.0 | 5.4 | 6.6 | 7.7 | 10.0 | |
| Gemma 4 26B-A4B (MoE) | 256K | 7.1 | 9.5 | 17.0 | 20.7 | 24.1 | 31.3 | |
| Gemma 4 31B | 256K | 8.2 | 11.0 | 19.6 | 23.9 | 27.8 | 36.1 | |
| Other | Mistral 7B v0.3 | 32K | 1.8 | 2.5 | 4.4 | 5.4 | 6.2 | 8.1 |
| Phi-4 Mini | 128K | 0.9 | 1.2 | 2.2 | 2.7 | 3.1 | 4.0 |
Model files download to ~/.Agelos/models/ (shared across projects, not in repo).
# Run a command directly (-- separates dotnet args from Agelos args)
dotnet run --project src/Agelos.Cli -- run opencode
dotnet run --project src/Agelos.Cli -- model list
dotnet run --project src/Agelos.Cli -- model add
dotnet run --project src/Agelos.Cli -- webui start
dotnet run --project src/Agelos.Cli -- webui start --cuda
dotnet run --project src/Agelos.Cli -- webui stop
dotnet run --project src/Agelos.Cli -- webui status
dotnet run --project src/Agelos.Cli -- --help
# Rebuilds and relaunches on any source change
dotnet watch run --project src/Agelos.Cli -- list
Watch mode doesn't work well for interactive commands (TUI prompts). For those, use dotnet run directly.
dotnet build src/Agelos.Cli --nologo
dotnet test tests/Agelos.Tests
# Verbose output
dotnet test tests/Agelos.Tests -v normal
# Single test class
dotnet test tests/Agelos.Tests --filter "FullyQualifiedName~RuntimeParserTests"
Native AOT produces a single self-contained executable with no .NET runtime requirement.
# Current platform
dotnet publish src/Agelos.Cli -c Release
# Cross-compile (requires cross-compilation toolchain on Linux/macOS)
dotnet publish src/Agelos.Cli -c Release -r linux-x64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r linux-arm64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r osx-x64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r osx-arm64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r win-x64 --self-contained
Output: src/Agelos.Cli/bin/Release/net10.0/<rid>/publish/Agelos[.exe]
Note: Native AOT cross-compilation is platform-restricted. The GitHub Actions release workflow builds each target on its native OS. For local dev, build for the current platform only.
src/
Agelos.Cli/
Commands/ # CLI commands: run, init, list, new, add-runtime, prebuild, model, webui
Core/ # Runtime detection, container building, container running
Services/ # File, process, config, model download, llama-server, opencode config, open-webui
Models/ # Data structures: config, container options, runtime requirements, model catalog
Prompts/ # Interactive Spectre.Console prompts (greenfield setup, model selection)
tests/
Agelos.Tests/ # xUnit unit tests
assets/
agents/
opencode/ # entrypoint.sh — runtime request bridge; COPY-ed into the OpenCode image at build time
scripts/
install.sh # curl-pipe installer for Linux/macOS
containers/ # ← runtime-generated; gitignored — Agelos writes per-project build artefacts here
| Warning | File | Status |
|---|---|---|
| IL3050 YamlDotNet reflection | ConfigService.cs | Known, non-blocking. Fix: migrate to StaticSerializerBuilder before release. |
MIT
C#
98.0%
Shell
1.3%
Containerized AI coding agent runner. Zero host dependencies — only needs Podman or Docker.
C#
0
14 commits
updated May 2, 2026
Containerized AI coding agent runner. Zero host dependencies — only needs Podman or Docker.
Runs AI agents (OpenCode, Aider) in minimal, dynamically-built containers. Auto-detects project runtimes from config files and builds the right environment on demand. Includes interactive model management for local llama-server.
.csproj, package.json, pyproject.toml, go.mod, Cargo.toml for runtime requirementsllama-server is optional.
modelcommands start a llama-server automatically — natively ifllama-serveris in your PATH, or as a container via Podman/Docker otherwise. The container image is auto-selected based on your GPU: CUDA (server-cuda) for NVIDIA, Vulkan (server-vulkan) for AMD/Intel, or CPU-only (server) as a fallback. No manual install or configuration required.
Grab the latest release from GitHub Releases:
| Platform | File |
|---|---|
| Linux x64 | Agelos-linux-x64 |
| Linux ARM64 | Agelos-linux-arm64 |
| macOS x64 | Agelos-osx-x64 |
| macOS ARM64 | Agelos-osx-arm64 |
| Windows x64 | Agelos-win-x64.exe |
# Linux/macOS
chmod +x Agelos-linux-x64
sudo mv Agelos-linux-x64 /usr/local/bin/Agelos
curl -fsSL https://raw.githubusercontent.com/locheed/Agelos/main/scripts/install.sh | bash
irm https://raw.githubusercontent.com/locheed/Agelos/main/scripts/install.ps1 | iex
Installs to %USERPROFILE%\.local\bin\agelos.exe and adds that directory to your user PATH automatically. Restart your terminal after installing.
Agelos run <agent>Run an AI coding agent in a container.
Agelos run opencode
Agelos run aider
Agelos run gemini
# Options
Agelos run opencode --runtimes dotnet:10,node:20 # explicit runtimes
Agelos run opencode --addon llama-cpp # add llama-cpp layer
Agelos run opencode --rebuild # force image rebuild
Agelos run opencode --minimal # skip runtime detection
Container is built from project runtimes (auto-detected or from .Agelos.yml). Workspace is mounted at /workspace. If .Agelos/opencode.json exists, it is synced to ~/.config/opencode/config.json before launch so each project can have its own model set.
Gemini CLI authentication: Set
GEMINI_API_KEYin your host environment before runningAgelos run gemini. The variable is automatically forwarded into the container. Alternatively, rungemini authinside the container the first time — credentials are persisted in~/.gemini/which is mounted from your host.
Agelos model addInteractive download and registration of a GGUF model.
1. Pick model family (Qwen3 / Llama 3 / Other)
2. Pick model (with context size shown)
3. Pick quantization (Q2_K → Q8_0, with approx size)
4. Confirm download
5. Downloads to ~/.Agelos/models/
6. Writes to .Agelos/opencode.json
7. Restarts llama-server on port 8033
Agelos model add
Agelos model listShow downloaded models and project config status.
Agelos model list
╭──────────────────────────────────────┬──────────┬───────────╮
│ File │ Size │ In config │
├──────────────────────────────────────┼──────────┼───────────┤
│ Qwen_Qwen3-8B-Q4_K_M.gguf │ 5.0 GB │ yes │
│ Llama-3.2-3B-Instruct-Q4_K_M.gguf │ 2.0 GB │ no │
╰──────────────────────────────────────┴──────────┴───────────╯
Agelos model removeInteractively delete a downloaded model and unregister it from project config.
Agelos model remove
Agelos webui startSpin up Open WebUI as a local browser chat interface backed by llama-server. The container is pulled automatically on first use.
Agelos webui start # CPU image, opens browser when ready
Agelos webui start --cuda # CUDA-accelerated image (requires NVIDIA GPU + nvidia-container-toolkit)
OPENAI_API_KEY is set in your environment it is forwarded into the container; otherwise a placeholder is used (llama-server does not validate API keys)GPU note for Open WebUI (
--cuda): The--cudaflag controls the Open WebUI container image only. llama-server's container image is auto-selected separately byagelos model add— no flag needed there. See the GPU auto-detection table below.
agelos model add (and any restart) probes the host and picks the right llama.cpp container image automatically:
| Detected | Image used | Docker args added | Extra requirement |
|---|---|---|---|
nvidia-smi + nvidia-container-cli or nvidia-ctk | ghcr.io/ggerganov/llama.cpp:server-cuda | --gpus all | nvidia-container-toolkit |
nvidia-smi only (toolkit missing) | falls through to Vulkan ↓ | — | — |
vulkaninfo in PATH (Linux / WSL2) | ghcr.io/ggerganov/llama.cpp:server-vulkan | --device /dev/dri | None — standard device passthrough |
vulkaninfo in PATH (Windows) | falls through to CPU ↓ | — | /dev/dri unavailable in Docker Desktop / Podman Desktop/Machine |
| Neither found / Windows no toolkit | ghcr.io/ggerganov/llama.cpp:server | (none) | (CPU only) |
If an NVIDIA GPU is found but the toolkit is not installed, Agelos warns and falls back to Vulkan on Linux/WSL2, or CPU on Windows. No manual intervention required in any case.
Best performance tip: Install
llama-servernatively on your host. Agelos always prefers the native binary over a container — it talks to your GPU directly via CUDA/Vulkan/Metal drivers with no container overhead and no toolkit requirement. Vulkan container mode works on Linux and WSL2 but not on Windows Docker Desktop (no/dev/dripassthrough).
Agelos webui stopStop the running Open WebUI container.
Agelos webui stop
Agelos webui statusShow whether Open WebUI is running and at which URL, plus llama-server health.
Agelos webui status
Agelos listList available agents, add-ons, and supported runtimes.
Agelos list
Agelos list --agents
Agelos list --runtimes
Agelos initDetect runtimes from existing project files and write .Agelos.yml.
cd my-project
Agelos init
Agelos new <template> <name>Create a new project from a template.
Agelos new dotnet-api MyApi
Agelos add-runtime <spec>Add a runtime to an existing .Agelos.yml.
Agelos add-runtime node:20
Agelos prebuildBuild the container image without starting an agent. Useful for CI or slow networks.
Agelos prebuild
.Agelos.yml — project runtime configAuto-generated by Agelos init or Agelos new. Defines runtimes and agent.
version: "1.0"
agent: opencode
runtimes:
dotnet:
- "10"
node: "20"
.Agelos/opencode.json — project model configCreated and managed by Agelos model add. Defines which local models are available to OpenCode in this project. Committed to source control — different projects can use different models.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llama-local": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://127.0.0.1:8033/v1"
},
"models": {
"Qwen_Qwen3-8B-Q4_K_M.gguf": {
"name": "Qwen3 8B (Q4_K_M)",
"limit": { "context": 131072, "output": 32768 }
}
}
}
}
}
| Runtime | Example spec |
|---|---|
| .NET | dotnet:9, dotnet:10, dotnet:11 |
| Node.js | node:20, node:22, node:24, node:25 |
| Python | python:3.12 |
| Go | go:1.22 |
| Rust | rust:stable |
Agelos model add)All models sourced from bartowski on HuggingFace. Sizes in GB.
| Family | Model | Ctx | Q2_K | Q3_K_M | Q4_K_M ✓ | Q5_K_M | Q6_K | Q8_0 |
|---|---|---|---|---|---|---|---|---|
| Qwen3 | Qwen3 0.6B | 32K | 0.2 | 0.2 | 0.4 | 0.5 | 0.6 | 0.7 |
| Qwen3 14B | 128K | 3.8 | 5.0 | 9.0 | 11.0 | 12.8 | 16.6 | |
| Qwen3.5 | Qwen3.5 2B | 256K | 0.6 | 0.7 | 1.3 | 1.6 | 1.9 | 2.4 |
| Qwen3.5 4B | 256K | 1.2 | 1.6 | 2.9 | 3.5 | 4.1 | 5.3 | |
| Qwen3.5 9B | 256K | 2.5 | 3.3 | 5.9 | 7.2 | 8.4 | 10.8 | |
| Qwen3.6 | Qwen3.6 27B | 256K | 7.4 | 9.8 | 17.5 | 21.4 | 24.9 | 32.3 |
| Qwen3.6 35B-A3B (MoE) | 256K | 9.0 | 12.0 | 21.4 | 26.1 | 30.4 | 39.4 | |
| Llama 3 | Llama 3.2 1B | 128K | 0.3 | 0.4 | 0.7 | 0.9 | 1.0 | 1.3 |
| Llama 3.2 3B | 128K | 0.8 | 1.1 | 2.0 | 2.4 | 2.8 | 3.7 | |
| Llama 3.1 8B | 128K | 2.1 | 2.7 | 4.9 | 6.0 | 7.0 | 9.0 | |
| Gemma 3 | Gemma 3 4B | 128K | 1.1 | 1.5 | 2.6 | 3.2 | 3.7 | 4.8 |
| Gemma 3 12B | 128K | 3.1 | 4.1 | 7.3 | 8.9 | 10.4 | 13.4 | |
| Gemma 4 | Gemma 4 E2B | 128K | 1.5 | 1.9 | 3.5 | 4.2 | 4.9 | 6.4 |
| Gemma 4 E4B | 128K | 2.3 | 3.0 | 5.4 | 6.6 | 7.7 | 10.0 | |
| Gemma 4 26B-A4B (MoE) | 256K | 7.1 | 9.5 | 17.0 | 20.7 | 24.1 | 31.3 | |
| Gemma 4 31B | 256K | 8.2 | 11.0 | 19.6 | 23.9 | 27.8 | 36.1 | |
| Other | Mistral 7B v0.3 | 32K | 1.8 | 2.5 | 4.4 | 5.4 | 6.2 | 8.1 |
| Phi-4 Mini | 128K | 0.9 | 1.2 | 2.2 | 2.7 | 3.1 | 4.0 |
Model files download to ~/.Agelos/models/ (shared across projects, not in repo).
# Run a command directly (-- separates dotnet args from Agelos args)
dotnet run --project src/Agelos.Cli -- run opencode
dotnet run --project src/Agelos.Cli -- model list
dotnet run --project src/Agelos.Cli -- model add
dotnet run --project src/Agelos.Cli -- webui start
dotnet run --project src/Agelos.Cli -- webui start --cuda
dotnet run --project src/Agelos.Cli -- webui stop
dotnet run --project src/Agelos.Cli -- webui status
dotnet run --project src/Agelos.Cli -- --help
# Rebuilds and relaunches on any source change
dotnet watch run --project src/Agelos.Cli -- list
Watch mode doesn't work well for interactive commands (TUI prompts). For those, use dotnet run directly.
dotnet build src/Agelos.Cli --nologo
dotnet test tests/Agelos.Tests
# Verbose output
dotnet test tests/Agelos.Tests -v normal
# Single test class
dotnet test tests/Agelos.Tests --filter "FullyQualifiedName~RuntimeParserTests"
Native AOT produces a single self-contained executable with no .NET runtime requirement.
# Current platform
dotnet publish src/Agelos.Cli -c Release
# Cross-compile (requires cross-compilation toolchain on Linux/macOS)
dotnet publish src/Agelos.Cli -c Release -r linux-x64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r linux-arm64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r osx-x64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r osx-arm64 --self-contained
dotnet publish src/Agelos.Cli -c Release -r win-x64 --self-contained
Output: src/Agelos.Cli/bin/Release/net10.0/<rid>/publish/Agelos[.exe]
Note: Native AOT cross-compilation is platform-restricted. The GitHub Actions release workflow builds each target on its native OS. For local dev, build for the current platform only.
src/
Agelos.Cli/
Commands/ # CLI commands: run, init, list, new, add-runtime, prebuild, model, webui
Core/ # Runtime detection, container building, container running
Services/ # File, process, config, model download, llama-server, opencode config, open-webui
Models/ # Data structures: config, container options, runtime requirements, model catalog
Prompts/ # Interactive Spectre.Console prompts (greenfield setup, model selection)
tests/
Agelos.Tests/ # xUnit unit tests
assets/
agents/
opencode/ # entrypoint.sh — runtime request bridge; COPY-ed into the OpenCode image at build time
scripts/
install.sh # curl-pipe installer for Linux/macOS
containers/ # ← runtime-generated; gitignored — Agelos writes per-project build artefacts here
| Warning | File | Status |
|---|---|---|
| IL3050 YamlDotNet reflection | ConfigService.cs | Known, non-blocking. Fix: migrate to StaticSerializerBuilder before release. |
MIT
C#
98.0%
Shell
1.3%