silktree
v1.4.0
Published
silktree CLI, MCP server and REST API in one binary: init, validate, link to the hosted viewer, serve the local one, and generate theme assets for game-style skill-tree journey maps.
Readme
silktree
The silktree binary: CLI, MCP server and REST API in one, for
silktree - game-style RPG skill-tree journey maps
for software projects.
npx silktree init # or: init --example for a full demo tree
npx silktree link # print the hosted-viewer URL for the tree
npx silktree view # local web viewer + REST API at http://localhost:5178A tree is one file, .silktree/silktree.json, holding the definition and your progress together.
link deflates the whole thing into a #/data/ URL fragment, so the
hosted viewer renders it without the tree ever reaching a
server.
As an MCP server
Every command is also an MCP tool, which is how Claude authors trees and awards XP as you work:
{ "mcpServers": { "silktree": { "command": "npx", "args": ["-y", "silktree", "mcp"] } } }The Claude Code plugin wires that up together with the authoring skill in one command.
Commands
| Command | Purpose |
|---|---|
| silktree init [--example] [--skill] [--force] | create .silktree/silktree.json |
| silktree validate | schema + semantic checks (cycles, costs, overspend); exit 1 on errors |
| silktree link | print the hosted-viewer URL (tree deflated into the #/data/ fragment) |
| silktree tree [--status available] [--branch id] | the resolved tree as JSON |
| silktree award-xp --points N --note "..." | award effort points |
| silktree unlock-node <id> | spend points to unlock a node (refuses if locked or unaffordable) |
| silktree add-branch / add-node / remove-node | author the tree |
| silktree view [-p port] [--no-open] | serve the web viewer + REST API with live updates |
| silktree mcp | serve every command as an MCP tool over stdio |
| silktree assets-generate / assets-batch | generate theme assets via the Gemini image API |
Array options take JSON on the command line: --requires '["cli-basics"]'.
There is exactly one implementation behind all three transports - the actions in
@silktree/actions. The bin only picks an
adapter.
What ships in the package
The built binary, the web viewer SPA, the bundled themes (without their raster art, which the
viewer fetches from the hosted CDN), the authoring skill and one example tree.
assets-generate / assets-batch need a GEMINI_API_KEY; nothing else does.
MIT (c) Tobias Strebitzer
