Local development with external IDEs
Introduction
Holistics is built for development outside the UI. Everything in Holistics (models, datasets, metrics, dashboards) is defined as code, version controlled in Git, and can be managed through CLI and API.
This guide walks you through a typical local development workflow using your preferred IDE.
Prerequisites
Before you begin, make sure you have:
- A Holistics project connected to an external Git repository (GitHub, GitLab, Bitbucket, etc.)
- Git installed on your local machine
- An IDE of your choice (VSCode, Cursor, etc.)
- (Optional) Holistics CLI installed
- Not required, but helpful for validating AML code locally when switching between the Holistics UI and your editor
Development workflow
Here's the typical workflow for developing Holistics analytics code locally:
How it works:
- One-time setup:
- Connect your Holistics project to an external Git repo
- Clone and create a branch
- 2 ways to develop:
- Local → Remote → Holistics:
- Edit AML files in your IDE, validate with the CLI, then commit and push
- Holistics syncs your changes automatically
- Holistics → Remote → Local:
- Make changes directly in Holistics (for example, reposition dashboard widgets)
- Commit in Holistics
git pulllocally
- Local → Remote → Holistics:
- Ship:
- Create a pull request
- Review and merge
- Publish via the UI or API
Unlike purely local-first tools, Holistics supports making changes in both the UI and your local IDE because some tasks like repositioning dashboard widgets are easier in the UI. Just commit in Holistics, it will automatically sync to remote repository, and from there you can pull locally.
1. Clone your repository
Clone your Holistics project repository to your local machine:
git clone [email protected]:your-org/your-holistics-repo.git
cd your-holistics-repo
2. Create a development branch
Create a new branch for your changes:
git checkout -b feature/add-new-dashboard
3. Make changes in your IDE
Open the project in your preferred IDE and start editing AML files. Your project structure typically looks like:
your-holistics-repo/
├── models/
│ ├── orders.model.aml
│ └── users.model.aml
├── datasets/
│ └── ecommerce.dataset.aml
└── dashboards/
└── sales_overview.page.aml
4. (Optional) Validate your code
Before pushing, validate your changes using one of these methods:
-
CLI validation for local validation:
holistics aml validate -
Validation API for project-level validation in CI/CD pipelines:
curl -X POST https://<holistics domain>/api/v2/aml_studio/projects/submit_validate \-H "X-Holistics-Key: $HOLISTICS_API_KEY" \-d '{"branch": "feature/add-new-dashboard""commit-oid": "abc123def456",}'
Both approaches integrate cleanly into CI/CD workflows. For example, you can set up a GitHub Action to run holistics aml validate on every push to ensure code quality before merging.
5. Push and preview
Push your changes to your branch:
git add .
git commit -m "Add new sales dashboard"
git push -u origin feature/add-new-dashboard
In the Holistics web UI, switch to your branch to preview your changes.
6. Create a pull request
Create a pull request either:
- Locally via your Git tooling (
gh pr create, GitLab CLI, etc.) - Through your Git hosting provider's web UI (GitHub, GitLab, etc.)
- Through the Holistics web UI
7. Code review and merge
Have your team review the changes. Once approved, merge to your master branch.
8. Publish
Publish either:
- Manually through the Holistics UI
- Set up a GitHub Action to auto-publish on merge using the Publish API
- Call the Publish API locally
IDE tooling
VS Code extension
We offer a VS Code extension that enhances your local development experience with:
- Syntax highlighting for AML files
- Autocomplete for AML keywords and properties
- Hover information showing documentation for AML elements
- Go-to-definition to navigate between models, datasets, and dashboards
To install, search for "Holistics" in the VS Code Extensions marketplace, or run:
code --install-extension holistics.holistics-aml-vscode-ext
Other IDEs
AML files are plain text, so any IDE works for editing. Popular choices include:
- Cursor
- JetBrains IDEs
- Vim/Neovim
- Zed
AI-assisted development
Use AI coding tools like Claude Code or Cursor with Holistics' MCP Server to:
- Query your data using natural language
Troubleshooting
Changes not appearing in Holistics
- Make sure you've pushed to the correct branch
- In the Holistics UI, switch to your branch and click refresh
Validation errors
- Run
holistics aml validatelocally before pushing - Check the AML reference for syntax details
Merge conflicts
- If both local and UI changes were made on the same branch, resolve conflicts locally with
git pullbefore pushing