Skip to content

Kasetto

Declarative AI agent environment manager, written in Rust

Install

$cargo install kasetto

Install command taken from the project's README or registry entry. Always review code before running it.

About the name

Name comes from the Japanese word カセット (kasetto) - cassette. Think of Skills, MCPs, commands, and instructions as cassettes you plug in, swap out, and share across machines.

Someone commented under a Reddit post about Kasetto that the name also reminded them of Kasane Teto (重音テト), the virtual singer. That turns out to fit the project just as well, so both origins are canon and Teto is the patron saint of Kasetto.

Why Kasetto

There are good tools in this space already. Vercel Skills installs skills from a curated catalog, and Claude Plugins offer runtime integrations. Both work well for one-off installs, but neither gives you a declarative, version-controlled config. See Kasetto vs the alternatives for the full comparison.

Kasetto is a community-first project that solves a different problem: declarative, reproducible AI environment management across projects, machines, and agents.

  • Declarative: skills, commands, MCPs, instructions, and agents in one YAML file. Apply globally or scope to a project; configs compose with extends, so org, team, and project stay in sync
  • Enterprise & private repositories: pull from GitHub, GitLab, Bitbucket, Codeberg, Gitea, and self-hosted instances, public or private. Onboard a new engineer with one command; everyone gets the same environment, zero drift
  • Multi-agent: write once, ship everywhere. Claude Code, Cursor, Codex, Windsurf, Copilot, Gemini CLI, and many more. One sync keeps them all current
  • Skills, Commands, MCPs & Instructions: four asset kinds from one source, instruction files included (CLAUDE.md, .cursor/rules, AGENTS.md, ...). Everything is transformed into each agent's native format, and auto-merged. Distribute instructions, tools, and prompts by sharing a repository link
  • Secrets management: put ${kst_...} placeholders in your configs instead of real tokens. At sync time Kasetto pulls the value from your environment, a credentials file, or a secret manager you already use (1Password, Vault, AWS, GCP, Azure, KeePassXC, pass, macOS Keychain) and injects it into the agent's settings only
  • Speed: built in Rust. It hashes content and diffs a lock file so only what changed gets touched, and full syncs finish in seconds
  • Universal: one static binary for macOS, Linux, and Windows. Install as kasetto, run as kst. CI-friendly with --json output and real exit codes

Inspired by cargo and uv: the same lock-first, declarative, CLI-only ergonomics, applied to AI agent skills.

Install

Standalone Installer

macOS and Linux:

curl -fsSL kasetto.dev/install | sh

Windows:

powershell -ExecutionPolicy Bypass -c "irm kasetto.dev/install.ps1 | iex"

Homebrew

brew tap pivoshenko/tap
brew trust pivoshenko/tap
brew install kasetto

Scoop (Windows)

scoop bucket add kasetto https://github.com/pivoshenko/scoop-bucket
scoop install kasetto

Cargo

cargo install kasetto

Getting Started

1. Scaffold a config:

kst init            # creates ./kasetto.yaml in the current directory
kst init --global   # or a global one at ~/.config/kasetto/kasetto.yaml

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io