Kasetto

Declarative AI agent
environment manager.

カセット — cassette. plug in, swap out, share.

~/dev/kasetto
kasetto
SIDE AGET STARTED · FEATURES · EXAMPLE
A1QUICKSTART
INSTALL
curl -fsSL kasetto.dev/install | sh
A2FEATURES

DECLARATIVE

One YAML file — skills, commands, MCPs, and instructions. Apply globally or per project; compose with `extends`.

ENTERPRISE & PRIVATE REPOSITORIES

Pull from GitHub, GitLab, Bitbucket, or self-hosted repos, public or private. Secrets resolve from `kst_*` placeholders at sync time, so they're never committed or locked.

MULTI-AGENT

Write once, ship everywhere. Claude Code, Cursor, Codex, Copilot — one sync keeps every agent current.

SKILLS, COMMANDS, MCPS & INSTRUCTIONS

All four asset kinds from one source, transformed into each agent's native format and auto-merged. Share tools and prompts like a repo link.

SPEED

Built in Rust. Content is hashed and diffed against a lock file, so only what changed is touched — syncs finish in seconds.

UNIVERSAL

One static binary for macOS, Linux, and Windows. JSON output and real exit codes — same behavior on your laptop or in CI.

A3SECRET SOURCES
Environment
${kst_VERCEL_TOKEN}
credentials.yaml
${kst:crd:vercel/token}
1Password
${kst:op:Private/Vercel/token}
HashiCorp Vault
${kst:vault:secret/app#token}
KeePass
${kst:kp:Vercel/API#Password}
AWS Secrets Manager
${kst:aws:prod/db#password}
Google Secret Manager
${kst:gcp:db-password}
Azure Key Vault
${kst:az:my-vault/db}
pass / gopass
${kst:pass:work/vercel}
macOS Keychain
${kst:keychain:vercel-token}
A4EXAMPLE
kasetto.yaml
1# Option A: preset destination by agent (see README for supported agent values)
2agent:
3 - codex
4 - claude-code
5
6# Option B: manual destination (takes precedence if both are set)
7# destination: ./.agents/skills
8
9skills:
10 # "*" syncs every skill in the source — each is a directory with a SKILL.md,
11 # discovered in the source root or its skills/ subdirectory
12 - source: github.com/vercel-labs/next-skills
13 # ref: v1.0.0 # pin to a tag or commit; omit to track the default branch
14 skills: "*"
15
16 # or list skills by name
17 - source: github.com/anthropics/skills
18 skills:
19 - doc-coauthoring
20 - frontend-design
21 - pptx
22
23 # sub-dir: resolve the named skills under this path, e.g. skills/productivity/grill-me/
24 - source: github.com/mattpocock/skills
25 sub-dir: skills/productivity
26 skills:
27 - grill-me
28 - caveman
29
30 # path: a skill in a non-standard location → <path>/<name>/, here skills/engineering/improve-codebase-architecture/
31 - source: github.com/mattpocock/skills
32 skills:
33 - name: improve-codebase-architecture
34 path: skills/engineering
35
36commands:
37 # names resolve to commands/<name>.md in the source (nested dirs namespace, e.g. git:commit)
38 - source: github.com/gsd-build/get-shit-done
39 commands:
40 - gsd: explore
41 - gsd: fast
42
43instructions:
44 # instructions wire CLAUDE.md / .cursor/rules / AGENTS.md etc. from instructions/<name>.{md,mdc}
45 # "*" syncs every instruction; aggregate files (CLAUDE.md, AGENTS.md) get managed blocks
46 - source: github.com/pivoshenko/pivoshenko.ai
47 instructions:
48 - docs-autoupdate
49 - multi-agent-dispatch
50
51mcps:
52 # names resolve to mcps/<name>.json in the source
53 - source: github.com/pivoshenko/pivoshenko.ai
54 branch: main # track a specific branch (use ref: to pin a tag or commit)
55 mcps:
56 - github
57 - vercel
58 - kaggle
SIDE BAGENTS · INSTALL
B1SUPPORTED AGENTS
22 PRESETS, BUILT IN
CLAUDE CODE
CURSOR
CODEX
ANTIGRAVITY
B2INSTALL
MACOS / LINUX
curl -fsSL kasetto.dev/install | sh
WINDOWS (POWERSHELL)
powershell -ExecutionPolicy Bypass -c "irm kasetto.dev/install.ps1 | iex"
HOMEBREW
brew tap pivoshenko/tap brew trust pivoshenko/tap brew install kasetto
CARGO
cargo install kasetto