Skip to content

itscooleric/clide

Repository files navigation

clide

Dockerized CLI toolkit with GitHub Copilot CLI, GitHub CLI, and Claude Code — agentic terminal assistants in one container. Run against any local project without installing anything on your host. Access via terminal or browser-based web terminal.

Prerequisites

Included CLIs

CLI Command Auth env var
GitHub Copilot CLI copilot GH_TOKEN
GitHub CLI gh GH_TOKEN
Claude Code claude ANTHROPIC_API_KEY

Claude startup behavior

  • make claude and ./clide claude force CLAUDE_CODE_SIMPLE=1 for predictable container startup.
  • The claude and shell services share a container entrypoint (/usr/local/bin/claude-entrypoint.sh) that pre-seeds Claude config to avoid repeated first-run setup prompts — so running claude from inside make shell works too.
  • If you prefer full TUI mode, run compose directly with an override:
    CLAUDE_CODE_SIMPLE=0 docker compose run --rm claude

Setup

  1. Add your GitHub token to .env (add ANTHROPIC_API_KEY only if using Claude Code):

    GH_TOKEN=your_github_pat_here
    # ANTHROPIC_API_KEY=your_anthropic_key_here  # optional
  2. (Optional) Enable web terminal authentication:

    TTYD_USER=admin
    TTYD_PASS=changeme
  3. Build the image:

    docker compose build

Usage

Wrapper script (easiest)

./clide web       # start web terminal at http://localhost:7681
./clide shell     # interactive shell with all CLIs
./clide copilot   # run GitHub Copilot CLI
./clide claude    # run Claude Code CLI
./clide gh repo view  # run GitHub CLI with args
./clide help      # show all commands

Make

make web          # start web terminal
make shell        # interactive shell
make copilot      # run copilot
make claude       # run Claude Code CLI
make help         # show all targets

VS Code tasks

Use Ctrl+Shift+PRun Task:

  • Start web terminal (ttyd) → access all CLIs at http://localhost:7681
  • Run copilot (default project) → run Copilot CLI directly
  • Open interactive shell (all CLIs) → bash with all CLIs available

Docker Compose directly

docker compose run --rm shell
docker compose run --rm copilot
docker compose up -d web

Run against a different project:

PROJECT_DIR=/path/to/specific/repo docker compose run --rm shell

Your project is mounted at /workspace inside the container.

Bernard/Forge deployment

See DEPLOY.md for Caddy Docker Proxy integration. Uses docker-compose.override.yml (gitignored) for reverse proxy config that persists across git pulls.

Notes

  • Tokens don't expire unless you set an expiry — set them once in .env and you're done.

  • .env is gitignored. Don't commit it.

  • To rebuild with latest CLI versions:

    docker compose build --no-cache
  • If Claude gets stuck in setup prompts again after local changes, reset and rebuild:

    docker compose down -v
    docker compose build --no-cache
    make claude

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors