Omni CLI (Model Local Editor) + Cursor + Blobby Setup

Purpose: Use the Omni CLI (OmniSync / Model Local Editor) to sync an Omni data model locally, combine it with Tableau workbooks in Cursor, and use Cursor + Blobby to build or migrate charts for net-new BI implementations (zero-to-one Omni).


1. Prerequisites

  • Omni account and access to the client’s Omni model (model ID from the model URL).
  • Tableau workbooks (if migrating from Tableau): download per dashboard from Tableau into a folder structure Cursor can read.
  • Cursor IDE and (in Omni) Blobby (AI Helper) for chart creation.

2. Install Omni CLI (Model Local Editor) — Global

Install the CLI globally so it is available in any terminal directory. Do not use the local-folder install option.

  • Get the latest install command from Omni documentation (Model Local Editor / CLI).
  • Example pattern (confirm in Omni docs): npm install -g @omni/cli or the official install script they provide.
  • Verify: omni --version (or equivalent) from any directory.

3. Configure shell profile and credentials

Omni CLI requires environment variables (and optionally API keys) in your shell profile.

3.1 Edit shell profile

  • macOS (Zsh): nano ~/.zshrc
  • Bash: nano ~/.bashrc or nano ~/.bash_profile

Add at the end of the file (values from 1Password or Omni):

# Omni CLI (Model Local Editor)
export OMNI_API_KEY="<your-api-key>"
# Add any other OMNI_* vars required by the CLI (see Omni docs or team)

Save: Ctrl+O, Enter, then Ctrl+X. Reload: source ~/.zshrc (or source ~/.bashrc).

3.2 Verify

cat ~/.zshrc   # or cat ~/.bashrc

You should see the Omni variables at the bottom.

3.3 Credentials

  • Store API keys in 1Password (e.g. vault “Brainforge AI Team”); do not commit secrets to the repo.
  • Document the 1Password item name in team runbooks so others can load the same vars.

4. Start OmniSync (two-way sync)

Use start (not init) to sync the remote Omni model to a local directory with a dedicated branch.

4.1 Get model ID

  • Open the Omni model in the browser.
  • Copy the model ID from the URL (e.g. https://app.omni.co/.../models/<model-id>/...).

4.2 Run sync with a new branch

From the directory where you want the synced files (e.g. client analytics repo or a dedicated OmniSync folder):

omni sync start <model-id> --branch <branch-name> --create-branch

Example:

omni sync start abc123xyz --branch omni-pilot --create-branch
  • Branch: Omni has its own version control; use a branch for your work, then merge to main when ready.
  • Two-way sync: Changes you make locally (e.g. to Topics) are reflected in the branch and can be merged back.

4.3 What gets synced

  • Model metadata, relationships, and dbt tables.
  • Topics (e.g. revenue, operations, customer retention).
  • Local folder now mirrors the Omni model for that branch; Cursor can use it as context.

5. Tableau workbooks for Cursor (when migrating from Tableau)

  • Download each Tableau dashboard as a Tableau workbook (button in Tableau: download workbook).
  • Organize workbooks in folders by domain (e.g. product-dashboards/, farm-ops-dashboards/, finance-dashboards/).
  • Cursor can read these workbooks to understand data sources, metrics, and chart definitions — and suggest the right Omni Topic and steps to recreate the chart in Omni.

6. Cursor + Blobby workflow (chart build / migration)

  1. Context in Cursor: Ensure Cursor has:
    • The Omni-synced folder (model, relationships, dbt tables, Topics).
    • The Tableau workbook folders (if migrating from Tableau).
  2. Ask Cursor: Provide the dashboard name (or chart name) and ask Cursor to suggest which Omni Topic and which steps to use to build it.
  3. In Omni: Create a new query; select the Topic yourself (Cursor’s suggestion — e.g. “Channel performance summary”).
  4. Blobby (AI Helper): Paste Cursor’s instructions (and optionally a screenshot of the Tableau chart) into Omni’s AI Helper; let Blobby generate the chart.
  5. Verify and push: Check the result; then save/push. If you use a branch, merge to main when ready.

Caveats:

  • Always select the Topic yourself when creating a new query in Omni.
  • Do not change existing Topics if existing charts depend on them; changes can break those charts.
  • For complex charts (e.g. heat maps), the flow may need manual tuning; it works best for simpler charts.

7. Optional: analytics repo and dbt

  • If the client has an analytics repo (e.g. dbt), you can clone it and give Cursor access so it can reference dbt models when working on Topics.
  • Run OmniSync from a path that makes sense for your team (e.g. inside the client’s analytics repo or a sibling folder).

8. References