cap-apps-publish
SKILL.md
Build & Deploy Workflow
Prerequisites
- Node.js installed
- Domo CLI installed (
npm install -g @domoinc/ryuu)
Local development
npm install # Install dependencies
npm run dev # Start dev server (usually Vite)
For API calls to work locally, you need ryuu-proxy configured and domo login authenticated.
Build for production
npm run build # Outputs to dist/ (Vite) or build/ (CRA)
Domo CLI Authentication
domo login # Authenticate with your Domo instance
You'll be prompted for your Domo instance URL and credentials.
Publishing
cd dist # Change to build output directory
domo publish # Publish to Domo
Important - First publish:
- On first publish, Domo generates a new
idfor your app - This ID appears in the published
manifest.jsonin your dist folder - You must copy this ID back to your source
manifest.json(e.g.,public/manifest.json) - If you don't, every publish creates a NEW app instead of updating the existing one
# After first publish, copy the generated ID:
# dist/manifest.json → public/manifest.json (just the "id" field)
Subsequent publishes
Once the ID is in your source manifest:
npm run build && cd dist && domo publish
Build Checklist
Before publishing, ensure:
-
manifest.jsonhas correctdataSetId(notid) for datasets -
manifest.jsonhasfields: []in each dataset mapping -
thumbnail.pngexists and is 300x300 pixels - All queries use
.select()with specific columns (never fetch all columns) - Each visualization has its own optimized query
- No
.aggregate()calls (use.groupBy()or client-side aggregation) -
.groupBy()calls have a grouping column (not just aggregations)
Weekly Installs
3
Repository
stahura/domo-ai…be-rulesGitHub Stars
10
First Seen
Today
Security Audits
Installed on
windsurf3
amp3
cline3
opencode3
cursor3
kimi-cli3