The SDK installs a yourbot command — it is the fastest way through every step before upload. Four subcommands cover the local loop:
| Command | What it does |
|---|---|
yourbot new <id> | Scaffold a plugin folder from a template (basic, slash, welcome, cron; --list-templates shows them, -t picks one). yourbot init is the interactive version that asks as it goes. |
yourbot dev | Run your plugin locally without Docker: it boots your handlers against a simulated runner, fires the test events listed in your project's events.yaml and streams the log output live. --watch re-runs on every save. |
yourbot validate | The same checks the upload pipeline runs: manifest shape, capability legality, disallowed imports, slash commands cross-checked against your @plugin.on_slash_command handlers, and capability auto-detection (including proxy:websocket from ctx.ws usage). Fix it locally instead of discovering it after upload. |
yourbot doctor | Eight health checks on your project: SDK install and version, entry point parses, manifest, declared-vs-used capability consistency, forbidden imports, requirements.txt, tests layout and .gitignore. Run it when something works locally but not in review. |