mcpField
P
publish

publish

github.com/stahuraCloud & DevOps24191 installsUpdated 26w ago
Repository

About publish

A skill for building and publishing Domo apps with the Domo CLI. It guides local setup, production builds, authentication, and repeat publishing while highlighting manifest and query checks.

Key features

  1. 01Local development setup with Node.js
  2. 02Production build guidance
  3. 03Domo CLI authentication and publishing
  4. 04First-publish manifest ID handling
  5. 05Pre-publish manifest and query checklist

Use cases

  1. 01Preparing a Domo app for local development
  2. 02Publishing a built app to a Domo instance
  3. 03Updating an app without creating a new one

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/stahura/domo-ai-vibe-rules --skill publish

After installing, type/publishin Claude Code to confirm it loaded.

Details

From the project README

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

If publish includes new/updated Code Engine packages, run package lifecycle steps first via:

  • ~/.agents/skills/code-engine-create/SKILL.md
  • ~/.agents/skills/code-engine-update/SKILL.md

Important - First publish:

  • On first publish, Domo generates a new id for your app
  • This ID appears in the published manifest.json in 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.json has correct dataSetId (not id) for datasets
  • manifest.json has fields: [] in each dataset mapping
  • thumbnail.png exists 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)

Comments

Markdown supported