Skip to main content
When you’re ready to serve your model to other users, you can publish it to the Credible platform. Published models can be accessed via: Published models are organized into packages. A package is a folder containing your Malloy models, notebooks, and any embedded data files, and is published and versioned as a single unit. Publishing also triggers indexing by the Credible Context Engine, which makes your model available for consumption — see Indexing below.

Package Configuration

A package requires a publisher.json file that defines its metadata:
{
    "name": "ecommerce",
    "version": "0.0.1",
    "description": "ecommerce demo data"
}
A package can contain:
  • .malloy files - Semantic model definitions
  • .malloynb files - Malloy notebooks for exploration and documentation
  • Data files (CSV or Parquet) - Embedded data that gets published with your package (see Embed Data Files)

Publishing via Cursor Agent

The easiest way to publish is with the /credible-publish skill. Type /credible-publish in the agent chat — the agent will create a publisher.json if needed and run cred publish --set-latest for you.

Publishing via CLI

You can also publish directly with the Credible CLI:
  1. Install the CLI (if not already installed):
    npm i -g @credibledata/cred-cli
    
  2. Navigate to your package directory:
    cd /path/to/your/package
    
  3. Login to Credible:
    cred login <organizationName>
    
  4. Set your project:
    cred set project <projectName>
    
  5. Check the version: Open the publisher.json file and confirm the version number
  6. Publish the model:
    cred publish --set-latest
    
    The --set-latest flag pins this version as the default “latest” version for consumers. Omit this flag to publish without pinning.
  7. Confirm the deployment: Refresh the “Credible Service” panel in Cursor to verify that your new version appears
For comprehensive CLI documentation, see the CLI Reference.
Want to automate publishing when changes are merged to Git? See CI/CD Setup to configure GitHub Actions for automatic versioning and publishing.

Understanding Package Versions

Each time you publish a package, you create a new immutable version. All versions remain available indefinitely, providing full version history and lifecycle management similar to software packages.

Version Management

Pinned Version (Latest): One version can be designated as “latest” - this becomes the default version served to consumers who don’t specify a version. Consumers using “latest” automatically receive updates when you change the pin, unless they explicitly pin their application to a specific version (such as a dashboard that should remain stable). All Versions Remain Available: Every published version is preserved, enabling rollbacks, pinned production deployments, gradual adoption across teams, and historical audits. This version management approach treats semantic models as versioned software artifacts, giving you the same deployment safety and flexibility that modern software engineering practices provide.

Viewing Published Versions

After publishing, you can view your package versions in two places:
  • Credible Service Panel in Cursor — expand the panel to see your published packages, all versions, and which version is pinned as latest
  • Credible App at https://your-org.app.credibledata.com — navigate to your project and click on a package to see complete version history, pin/unpin versions, and view package metadata

Indexing

After publishing, the Credible Context Engine indexes your model’s dimensions, measures, views, #(doc) descriptions, and #(index_values) dimensional values. This indexing is what makes your model ready for consumption — whether through workspace chat, LLMs connected via MCP, custom agents, or any other consumer of the Credible platform. Indexing typically takes around 10 minutes. You can check the status on your project page or package page in the Credible App (https://your-org.app.credibledata.com) — look for a green “Indexed” tag on the package. Package showing indexed status
Until indexing completes, get_context calls will not return results for the new version. The execute_query tool and Data API are available immediately after publishing.

Next Steps

Now that you’ve published your models, you can analyze your data or build applications with your data.