Skip to main content

Exokit — Your Databricks development power suit

Project description

Exokit — Your Databricks Development Power Suit

Generate production-grade Databricks demo projects in minutes. Each demo includes lakehouse pipelines (bronze/silver/gold), ML models, AI/BI dashboards, Genie spaces, an AI agent use case, and a full-stack showcase app — all scaffolded with governance, agents, and skills so Claude Code can continue building.

Prerequisites

Tool Required Install
Python >= 3.11 brew install python@3.11 or python.org
uv >= 0.4 curl -LsSf https://astral.sh/uv/install.sh | sh
Node.js >= 18 brew install node or nodejs.org
Databricks CLI >= 0.200 brew tap databricks/tap && brew install databricks
APX >= 0.3 uv tool install apx (for app scaffolding)
Claude Code latest claude.ai/claude-code

Databricks authentication — You need a configured CLI profile:

databricks configure --profile my-workspace

Installation

Option 1: Install as a global CLI tool (recommended)

# Clone the repo
git clone <repo-url> exokit
cd exokit

# Install globally — available from anywhere
uv tool install .

# Verify
exokit --help

Option 2: Install with pipx

pipx install /path/to/exokit
exokit --help

Option 3: Run from source (for development)

git clone <repo-url> exokit
cd exokit
uv sync
uv run exokit --help

Quick Start

1. Check prerequisites

exokit validate --profile my-workspace

This checks that all required tools are installed and Databricks auth is valid.

2. Scaffold and deploy a new demo

exokit init my-demo-project

The CLI will ask you 8 questions:

Question Example
Company name (optional — leave blank for generic industry demo)
Industry fsi, retail, telecom, healthcare, manufacturing
Unity Catalog name (auto-computed from company + industry)
SQL Warehouse ID (auto-detected from workspace)
Workspace host URL (auto-detected from CLI profile)
Databricks CLI profile (select from ~/.databrickscfg)
Demo description What the demo should cover
Notification email (pre-filled from workspace)

After answering, exokit scaffolds the project AND deploys a working hello-world demo end-to-end:

  1. Creates the Unity Catalog
  2. Renders 48+ templates (CLAUDE.md, databricks.yml, jobs, pipelines, notebooks, scripts)
  3. Scaffolds the full-stack app (APX + React + FastAPI)
  4. Deploys the lakehouse bundle (data gen + DLT pipeline + ML training + Genie Space)
  5. Deploys the app (build + upload + SP permissions)
  6. Prints a resource table with links to every deployed resource

The result is a fully running hello-world demo:

my-demo-project/
├── CLAUDE.md                    # Claude's operating manual (~400 lines)
├── .claude/
│   ├── agents/                  # 4 specialist agents
│   ├── skills/                  # Bundled Databricks skills
│   └── commands/                # /build-next, /deploy, /talk-track
├── databricks.yml               # Asset Bundle config
├── conf/
│   ├── demo_manifest.json       # Wave-by-wave build plan
│   └── catalog_schema.json      # Unity Catalog structure
├── resources/
│   ├── jobs/                    # Data gen + ML training job configs
│   └── pipelines/               # DLT pipeline config
├── src/
│   ├── data_generation/         # Structured + unstructured data
│   ├── pipelines/               # Bronze / Silver / Gold DLT SQL
│   ├── ml/                      # Feature engineering + model training
│   ├── dashboards/              # Dashboard utilities
│   └── agents/                  # Databricks agent framework
├── apps/main-app/               # Full-stack React + FastAPI app
├── docs/                        # Architecture, standards, progress
├── scripts/                     # Deploy, setup-catalog, validate
├── .env.example                 # Environment variables
└── .mcp.json                    # MCP server config (ai-dev-kit)

3. Start building with Claude

cd my-demo-project
claude

Claude reads the CLAUDE.md and demo_manifest.json — it knows exactly what to build. Use /build-next to build wave by wave, or just describe what you want.

What Each Demo Includes (7 Layers)

Layer What Gets Built
1. Raw Data Structured tables (Spark + Faker) + unstructured documents (PDFs for RAG)
2. Pipelines Bronze (Auto Loader) → Silver (quality constraints) → Gold (business metrics)
3. Features Feature engineering from gold tables using Databricks Feature Store
4. ML Models AutoML training, MLflow tracking, model registration in Unity Catalog
5. Dashboards AI/BI Lakeview dashboards + Genie Spaces for natural language queries
6. AI Agent RAG agent with unstructured data + UC function tools
7. App Full-stack React + FastAPI showcase app on Databricks Apps + Lakebase

Commands

# Scaffold + deploy a new demo project
exokit init [OUTPUT_DIR]

# Check prerequisites
exokit validate [--profile PROFILE]

# Refresh bundled skills from latest ai-dev-kit
exokit update-skills [PROJECT_DIR] [--source DIR]

How It Works

You answer questions  →  exokit scaffolds the project  →  Claude builds the content
     (8 questions)         (deterministic templates)        (industry-specific)

Deterministic scaffold — The project structure, governance, configs, and agent definitions are always generated the same way for a given set of answers. No randomness, no AI guessing.

Claude-driven content — The actual data schemas, DLT SQL, ML models, dashboard KPIs, agent tools, and app pages are generated by Claude based on the industry and use case. Claude reads the CLAUDE.md and knows exactly what patterns to follow.

Governance

Every generated project includes:

  • CLAUDE.md (~400 lines) — Tech stack, architecture rules, wave structure, quality gates, missing context protocol
  • 4 specialist agents — lakehouse-dev, app-dev, dashboard-dev, reviewer
  • Wave-based execution — 5 waves with quality gates between each
  • Session resilience — demo_manifest.json + PROGRESS.md + memory files survive context resets
  • Bundled skills — Databricks DLT, jobs, dashboards, ML serving, agent bricks, and more

App Architecture

The showcase app uses production-grade patterns:

  • Backend: FastAPI + Databricks SDK + Statement Execution API
  • Frontend: React 19 + TypeScript + Vite + Tailwind CSS + shadcn/ui
  • State: TanStack Query (server) + Zustand (client)
  • API Client: Auto-generated from FastAPI's OpenAPI spec
  • Auth: Service Principal for SQL queries (CAN_USE warehouse + UC grants)
  • Architecture: 3-layer backend (Router → Service → Repository)

Development (Contributing to Exokit)

# Install dev dependencies
uv sync

# Run tests
uv run pytest tests/ -v

# Run quality gates
uv run ruff check src/ tests/ --fix
uv run ruff format src/ tests/
uv run mypy src/exokit/
uv run pytest tests/ -v --cov=src/exokit

# Current: 444 tests, 82% coverage

Roadmap

  • Spec 001: Scaffold engine (CLI + templates + APX integration)
  • Spec 002: Feedback fixes from FSI demo build (37 items)
  • Hello-world: End-to-end verified (data gen, DLT, ML, dashboard, Genie, app)
  • V2: Web app with wizard UI + embedded Claude chat (Databricks App)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exokit-0.1.1.tar.gz (215.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exokit-0.1.1-py3-none-any.whl (104.8 kB view details)

Uploaded Python 3

File details

Details for the file exokit-0.1.1.tar.gz.

File metadata

  • Download URL: exokit-0.1.1.tar.gz
  • Upload date:
  • Size: 215.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for exokit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 737f11478a9b5adb8ad9952c296cc9c4b49ad4539a31fd1f19f9a32214868cf5
MD5 968347ea91a477c780527cb854ebc008
BLAKE2b-256 4a812764d23ef5ceba25f9365947adbde26cbf74f37047bdcf4f61b86adef830

See more details on using hashes here.

File details

Details for the file exokit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: exokit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 104.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for exokit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b520acd55ebf029468dcf5ac2f272126c92481144a870191c3f4d91df009ab26
MD5 aba64f927025ff8fc6cd6388d620bcc4
BLAKE2b-256 beb8fb3599c6d39ebee1026f11fe8d4a36cbc785b4bc1fe08c38f1f2d070011b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page