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