Slingshot is a command-line tool designed for AI agents, not human operators. Every design decision — atomic command structure, bilingual output, the --explain flag, the skill system — exists to make it easy for your AI agent to discover, learn, and wield this tool fluently.
Installation
The fastest way to get Slingshot:
curl -fsSL https://slingshot.dscli.io/install.sh | bash
The installer detects your OS and architecture, downloads the right binary, and places it on your $PATH.
Alternative Methods
Go install (if you have Go installed):
go install github.com/nanjj/slingshot/cmd/slingshot@latest
Verify
slingshot version
What Can You Do With Slingshot?
Slingshot organizes its capabilities into clear command groups:
| Command | Purpose |
|---|---|
slingshot config | Manage configuration — set, get, list, unset settings |
slingshot weixin | WeChat Official Account: drafts, materials, publishing |
slingshot site | Manage deployment targets: add, update, list, remove, rsync |
slingshot page | Manage site pages: add, update, list, remove |
slingshot skill | Install and manage AI agent skills |
slingshot draft | Create and update drafts with auto-conversion |
Every command produces structured, machine-readable output — designed for agent consumption first, human readability second.
📢 WeChat Publishing
Convert Markdown and Org mode files to WeChat-compatible HTML. Upload images to WeChat CDN. Create, list, update, and remove drafts — all through clean CLI commands.
# Create a draft from a Markdown file
slingshot draft create --title "My Post" --content-file post.md
# List all drafts
slingshot weixin draft list
# Publish to WeChat Official Account
slingshot weixin draft publish --id <draft-id>
🌐 Site Deployment
Deploy static sites with one command via rsync. Full Zine integration for feature-rich sites with i18n, or simple page management for smaller projects.
# Add a deployment target
slingshot site add prod --type zine --user user --host example.com --path /var/www
# Build and deploy
slingshot site rsync prod
How Your AI Agent Uses Slingshot
Slingshot’s CLI is self-documenting by design. Your AI agent can learn every command without reading documentation updates — it just asks the tool.
# Show available commands
slingshot --help
# Get detailed help for any command
slingshot site --help
# The --explain flag: parse and explain without executing
# This is how your AI safely explores commands:
slingshot draft create --explain --title "Hello" --content-file post.md
The --explain flag is the key. It parses every argument, validates the command, and prints exactly what would happen — without side effects. Your AI can explore, make mistakes safely, and learn the tool interactively.
Slingshot speaks both English and Chinese. Set your locale and the entire CLI responds — help text, error messages, everything.
# Chinese mode
LANG=zh_CN.UTF-8 slingshot --help
# English mode (default)
slingshot --help
Install Skills
Skills are the heart of Slingshot. They package curated human expertise into reusable workflows your AI agent can load and execute — months of exploration distilled into reproducible recipes.
# See what's available
slingshot skill list
# Install a specific skill
slingshot skill install weixin
Once installed, your AI agent can discover each skill’s commands the same way — with --help and --explain:
# Explore a skill's capabilities
slingshot skill explain weixin
# Or just ask your AI — it already knows how to use these tools.
Skills install to your project’s .dscli/skills/ directory. Your AI assistant loads them automatically.
The built-in skills are:
- weixin — WeChat Official Account publishing workflow
- site-page — static site deployment (simple page management)
- site-zine — Zine SSG sites with i18n, templates, and versioning
- incus — Incus container lifecycle management for testing
Each represents hard-won knowledge encoded into a form your AI can use immediately. No need to manually describe them here — your AI will discover their full capabilities through the CLI itself.
Next Steps
- Explore commands with
slingshot --explain <command> - Read the command reference
- Check the release notes
- Visit the blog for tutorials and tips