Skip to content

magenta-aps/clank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

101 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Clank

clank is an AI sandbox, pre-configured to quickly start using AI.

Note

This tool is designed for internal use at Magenta. It is open source, so you're allowed to use it and fork it, but we may not be able to help you if you don't work at Magenta.

We would like feedback from your experience with using Clank, please write your complaints in this hedgedoc.

⚑ Quick Start

❄️ Get Nix

Clank is built using the Nix package manager.

Debian / Ubuntu

sudo apt install -y nix uidmap
echo 'experimental-features = nix-command flakes' | sudo tee -a /etc/nix/nix.conf
sudo usermod -aG nix-users $USER

At this point you need to log out and in again to effectuate the change to your user's groups.

πŸš€ Try Clank

Through the power of Nix, you can run Clank without installing anything else.

nix run github:magenta-aps/clank

This mounts the current directory into a sandbox, which the AI will have full access to, so maybe don't do it in a directory with sensitive data. Get the vibes going by running opencode or claude. See below for more.

πŸ“¦ Install Clank

NixOS

{
  inputs = {
    clank = {
      url = "github:magenta-aps/clank";
      # inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}
{clank, pkgs, ...}: {
  environment.systemPackages = [
    clank.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

Everything Else

alias clank='nix run github:magenta-aps/clank --'

βš™οΈ Configure Providers

πŸ‘Ό Open Code

See the OpenCode documentation for a list of providers.

  • Gemini: run opencode and then /connect to Google. The API key is here. We recommend the Gemini 3.1 Pro Preview model.
  • Scaleway: run opencode and then /connect to Scaleway. The API key is here. We don't recommend any of these models, as they're all kinda bad.

😈 Claude Code

Anthropic doesn't allow using OpenCode with a Claude subscription, so we have to use Claude Code. Open claude and then /login using Claude account with subscription - make sure to Continue with email, not Google.

Due to a bug, you can't use regular /login if you want to use multiple concurrent Claude Code sessions. In this case, run claude setup-token and add the resulting token to ~/.config/clank.sh (on the host):

export CLAUDE_CODE_OAUTH_TOKEN='<your-access-token-here>'

πŸ’‘ Tips and Tricks

OpenCode Web

CLANK_PODMAN_OPTS='--publish=127.0.0.1:4096:4096' clank opencode web --hostname=0.0.0.0 --port=4096

πŸ§‘β€πŸ”§ Development

git clone https://github.com/magenta-aps/clank.git
nix run ~/clank

πŸ—‘οΈ Remove All State

rm ~/.config/clank.sh
nix run nixpkgs#podman -- rm --force --filter 'name=^clank'
nix run nixpkgs#podman -- volume rm clank-persist

About

πŸ€–

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors