Native Shell
Native Shell:AI 生成的 UI,在你的应用中原生呈现,覆盖每个平台。iOS、Android、macOS、Windows 与 Linux 上的应用、GPUI 应用与网页在运行时加载已签名、沙箱隔离的 TSX 模块并绘制 th
AI 翻译
A simple, lightweight Skill manager built in Rust. One library, just the Skills each project needs.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Kitter is a desktop app and CLI for managing Agent Skills across projects. Keep your skills in one library, install the right combination for each project, and update them in one place.
Built entirely in Rust with GPUI, Kitter pairs a clean, responsive interface with instant startup, microscopic memory usage, and 60+ FPS native performance even when managing hundreds of skills.
AGENTS.md inside managed comment blocks without touching user notes.adopt to scan and manage scattered pre-existing skills in place.Kitter natively respects the distinctive discovery rules, target directories, frontmatter schemas, and catalog token estimation formats of each agent:
| Category | Agents / Platforms |
|---|---|
| Built-in Support | Claude Code · Cursor · Codex · OpenCode · GitHub Copilot · Antigravity · Grok · Pi · Oh My Pi (omp) · DimAgent · OpenClaw · Hermes · Droid · Amp · Trae |
| Universal Target | .agents/skills (standard multi-agent shared directory) |
| Custom Plugins | Extendable to any proprietary or emerging agent via lightweight JavaScript plugins |
Easily define support for custom in-house agents or community tools (see the Agent Plugins Guide):
import { defineAgent, standard } from "kitter";
export default defineAgent({
apiVersion: 1,
id: "my-agent",
name: "My Agent",
reads: ["my-agent", "universal"],
install: { project: ".my-agent/skills", global: "~/.my-agent/skills" },
skills: standard.skills({
project: [".my-agent/skills", ".agents/skills"],
user: ["~/.my-agent/skills", "~/.agents/skills"],
}),
});
Manage agents directly from desktop Settings or via kitter agents (add, remove, update, enable/disable, and reorder).
Besides the built-in Default and Solid Glass styles, the desktop app loads your own themes. A theme can change colours, surface finish (gradients, textures, image frames), corner radii, fonts, sizes and icons; list only what you want to change (see Custom Themes):
{
"name": "Ocean",
"extends": "solid_glass",
"shape": { "radius_xl": 16 },
"light": { "colors": { "accent": "#0a7cff" } },
"dark": { "colors": { "accent": "#5fb0ff" } }
}
A theme is a single JSON file, or a folder that also carries its own icons, fonts and images for textures and frames. Switch themes in Settings → Style, or create, check, share and apply them with kitter theme.
Download the prebuilt application from GitHub Releases:
macos-arm64.dmg (Apple Silicon) or macos-x86_64.dmg (Intel), open the .dmg and drag Kitter.app into Applications.
(If macOS blocks first launch, confirm it was downloaded from the official release, then go to System Settings → Privacy & Security → Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Kitter.app)Kitter-<version>-desktop-windows-x86_64.exe and run it directly (statically linked MSVC runtime, zero dependencies).Kitter-<version>-desktop-linux-x86_64.tar.gz and run ./Kitter from the extracted directory.Standalone CLI: The desktop app and CLI share the same core but are released as separate artifacts. Standalone
kitterCLI binaries for macOS, Windows, and Linux are available directly on the Releases page.
Use + to add skills from a local folder, GitHub or a skills.sh-compatible source, or a Claude plugin source. If skills are already scattered across projects, choose Existing installations to inspect and adopt them without moving their source directories.
Kitter keeps one maintained source for each skill. Open its Installs tab to immediately see every project using it, every installation location, and the agents that can discover it.
Select a skill, choose a project, then install it into the shared .agents/skills directory or an agent-specific directory. Kitter creates managed links instead of independent copies, so projects can use different combinations without creating update drift. Skills you use across all projects can also be installed at the user level.
Open Projects to see the complete effective skill set for every agent—not just installations managed by Kitter. The view discovers project, parent, user-level, built-in, and plugin-provided capabilities, then shows where each one came from.
The per-agent token estimate helps you spot skills that add unnecessary context overhead.
A preset bundles skills with optional AGENTS.md instructions. Open Presets to build one, then install it into a project in one step. Kitter appends the preset's instructions to the project's AGENTS.md inside a managed block and leaves your own content untouched.
When you change a preset, its projects show that they need a sync, and you choose when to apply it. Removing a preset from a project removes only what it installed.
kitter preset create frontend
kitter preset add frontend react typescript
kitter preset install frontend --project /path/to/project --target universal
kitter preset sync frontend
Run Check for updates from the desktop app or use kitter check and kitter update. Every managed project continues to use the same maintained source.
# 1. Skill Library Management
kitter add npx https://github.com/owner/repository --skill skill-a # Add skill from repository
kitter list # List managed skills
kitter update --all # Update all skills
kitter adopt --all # Discover & adopt scattered skills
# 2. Project Installation
kitter install skill-a --project /path/to/project --target universal # Install to project
kitter project /path/to/project # Inspect effective skills & tokens
kitter uninstall skill-a --project /path/to/project # Remove skill installation
# 3. Presets
kitter preset create frontend # Create a preset
kitter preset add frontend react typescript # Add skills to preset
kitter preset install frontend --project /path/to/project # Install preset to project
kitter preset sync frontend # Sync preset changes
# 4. Agent Plugins Management
kitter agents # List agents & plugin health
kitter agents add https://github.com/owner/repo # Add agent plugin from git
kitter agents enable <id> / disable <id> # Enable or disable an agent
kitter agents move <id> --before <other-id> # Reorder agents
You do not need the desktop app to use Kitter. Download the standalone CLI from GitHub Releases, put kitter on your PATH, and install the $kitter skill directly:
npx skills add what1f/kitter --skill kitter
The skill lets an agent inspect the current machine, add or adopt skill sources, install the right project combination, and verify the result through the standalone kitter CLI. If the CLI is missing, the skill can guide you through downloading it from an official Release.
Kitter keeps skills, presets, and settings in one data folder:
| Platform | Default data folder |
|---|---|
| macOS | ~/Library/Application Support/Kitter |
| Windows | %LOCALAPPDATA%\Kitter |
| Linux | $XDG_DATA_HOME/Kitter or ~/.local/share/Kitter |
To keep it somewhere else, pick a folder in Settings → Data, or run kitter data --set /absolute/path:
kitter data shows the folder in use.
git clone https://github.com/what1f/kitter.git
cd kitter
# Launch desktop app
cargo run --release --locked --features desktop --bin kitter-desktop
# Build standalone CLI
cargo build --release --locked --bin kitter
Issues and pull requests are welcome. Please open an issue before starting a large behavioral or UI change so the scope can be aligned first.
If Kitter makes your skill setup calmer, consider starring the repository. It helps more multi-project developers find it.
Kitter is available under the Apache License 2.0. Licenses for bundled fonts, icons, and other third-party material are listed in THIRD_PARTY_LICENSES.md.