Skip to main content

Run coding agents in isolated Docker containers

Project description

clankr

Run Claude Code in isolated Docker containers. --dangerously-skip-permissions without the danger.

install

uv tool install clankr

setup

clankr init
# prompts for: github username, bot username, PAT

Create a classic PAT on the bot account with repo scope. Per repo:

clankr setup-repo user/project
# then accept the invitation (log in as bot → github.com/notifications)

usage

clankr launch user/project                        # interactive, bare profile
clankr launch -p gsd user/project                 # GSD workflow
clankr launch -d -p gsd user/project              # detached (tmux)
clankr launch -d -p gsd -s feat user/project      # named slot
clankr launch /path/to/local/repo                 # local repo

clankr attach my-project                          # reattach to detached agent
clankr ls                                         # list slots
clankr rm my-project                              # remove (warns if unpushed)
clankr clean                                      # remove all stopped clean slots
$ clankr ls
SLOT                 PROFILE  STATUS       REPO
hello-world          gsd      detached     /home/max/.local/share/clankr/repos/hello-world
my-project-feat      gsd      running      /home/max/.local/share/clankr/repos/my-project-feat
old-thing            bare     stopped      /home/max/.local/share/clankr/repos/old-thing

profiles

Each profile is an isolated claude code config — system prompt, settings, hooks, extensions.

  • bare — claude code, skip permissions, no extras
  • gsdget shit done workflow framework

Create your own: ~/.config/clankr/profiles/<name>/ with CLAUDE.md, settings.json, and optionally setup (shell script that installs extensions).

clankr profiles                                   # list available profiles
cp -r ~/.config/clankr/profiles/gsd ~/.config/clankr/profiles/my-custom
vim ~/.config/clankr/profiles/my-custom/CLAUDE.md

how it works

  • each slot gets its own repo clone and claude config
  • credentials copied fresh from host ~/.claude/.credentials.json on each launch (tokens expire ~8h)
  • --dangerously-skip-permissions baked into the container
  • -d wraps the container in a tmux session — survives SSH disconnects
  • git identity: configurable bot account with scoped PAT
  • branch protection via setup-repo: require PR + approval for main, owner bypasses

commands

Command Description
clankr init First-time setup: config + default profiles
clankr launch Launch an agent (-p profile, -s slot, -d detach)
clankr ls List all slots
clankr attach <slot> Attach to detached agent's tmux session
clankr rm <slot> Remove slot (warns if unpushed work)
clankr clean Remove all stopped clean slots
clankr logs <slot> Show container logs
clankr setup-repo <repo> Add bot collaborator + branch ruleset
clankr profiles List available profiles

paths

What Where
Config ~/.config/clankr/config.toml
Profiles ~/.config/clankr/profiles/
Dockerfile override ~/.config/clankr/Dockerfile
Repo clones ~/.local/share/clankr/repos/
Slot state ~/.local/share/clankr/run/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clankr-1.0.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clankr-1.0.2-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file clankr-1.0.2.tar.gz.

File metadata

  • Download URL: clankr-1.0.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clankr-1.0.2.tar.gz
Algorithm Hash digest
SHA256 5e8ec63111e29423b92071923d604fb14e913b9a40e7391b506a9ec87e8b6dc5
MD5 ad8b562a6cbc82c4d37c1c9499751f79
BLAKE2b-256 7f62c9e80b97d0fd732d547d55867345a8f586ed8689875da34450b6b3e2ba18

See more details on using hashes here.

File details

Details for the file clankr-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: clankr-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clankr-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 85236cd551efd0cc114d1a7b8762c8ea54105afff20df4b1c60e7ee39f980f59
MD5 03296c7b886311783110ab8c92a0bd6c
BLAKE2b-256 5a56d44b919f67207df5f949634396631233c63510d67bffd033c7f0e42383da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page