caic

module
v0.7.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2026 License: AGPL-3.0

README

caic

Coding Agents in Containers. Manage multiple coding agents locally in isolated Docker containers. Access them from your phone with Tailscale. All private.

codecov

Installation

curl -fsSL https://caic.xyz/install.sh | bash
From source
go install github.com/caic-xyz/caic/backend/cmd/caic@latest

Documentation

🔥 Full documentation is at docs.caic.xyz 🔥

Contributing

Made with ❤️ by Marc-Antoine Ruel. Contributions are very appreciated! Thanks in advance! 🙏

Directories

Path Synopsis
backend
cmd/caic command
TOML configuration file loading.
TOML configuration file loading.
cmd/webrtc-relay command
Standalone WebRTC relay: authenticates users via shared JWT secret, bridges WebRTC to Gemini Live.
Standalone WebRTC relay: authenticates users via shared JWT secret, bridges WebRTC to Gemini Live.
frontend
Package frontend embeds the built frontend assets.
Package frontend embeds the built frontend assets.
internal/agent
Package agent defines shared types and infrastructure for coding agent backends.
Package agent defines shared types and infrastructure for coding agent backends.
internal/agent/claudecode
Package claudecode implements agent.Backend for Claude Code.
Package claudecode implements agent.Backend for Claude Code.
internal/agent/codex
Package codex implements agent.Backend for Codex CLI.
Package codex implements agent.Backend for Codex CLI.
internal/agent/gemini
Package gemini implements agent.Backend for Gemini CLI.
Package gemini implements agent.Backend for Gemini CLI.
internal/agent/kilo
Package kilo implements agent.Backend for Kilo Code.
Package kilo implements agent.Backend for Kilo Code.
internal/agent/opencode
Package opencode implements agent.Backend for OpenCode via ACP (Agent Client Protocol): JSON-RPC 2.0 over stdin/stdout.
Package opencode implements agent.Backend for OpenCode via ACP (Agent Client Protocol): JSON-RPC 2.0 over stdin/stdout.
internal/agent/pi
Package pi implements agent.Backend for Pi coding agent CLI in RPC mode.
Package pi implements agent.Backend for Pi coding agent CLI in RPC mode.
internal/agent/relay
Package relay embeds the Python relay script used inside containers.
Package relay embeds the Python relay script used inside containers.
internal/auth
Package auth implements JWT session management and OAuth 2.0 login for GitHub and GitLab.
Package auth implements JWT session management and OAuth 2.0 login for GitHub and GitLab.
internal/autoupdate
Nightly auto-update: checks GitHub Releases and replaces the running binary.
Nightly auto-update: checks GitHub Releases and replaces the running binary.
internal/bot
Package bot implements forge event-driven task automation: prompt construction, task dispatch via the API, and result comment posting.
Package bot implements forge event-driven task automation: prompt construction, task dispatch via the API, and result comment posting.
internal/cmd/gen-api-sdk command
Generates typed TypeScript, Kotlin, and Swift API clients plus API.md from the Go route declarations.
Generates typed TypeScript, Kotlin, and Swift API clients plus API.md from the Go route declarations.
internal/container
Package container wraps md container lifecycle operations.
Package container wraps md container lifecycle operations.
internal/forge
Package forge defines the interface for interacting with code hosting forges (GitHub, GitLab, etc.) and provides URL parsing and a factory function for selecting the right implementation based on a remote URL.
Package forge defines the interface for interacting with code hosting forges (GitHub, GitLab, etc.) and provides URL parsing and a factory function for selecting the right implementation based on a remote URL.
internal/forge/forgecache
Package forgecache provides a persistent cache for CI check-run results from code hosting forges (GitHub, GitLab, etc.).
Package forgecache provides a persistent cache for CI check-run results from code hosting forges (GitHub, GitLab, etc.).
internal/forge/github
Package github implements forge.Forge for github.com using the GitHub REST API.
Package github implements forge.Forge for github.com using the GitHub REST API.
internal/forge/gitlab
Package gitlab implements forge.Forge for gitlab.com using the GitLab REST API.
Package gitlab implements forge.Forge for gitlab.com using the GitLab REST API.
internal/preferences
Package preferences manages persistent user preferences with in-memory caching and atomic file persistence.
Package preferences manages persistent user preferences with in-memory caching and atomic file persistence.
internal/server
HTTP handlers for OAuth 2.0 login endpoints and session management.
HTTP handlers for OAuth 2.0 login endpoints and session management.
internal/server/dto
Package dto provides shared API infrastructure (errors, validation interface) used across all API versions.
Package dto provides shared API infrastructure (errors, validation interface) used across all API versions.
internal/server/dto/v1
SSE event types sent to the frontend for task event streams.
SSE event types sent to the frontend for task event streams.
internal/server/ipgeo
GitHub webhook IP ranges fetched from the GitHub meta API.
GitHub webhook IP ranges fetched from the GitHub meta API.
internal/server/voicertc
Package voicertc implements a WebRTC-to-Gemini-WebSocket bridge for voice sessions.
Package voicertc implements a WebRTC-to-Gemini-WebSocket bridge for voice sessions.
internal/task
Package task orchestrates a single coding agent task: branch creation, container lifecycle, agent execution, and git integration.
Package task orchestrates a single coding agent task: branch creation, container lifecycle, agent execution, and git integration.
internal/usage
Claude Code OAuth usage quota fetcher with caching, credential file watching, and exponential backoff on errors.
Claude Code OAuth usage quota fetcher with caching, credential file watching, and exponential backoff on errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL