capsule CLI is installed with the cpsl package.
In day-to-day use, most people end up living in a pretty small subset of commands:
capsule logincapsule servecapsule deploycapsule secretcapsule fs
Worked workflow
This is a realistic day-to-day loop for a real app:- workspace authentication
- app-owned secrets
- mounted storage
- external channel resources
- local development
- hosted deployment
Top-level commands
bootstraploginappchanneldeploysecretservefs
capsule bootstrap
Use bootstrap when you want a starting point instead of an empty file.
chatbotdashboardminimal
capsule login
Use login to connect your local machine to a Capsule workspace:
--host--port--http-port
CAPSULE_GATEWAY_URL=localhost:1980 before capsule login.
capsule serve
serve is the local development loop. It uploads the project, boots the runtime, and hot-reloads as you edit:
--channel <name>bind one or more named channels during local serve--force-channelunbind or rebind existing channel bindings
module:symbol.
For example, capsule serve app:app means “load the symbol app from app.py”.
capsule deploy
When the app looks good locally, deploy promotes that same definition to a hosted version:
serve is the local development loop, deploy is the same app definition promoted to a hosted version.
capsule app
Manage workspace apps.
If you mostly work from code, you may not use this group every day. It becomes handy when you need to inspect what already exists in the workspace.
capsule app create
capsule app list
capsule app get
capsule channel
Use channel to manage named external channel resources that apps can bind to.
Common commands
telegramslackwhatsapp
capsule secret
Use secret for app-owned credentials such as model keys, OAuth client secrets, and internal service tokens.
Common commands
capsule fs
Use fs to manage named filesystems that apps can mount at runtime.