| name | quickstart |
| description | Set up Databricks agent development environment. Use when: (1) First time setup, (2) Configuring Databricks authentication, (3) User says 'quickstart', 'set up', 'authenticate', or 'configure databricks', (4) No .env file exists. |
Quickstart & Authentication
Prerequisites
- uv (Python package manager)
- nvm with Node 20 (for frontend)
- Databricks CLI v0.283.0+
Check CLI version:
databricks -v
brew upgrade databricks
Run Quickstart
uv run quickstart
Options:
--profile NAME: Use specified profile (non-interactive)
--host URL: Workspace URL for initial setup
--lakebase-provisioned-name NAME: Provisioned Lakebase instance name (memory templates)
--lakebase-autoscaling-project PROJECT: Autoscaling Lakebase project name (memory templates)
--lakebase-autoscaling-branch BRANCH: Autoscaling Lakebase branch name (memory templates)
--skip-lakebase: Skip Lakebase setup (non-interactive / CI use)
--app-name NAME: Existing Databricks app name to bind this bundle to
-h, --help: Show help
Examples:
uv run quickstart
uv run quickstart --profile DEFAULT
uv run quickstart --host https://your-workspace.cloud.databricks.com
uv run quickstart --app-name my-existing-app
uv run quickstart --profile DEFAULT --skip-lakebase
uv run quickstart --lakebase-provisioned-name my-instance
uv run quickstart --lakebase-autoscaling-project my-project --lakebase-autoscaling-branch production
What Quickstart Configures
Creates/updates .env with:
DATABRICKS_CONFIG_PROFILE - Selected CLI profile
MLFLOW_TRACKING_URI - Set to databricks://<profile-name> for local auth
MLFLOW_EXPERIMENT_ID - Auto-created experiment ID
LAKEBASE_INSTANCE_NAME - Provisioned Lakebase instance name (if --lakebase-provisioned-name provided)
LAKEBASE_AUTOSCALING_PROJECT and LAKEBASE_AUTOSCALING_BRANCH - Autoscaling project/branch (if --lakebase-autoscaling-project/branch provided)
Updates databricks.yml:
- Sets
experiment_id in the app's experiment resource
- Updates app
name field if --app-name is provided
Updates databricks.yml and app.yaml (if Lakebase flags provided):
- Keeps only the env vars relevant to the selected Lakebase type (provisioned or autoscaling)
- Removes the env vars for the other type
Existing App
If you created an app via the Databricks UI before cloning a template, use --app-name to bind the bundle to it:
uv run quickstart --app-name my-existing-app
Quickstart will update databricks.yml with the app name and print the binding command:
databricks bundle deployment bind <KEY> my-existing-app --auto-approve
databricks bundle deploy
This avoids the "An app with the same name already exists" error on first deploy.
Idempotency
Re-running quickstart is safe:
- Experiment: If
MLFLOW_EXPERIMENT_ID is already in .env and the experiment still exists, it is reused (no duplicate created).
- Lakebase: If Lakebase config is already in
.env, the interactive prompt is skipped and the existing config is reused.
Manual Authentication (Fallback)
If quickstart fails:
databricks auth login --host https://your-workspace.cloud.databricks.com
databricks auth profiles
Then manually create .env (copy from .env.example):
DATABRICKS_CONFIG_PROFILE=DEFAULT
MLFLOW_EXPERIMENT_ID=<your-experiment-id>
MLFLOW_TRACKING_URI="databricks://DEFAULT"
MLFLOW_REGISTRY_URI="databricks-uc"
CHAT_APP_PORT=3000
CHAT_PROXY_TIMEOUT_SECONDS=300
Next Steps
After quickstart completes:
- Run
uv run discover-tools to find available workspace resources (see discover-tools skill)
- Run
uv run start-app to test locally (see run-locally skill)