coasts  by coast-guard

Orchestrate isolated local development environments

Created 1 month ago
328 stars

Top 83.4% on SourcePulse

GitHubView on GitHub
Project Summary

Coasts (Containerized Hosts) is a CLI tool designed to provide isolated development environments for developers working with Git worktrees. It addresses the complexity of managing multiple, distinct project instances on a single machine by offering a local observability UI and robust orchestration capabilities. The tool is beneficial for developers seeking to streamline their workflow, enabling them to build environments once and run numerous isolated instances without altering existing application code, and it operates offline-first, eliminating vendor lock-in.

How It Works

Coasts utilizes Git worktrees to manage isolated environments, allowing users to switch between them seamlessly. It can integrate directly with existing docker-compose.yml files or function independently without Docker. The core approach involves building a development environment once and then instantiating multiple copies, each with configurable volume and networking topologies. Users can check out one "coast" at a time to bind canonical ports to the host, while other instances use dynamic ports, facilitating easy access to progress across any worktree. The system is designed to be agnostic to AI providers and agent harnesses.

Quick Start & Requirements

Installation is performed via a shell command: eval "$(curl -fsSL https://coasts.dev/install)". Prerequisites include Rust (stable toolchain), Docker, Node.js, socat, and Git. A one-time dev_setup.sh script is recommended for development builds to compile the web UI and set up necessary symlinks. Official resources include the website and documentation at coasts.dev, a demo video, and a coasts-demo repository for practical exploration.

Highlighted Details

  • Provides a local observability UI for managing development environments.
  • Supports integration with existing Docker Compose setups or standalone operation.
  • Designed for offline-first use with no hosted service dependency.
  • Manages canonical and dynamic port binding for isolated instances.
  • Reuses a local Caddy root Certificate Authority (CA) for HTTPS stacks, simplifying trust management across recreated workspaces.

Maintenance & Community

Notable contributors include @jamiesunderland, @dahyman91, @agustif, @clarkerican, @mukeshblackhat, @gregpeden, and @vaibhavsing. Links to harness demos (Coasts + Claude Code, Coasts + Codex, Coasts + Conductor, Coasts + Cursor) and a contributing guide are available.

Licensing & Compatibility

The project's license is not explicitly stated in the README, which is a significant omission for due diligence. Compatibility is noted as macOS-first, with Linux development requiring host setup for canonical ports below 1024.

Limitations & Caveats

The project is primarily developed with macOS in mind, and Linux users may encounter challenges with binding canonical ports below 1024 without specific host configurations. A critical limitation is the absence of a clearly stated software license, which poses a significant adoption blocker for many organizations. The project's original commit history was squashed, with a link provided to the original repository for full historical context.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
111
Issues (30d)
47
Star History
289 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.