Package Exports
- deco-cli
- deco-cli/dist/cli.js
- deco-cli/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (deco-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Deco CLI Reference
The Deco CLI is your interface for managing AI-native projects built with decocms.com.
Official docs: https://docs.deco.page/
Authentication
| Command | Description |
|---|---|
deco login |
Authenticate and store an API token for subsequent commands. |
deco logout |
Remove local credentials and end the session. |
deco whoami |
Show the currently authenticated user and workspace. |
Project Management
| Command | Description |
|---|---|
deco create |
Scaffold a new deco project from an official template. |
deco configure |
Re-run setup for the current directory to change workspace or app settings. |
Development
| Command | Description |
|---|---|
npm run dev |
Preferred way to run local Worker and React frontend in watch mode. |
deco dev |
(Experimental) Future unified development command. |
deco link [build-command] |
Link your local dev server to a public domain. Supports -p <port>. Example: deco link npm run dev. |
Type Generation
| Command | Description |
|---|---|
deco gen |
Generate types for external integrations (deco.gen.ts). |
deco gen:self |
Generate types for your own tools and workflows via local /mcp endpoint. |
Hosting & Deployment
| Command | Description |
|---|---|
npm run deploy |
Builds frontend and invokes deco deploy. Recommended for most use cases. |
deco deploy |
Bundle and deploy to Cloudflare Workers. Supports -w, -a, and -l. |
deco hosting list -w <name> |
List deployed apps in a specific workspace. |
Integrations
| Command | Description |
|---|---|
deco add |
Add and configure workspace integrations. |
Maintenance
| Command | Description |
|---|---|
deco update |
Upgrade the CLI to the latest published version. |
Getting Help
| Command | Description |
|---|---|
deco --help |
Display the full list of CLI commands and usage. |
Configuration File
The CLI uses a local config file to store your workspace and app context. Set or
update this configuration anytime using: deco configure
Environment Variables
| Variable | Purpose |
|---|---|
DECO_CHAT_API_TOKEN |
API token for authentication (set by deco login). |
DECO_CHAT_API_LOCAL |
Overrides API base URL for local development. |
DECO_SELF_URL |
Local MCP endpoint for deco gen:self to introspect workflows/tools. |
Deconfig Commands
The deconfig commands allow you to interact with the deconfig filesystem - a git-like, versioned configuration manager built on Cloudflare Durable Objects.
Authentication
Before using any deconfig commands, you must authenticate with deco.chat:
deco loginAvailable Commands
deco deconfig get
Get a file from a deconfig branch.
deco deconfig get <path> -b <branchName> [options]Options:
-b, --branch <branchName>(required) - Branch name-o, --output <file>- Output file (defaults to stdout)
Examples:
# Get file and output to stdout
deco deconfig get /config.json -b main
# Get file and save to local file
deco deconfig get /config.json -b main -o ./local-config.jsondeco deconfig put
Put a file to a deconfig branch.
deco deconfig put <path> -b <branchName> [options]Options:
-b, --branch <branchName>(required) - Branch name-f, --file <file>- Local file to upload-c, --content <content>- Content to upload directly-m, --metadata <metadata>- Metadata JSON string
Examples:
# Upload local file
deco deconfig put /config.json -b main -f ./local-config.json
# Upload content directly
deco deconfig put /message.txt -b main -c "Hello, World!"
# Upload with metadata
deco deconfig put /config.json -b main -f ./config.json -m '{"author":"user","version":"1.0"}'
# Upload from stdin
echo "Hello from stdin" | deco deconfig put /stdin.txt -b maindeco deconfig watch
Watch a deconfig branch for changes in real-time.
deco deconfig watch -b <branchName> [options]Options:
-b, --branch <branchName>(required) - Branch name-p, --path <path>- Path filter for watching specific files--from-ctime <ctime>- Start watching from this ctime (default: 1)
Examples:
# Watch all changes on main branch
deco deconfig watch -b main
# Watch specific path pattern
deco deconfig watch -b main -p "/config/**"
# Watch from specific change time
deco deconfig watch -b main --from-ctime 1000deco deconfig mount
Mount a deconfig branch to a local directory and sync changes bidirectionally.
deco deconfig mount -b <branchName> --path <localPath> [options]Options:
-b, --branch <branchName>(required) - Branch name to mount--path <path>(required) - Local directory path to sync files to--from-ctime <ctime>- Start watching from this ctime (default: 1)--path-filter <filter>- Filter files by path pattern
Examples:
# Mount branch "main" to ./local directory
deco deconfig mount -b main --path ./local
# Mount with specific ctime and path filter
deco deconfig mount -b feature-branch --path ./sync --from-ctime 1000 --path-filter "/src/**"How it works
- Authentication: Uses your deco.chat session (requires
deco login) - API Communication: All commands use MCP (Model Context Protocol) tools via HTTPS
- Real-time Updates: Watch and mount commands use Server-Sent Events (SSE)
- Content Handling: Files are transferred as base64-encoded content
- Path Filtering: Supports glob-like patterns for selective operations
Technical Details
- Base URL:
https://deconfig.deco.page - API Endpoints:
/mcp/call-tool/READ_FILE,/mcp/call-tool/PUT_FILE - Watch Endpoint:
/watch(Server-Sent Events) - Authentication: Bearer token in Authorization header
- Content Encoding: Base64 for binary safety
All commands will run until completion or interruption (Ctrl+C for watch/mount commands).