From 4bf2161b902b32c3e4f469709eab6b8101c5964c Mon Sep 17 00:00:00 2001 From: calreynolds Date: Wed, 25 Mar 2026 16:37:01 -0400 Subject: [PATCH 1/2] docs: add GitHub Pages quickstart site Adds a MkDocs Material documentation site tucked inside .github/pages/ so it doesn't affect the project root. Includes a GitHub Actions workflow that builds and deploys to GitHub Pages on pushes to main. - Single-page quickstart guide (7 steps with example prompts) - Mock screenshots for each step - Reference pages for skills, MCP tools, core library, builder app - Deploys via .github/workflows/pages.yml Co-authored-by: Isaac --- .github/pages/docs/assets/step1-install.png | Bin 0 -> 30684 bytes .github/pages/docs/assets/step2-explore.png | Bin 0 -> 17905 bytes .github/pages/docs/assets/step4-pipeline.png | Bin 0 -> 14604 bytes .github/pages/docs/assets/step5-dashboard.png | Bin 0 -> 17261 bytes .github/pages/docs/assets/step6-agent.png | Bin 0 -> 37201 bytes .github/pages/docs/assets/step7-app.png | Bin 0 -> 21017 bytes .github/pages/docs/index.md | 42 +++ .github/pages/docs/overrides/main.html | 1 + .github/pages/docs/quickstart.md | 253 ++++++++++++++++++ .github/pages/docs/reference/builder-app.md | 36 +++ .github/pages/docs/reference/mcp-tools.md | 74 +++++ .github/pages/docs/reference/skills.md | 70 +++++ .github/pages/docs/reference/tools-core.md | 86 ++++++ .github/pages/docs/stylesheets/extra.css | 144 ++++++++++ .github/pages/mkdocs.yml | 79 ++++++ .github/workflows/pages.yml | 40 +++ 16 files changed, 825 insertions(+) create mode 100644 .github/pages/docs/assets/step1-install.png create mode 100644 .github/pages/docs/assets/step2-explore.png create mode 100644 .github/pages/docs/assets/step4-pipeline.png create mode 100644 .github/pages/docs/assets/step5-dashboard.png create mode 100644 .github/pages/docs/assets/step6-agent.png create mode 100644 .github/pages/docs/assets/step7-app.png create mode 100644 .github/pages/docs/index.md create mode 100644 .github/pages/docs/overrides/main.html create mode 100644 .github/pages/docs/quickstart.md create mode 100644 .github/pages/docs/reference/builder-app.md create mode 100644 .github/pages/docs/reference/mcp-tools.md create mode 100644 .github/pages/docs/reference/skills.md create mode 100644 .github/pages/docs/reference/tools-core.md create mode 100644 .github/pages/docs/stylesheets/extra.css create mode 100644 .github/pages/mkdocs.yml create mode 100644 .github/workflows/pages.yml diff --git a/.github/pages/docs/assets/step1-install.png b/.github/pages/docs/assets/step1-install.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd5f7b76b58a6254e1e22c8f4d9830fbf3bd340 GIT binary patch literal 30684 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 literal 0 HcmV?d00001 diff --git a/.github/pages/docs/assets/step2-explore.png b/.github/pages/docs/assets/step2-explore.png new file mode 100644 index 0000000000000000000000000000000000000000..1e1fc78f22d2513ae85077810a70c3419f5aa818 GIT binary patch literal 17905 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 Z?yiAR6lDm)2K?rogs7}Ym5_eGe*;i73MK#m literal 0 HcmV?d00001 diff --git a/.github/pages/docs/assets/step5-dashboard.png b/.github/pages/docs/assets/step5-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..ad942fcc961d8f3e260ea08efcbc2c3bb4abb052 GIT binary patch literal 17261 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 OfPI!!l&A(72mcTKf;neIDt_AJn98N+5 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ⓈagCL+oD#BH-E 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 + +
+ +# AI Dev Kit + +Give your AI coding assistant superpowers on Databricks. +{.tagline} + +[Start the Quickstart :material-arrow-right:](quickstart.md){.cta-primary} + +
+ +
+
27Skills
+
50+MCP Tools
+
~60 minQuickstart
+
+ +

The AI Dev Kit gives AI coding assistants the knowledge and tools to build on Databricks.
Skills teach patterns. MCP Tools execute them. You talk, it builds.

+ +| Step | What you build | Time | +|:----:|---------------|-----:| +| **1** | Install the AI Dev Kit | 2 min | +| **2** | Explore and profile your data | 5 min | +| **3** | Generate a sample dataset | 5 min | +| **4** | Build a medallion data pipeline (SDP) | 15 min | +| **5** | Create an AI/BI dashboard | 10 min | +| **6** | Deploy a Knowledge Assistant (RAG agent) | 15 min | +| **7** | Build a full-stack Databricks App | 10 min | + +

Prerequisites: uv, Databricks CLI (authenticated), and an AI assistant (Claude Code, Cursor, or Gemini CLI).

+ +[Start the Quickstart :material-arrow-right:](quickstart.md){.cta-primary} + + diff --git a/.github/pages/docs/overrides/main.html b/.github/pages/docs/overrides/main.html new file mode 100644 index 00000000..94d9808c --- /dev/null +++ b/.github/pages/docs/overrides/main.html @@ -0,0 +1 @@ +{% extends "base.html" %} diff --git a/.github/pages/docs/quickstart.md b/.github/pages/docs/quickstart.md new file mode 100644 index 00000000..33369d50 --- /dev/null +++ b/.github/pages/docs/quickstart.md @@ -0,0 +1,253 @@ +--- +hide: + - navigation +--- + +
+ +# Quickstart + +## 1 Install the AI Dev Kit 2 min + +You need **uv**, the **Databricks CLI** (authenticated), and an AI coding assistant. + +=== "Mac / Linux" + + ```bash + bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh) + ``` + +=== "Windows" + + ```powershell + irm https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.ps1 | iex + ``` + +Follow the interactive prompts, then open your AI assistant from the same directory. + +!!! success "What you'll see" + Your project now has `.claude/skills/` (27 Databricks skills) and `.claude/mcp.json` (MCP server config). Your AI assistant can talk to Databricks. + +
+Install output +
+ +--- + +## 2 Explore your data 5 min + +Discover what's in your workspace. Open your AI assistant and paste: + +!!! example "Prompt" + ``` + What catalogs and schemas are available in my Databricks workspace? + Show me the tables in each schema with their column names and row counts. + ``` + +Now pick a table and profile it: + +!!! example "Prompt" + ``` + Profile the table `main.default.my_table`. Show total rows, null counts + per column, value distributions for categoricals (top 10), and + min/max/mean for numerics. Include 5 sample rows. + ``` + +!!! tip + Replace `main.default.my_table` with a real table. If your workspace is empty, the next step generates sample data. + +
+Table exploration results +
+ +--- + +## 3 Generate sample data 5 min + +If you need data for the rest of this quickstart: + +!!! example "Prompt" + ``` + Generate a realistic e-commerce dataset in my workspace: + - main.quickstart.customers — 10,000 rows (name, email, signup_date, segment) + - main.quickstart.orders — 50,000 rows (order_id, customer_id, order_date, total_amount, status) + - main.quickstart.products — 500 rows (product_id, name, category, price) + + Use realistic distributions, not uniform random. Make sure foreign keys are valid. + ``` + +!!! success "What you'll see" + Three tables created in Unity Catalog with realistic distributions, immediately queryable. + +Try asking a question: + +!!! example "Prompt" + ``` + What are the top 10 product categories by total revenue? + Break it down by month for the last 6 months. + ``` + +--- + +## 4 Build a data pipeline 15 min + +Create a production-ready Spark Declarative Pipeline with the medallion architecture. + +!!! example "Prompt" + ``` + Create a new Spark Declarative Pipeline using Databricks Asset Bundles: + + - Python (not SQL) + - Medallion architecture: bronze → silver → gold + - Serverless compute + - Target: main.quickstart schema + + Bronze: ingest from orders and customers tables + Silver: clean nulls, join orders with customers, add order_year/month columns + Gold: materialized views for monthly_revenue (by month + segment) + and customer_lifetime_value + + Initialize with `databricks pipelines init`, then deploy and run it. + ``` + +!!! success "What you'll see" + The assistant scaffolds a DAB project with bronze/silver/gold Python files, deploys it, triggers a run, and shows pipeline status as each table processes. + +!!! info "How skills help" + The assistant loaded `databricks-spark-declarative-pipelines` and `databricks-bundles` skills, which taught it correct SDP patterns, serverless defaults, and Asset Bundle structure. Without these skills, it would guess — and often get it wrong. + +
+Pipeline status +
+ +--- + +## 5 Create a dashboard 10 min + +Build an AI/BI dashboard from the gold tables your pipeline just created. + +!!! example "Prompt" + ``` + Create an AI/BI dashboard called "Quickstart: Sales Overview" using main.quickstart: + + 1. Counter: total revenue + 2. Counter: total orders + 3. Line chart: monthly revenue trend (last 12 months) + 4. Bar chart: revenue by customer segment + 5. Table: top 20 customers by lifetime value + 6. Date range filter on all charts + + Test all SQL queries before deploying. + ``` + +!!! success "What you'll see" + The assistant follows the mandatory validation workflow: get schemas → write SQL → **test every query** → build dashboard JSON → deploy. Returns a URL to the live dashboard. + +Iterate by asking: + +!!! example "Prompt" + ``` + Update the dashboard: change the monthly chart to a stacked area by segment, + and add a second page "Customers" with a scatter plot of order frequency + vs average order value. + ``` + +!!! info "Why validation matters" + The `databricks-aibi-dashboards` skill enforces SQL testing before deployment. Without it, widgets show "Invalid widget definition" errors. Skills encode hard-won best practices. + +
+Dashboard preview +
+ +--- + +## 6 Deploy an AI agent 15 min + +Create a Knowledge Assistant — a RAG-based agent that answers questions from documents. + +!!! example "Prompt" + ``` + Create a Knowledge Assistant called "Quickstart FAQ Bot": + + 1. Generate 20 sample FAQ documents (pricing, features, returns, shipping, support) + 2. Upload to UC volume main.quickstart.volumes.faq_docs + 3. Create a Vector Search endpoint and index for the documents + 4. Create the Knowledge Assistant using Foundation Model APIs + 5. Deploy to a serving endpoint + 6. System prompt: "Answer questions based only on the FAQ documents. If unsure, say so." + + Test it with: "What is your return policy?" and "How much does enterprise cost?" + ``` + +!!! success "What you'll see" + The assistant creates the knowledge base, vector index, and agent, deploys it, then runs test queries showing responses with source attribution. + +
+Agent test results +
+ +**Alternative** — for SQL-based data Q&A, try a Genie Space instead: + +!!! example "Prompt" + ``` + Create a Genie Space called "Sales Genie" that lets users ask natural + language questions about the quickstart tables (orders, customers, products). + Add sample questions and curation instructions. + ``` + +--- + +## 7 Build a full-stack app 10 min + +Bring everything together in a Databricks App. + +!!! example "Prompt" + ``` + Create a Databricks App called "quickstart-explorer" with FastAPI + React (APX pattern): + + - Page 1 "Explorer": catalog/schema browser + SQL query editor with results table + - Page 2 "Dashboard": line chart of monthly_revenue from the gold table, + filterable by segment, auto-refreshes every 30s + - Page 3 "Chat": chat interface connected to the FAQ Bot serving endpoint, + with streaming responses and source document cards + + Set up app.yaml with SQL warehouse and serving endpoint resources, + then deploy to Databricks Apps. + ``` + +!!! success "What you'll see" + The assistant scaffolds a complete project (FastAPI backend + React frontend), configures app.yaml with resource permissions, deploys it, and returns the live app URL. + +
+App preview +
+ +--- + +
+ +## You're done. + +**Data exploration** → **Pipeline** → **Dashboard** → **AI Agent** → **Full-stack App** — all through conversation. + +The AI Dev Kit has [27 skills](reference/skills.md) and [50+ MCP tools](reference/mcp-tools.md). Just ask your assistant to build something — skills activate automatically. + +!!! example "Ideas to try next" + ``` + Create a scheduled Databricks job that runs my pipeline every hour + and sends a Slack notification on failure. + ``` + + ``` + Set up MLflow evaluation for my FAQ Bot. Create 10 test questions and + measure correctness, retrieval relevance, and faithfulness. + ``` + + ``` + Add a Lakebase PostgreSQL database to my app for storing user preferences + and query history. + ``` + +
+ +
diff --git a/.github/pages/docs/reference/builder-app.md b/.github/pages/docs/reference/builder-app.md new file mode 100644 index 00000000..62b5aaa0 --- /dev/null +++ b/.github/pages/docs/reference/builder-app.md @@ -0,0 +1,36 @@ +# Visual Builder App + +A web-based chat UI for building on Databricks — powered by Claude Code under the hood. Same skills and tools as the CLI experience, but through a browser. + +--- + +## What it does + +- Chat with an AI assistant to build Databricks resources +- Manage projects with file editing and preview +- Back up and restore project state to PostgreSQL + +## Architecture + +| Layer | Technology | +|-------|-----------| +| Frontend | React + Vite | +| Backend | FastAPI + Uvicorn | +| Database | PostgreSQL (Lakebase) | +| AI Agent | Claude Code via claude-agent-sdk | + +## Setup + +```bash +cd ai-dev-kit/databricks-builder-app +./scripts/setup.sh +``` + +## Deploy to Databricks Apps + +```bash +databricks apps create my-builder --from app.yaml +databricks apps deploy my-builder +``` + +See the full [Builder App README](https://github.com/databricks-solutions/ai-dev-kit/tree/main/databricks-builder-app) for detailed setup, configuration, and troubleshooting. diff --git a/.github/pages/docs/reference/mcp-tools.md b/.github/pages/docs/reference/mcp-tools.md new file mode 100644 index 00000000..f09e1056 --- /dev/null +++ b/.github/pages/docs/reference/mcp-tools.md @@ -0,0 +1,74 @@ +# MCP Tools + +The MCP server exposes 50+ tools that let your AI assistant **execute actions** against your Databricks workspace. These are the functions it calls when you ask it to run SQL, create a dashboard, or deploy a job. + +--- + +## SQL + +| Tool | What it does | +|------|-------------| +| `execute_sql` | Run a SQL query, return results | +| `execute_sql_multi` | Run multiple queries in parallel | +| `list_warehouses` | List available SQL warehouses | +| `get_table_details` | Get table schemas for a catalog/schema | +| `get_best_warehouse` | Auto-select the best available warehouse | + +## Compute + +| Tool | What it does | +|------|-------------| +| `list_clusters` | List all clusters | +| `execute_databricks_command` | Run code on a cluster | +| `run_python_file_on_databricks` | Upload and execute a Python file | + +## Files + +| Tool | What it does | +|------|-------------| +| `upload_file` | Upload a file to a UC volume or workspace | +| `upload_folder` | Upload an entire folder | + +## Jobs & Workflows + +| Tool | What it does | +|------|-------------| +| `create_job` | Create a new job | +| `run_job_now` | Trigger a job run | +| `get_job` | Get job details | +| `list_jobs` | List all jobs | +| `wait_for_run` | Wait for a run to complete | +| `get_run` | Get run status and results | + +## Pipelines (SDP/DLT) + +| Tool | What it does | +|------|-------------| +| `create_or_update_pipeline` | Create or update a pipeline | +| `run_pipeline` | Trigger a pipeline update | +| `get_pipeline` | Get pipeline status | + +## AI/BI Dashboards + +| Tool | What it does | +|------|-------------| +| `create_or_update_dashboard` | Deploy a dashboard | +| `get_dashboard` | Get details or list all dashboards | +| `publish_dashboard` | Publish or unpublish | +| `delete_dashboard` | Move to trash | + +## AI Agents + +| Tool | What it does | +|------|-------------| +| `manage_ka` | Create/manage Knowledge Assistants | +| `manage_mas` | Create/manage Supervisor Agents | +| `create_or_update_genie` | Create/manage Genie Spaces | +| `find_genie_by_name` | Find a Genie Space by name | + +## Model Serving + +| Tool | What it does | +|------|-------------| +| `query_serving_endpoint` | Query a model serving endpoint | +| `get_serving_endpoint_status` | Check endpoint status | diff --git a/.github/pages/docs/reference/skills.md b/.github/pages/docs/reference/skills.md new file mode 100644 index 00000000..0ba19db5 --- /dev/null +++ b/.github/pages/docs/reference/skills.md @@ -0,0 +1,70 @@ +# Skills Catalog + +Skills are markdown files that teach your AI assistant Databricks patterns. They load automatically — you never need to reference them directly. When you ask "create a dashboard," the assistant reads the dashboard skill and follows the right workflow. + +--- + +## AI & Agents + +| Skill | What it teaches | +|-------|----------------| +| `databricks-ai-functions` | Built-in AI Functions (ai_classify, ai_extract, ai_summarize, ai_query, ai_forecast) | +| `databricks-agent-bricks` | Knowledge Assistants, Genie Spaces, Supervisor Agents | +| `databricks-genie` | Genie Space creation, curation, and Conversation API | +| `databricks-model-serving` | Deploy MLflow models and AI agents to serving endpoints | +| `databricks-unstructured-pdf-generation` | Generate synthetic PDFs for RAG testing | +| `databricks-vector-search` | Vector index configuration, querying, and RAG patterns | + +## Analytics & Dashboards + +| Skill | What it teaches | +|-------|----------------| +| `databricks-aibi-dashboards` | AI/BI dashboard creation with mandatory SQL validation workflow | +| `databricks-unity-catalog` | System tables for lineage, audit, and billing | +| `databricks-metric-views` | Governed business metrics in YAML | +| `databricks-dbsql` | Advanced SQL warehouse features | + +## Data Engineering + +| Skill | What it teaches | +|-------|----------------| +| `databricks-spark-declarative-pipelines` | SDP/DLT — streaming tables, materialized views, CDC, SCD Type 2 | +| `databricks-spark-structured-streaming` | Spark Structured Streaming patterns | +| `databricks-jobs` | Multi-task workflows, triggers, schedules | +| `databricks-synthetic-data-gen` | Realistic test data generation with Faker | +| `databricks-iceberg` | Apache Iceberg tables, UniForm, REST Catalog | +| `databricks-zerobus-ingest` | Near real-time ingestion via gRPC | + +## Development & Deployment + +| Skill | What it teaches | +|-------|----------------| +| `databricks-bundles` | Databricks Asset Bundles for multi-environment CI/CD | +| `databricks-app-apx` | Full-stack apps (FastAPI + React) | +| `databricks-app-python` | Python web apps (Dash, Streamlit, Flask, Gradio) | +| `databricks-python-sdk` | Python SDK, Databricks Connect, CLI, REST API | +| `databricks-config` | Profile authentication setup | +| `databricks-lakebase-provisioned` | Managed PostgreSQL for OLTP workloads | +| `databricks-lakebase-autoscale` | Autoscaling managed PostgreSQL | +| `databricks-execution-compute` | Cluster and serverless compute management | + +## MLflow + +From [mlflow/skills](https://github.com/mlflow/skills): + +| Skill | What it teaches | +|-------|----------------| +| `agent-evaluation` | End-to-end agent evaluation workflow | +| `analyze-mlflow-chat-session` | Debug multi-turn conversations | +| `analyze-mlflow-trace` | Debug traces, spans, and assessments | +| `instrumenting-with-mlflow-tracing` | Add MLflow tracing to Python/TypeScript | +| `mlflow-onboarding` | MLflow setup for new users | +| `querying-mlflow-metrics` | Aggregated metrics and time-series analysis | +| `retrieving-mlflow-traces` | Trace search and filtering | +| `searching-mlflow-docs` | Search MLflow documentation | + +## Reference + +| Skill | What it teaches | +|-------|----------------| +| `databricks-docs` | Documentation index via llms.txt | diff --git a/.github/pages/docs/reference/tools-core.md b/.github/pages/docs/reference/tools-core.md new file mode 100644 index 00000000..d9d318e1 --- /dev/null +++ b/.github/pages/docs/reference/tools-core.md @@ -0,0 +1,86 @@ +# Core Library + +`databricks-tools-core` is the Python library that powers the MCP server. You can also use it directly in your own projects — with LangChain, OpenAI Agents, FastAPI, or any Python framework. + +--- + +## Install + +```bash +pip install databricks-ai-dev-kit +``` + +## Quick example + +```python +from databricks_tools_core.sql import execute_sql +from databricks_tools_core.auth import set_auth + +set_auth(profile="DEFAULT") +results = execute_sql("SELECT * FROM main.default.my_table LIMIT 10") +``` + +## Modules + +| Module | Key functions | +|--------|--------------| +| `sql` | `execute_sql`, `execute_sql_multi`, `list_warehouses`, `get_table_details` | +| `jobs` | `create_job`, `run_job_now`, `get_job`, `list_jobs`, `wait_for_run` | +| `unity_catalog` | `list_catalogs`, `list_schemas`, `list_tables` | +| `compute` | `list_clusters`, `execute_command` | +| `spark_declarative_pipelines` | `create_or_update_pipeline`, `run_pipeline`, `get_pipeline` | + +## Authentication + +```python +from databricks_tools_core.auth import set_auth + +# CLI profile (default) +set_auth(profile="DEFAULT") + +# Explicit credentials +set_auth(host="https://my-workspace.cloud.databricks.com", token="dapi...") +``` + +Multi-user safe via Python `contextvars`. + +## Framework integration + +=== "LangChain" + + ```python + from langchain.tools import tool + from databricks_tools_core.sql import execute_sql + + @tool + def query_databricks(query: str) -> str: + """Execute a SQL query on Databricks.""" + return execute_sql(query) + ``` + +=== "OpenAI Agents" + + ```python + from agents import function_tool + from databricks_tools_core.sql import execute_sql + + @function_tool + def query_databricks(query: str) -> str: + """Execute a SQL query on Databricks.""" + return execute_sql(query) + ``` + +=== "FastAPI" + + ```python + from fastapi import FastAPI + from databricks_tools_core.sql import execute_sql + + app = FastAPI() + + @app.get("/query") + def run_query(sql: str): + return execute_sql(sql) + ``` + +See the full [API documentation](https://github.com/databricks-solutions/ai-dev-kit/tree/main/databricks-tools-core) for details. diff --git a/.github/pages/docs/stylesheets/extra.css b/.github/pages/docs/stylesheets/extra.css new file mode 100644 index 00000000..23c99d04 --- /dev/null +++ b/.github/pages/docs/stylesheets/extra.css @@ -0,0 +1,144 @@ +/* ─── Databricks Brand ─── */ +:root { + --md-primary-fg-color: #FF3621; + --md-primary-fg-color--light: #FF6B59; + --md-primary-fg-color--dark: #CC2B1A; + --md-accent-fg-color: #FF3621; + --db-red: #FF3621; +} +[data-md-color-scheme="slate"] { + --md-primary-fg-color: #FF3621; + --md-primary-fg-color--light: #FF6B59; + --md-primary-fg-color--dark: #CC2B1A; + --md-accent-fg-color: #FF6B59; +} + +/* ─── Global ─── */ +.md-content__inner { max-width: 820px; margin: 0 auto; } +.md-typeset h1 { font-weight: 800; letter-spacing: -0.02em; } +.md-typeset h2 { font-weight: 700; margin-top: 1.8em; } +.md-typeset hr { margin: 1.5em 0; } + +/* ─── CTA Button ─── */ +.cta-primary { + display: inline-block; + background: var(--db-red); + color: #fff !important; + padding: 0.7rem 1.8rem; + border-radius: 8px; + font-weight: 700; + font-size: 0.95rem; + text-decoration: none !important; + transition: transform 0.15s, box-shadow 0.15s; +} +.cta-primary:hover { + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(255, 54, 33, 0.3); +} + +/* ─── Landing: whole page centered ─── */ +.landing { + text-align: center; + max-width: 680px; + margin: 0 auto; +} +.landing .md-typeset__table, .landing table { margin: 0 auto; } +.landing-hero { + padding: 2.5rem 0 1.5rem; +} +.landing-hero h1 { + font-size: 2.6rem; + font-weight: 800; + letter-spacing: -0.03em; + line-height: 1.1; + margin-bottom: 0.5rem; +} +.landing-hero .tagline { + font-size: 1.05rem; + opacity: 0.6; + margin-bottom: 1.5rem; +} + +/* ─── Landing: Stats ─── */ +.stats-bar { + display: flex; + justify-content: center; + gap: 2.5rem; + padding: 1rem 0; + margin: 0 auto 1rem; + max-width: 420px; + border-top: 1px solid var(--md-default-fg-color--lightest); + border-bottom: 1px solid var(--md-default-fg-color--lightest); +} +.stat { text-align: center; } +.stat .num { display: block; font-size: 1.5rem; font-weight: 800; color: var(--db-red); } +.stat .label { font-size: 0.7rem; opacity: 0.5; text-transform: uppercase; letter-spacing: 0.06em; } + +/* ─── Landing: description + prereqs ─── */ +.landing-desc { + font-size: 0.95rem; + line-height: 1.6; + opacity: 0.8; + margin: 1rem auto 1.2rem; + max-width: 560px; +} +.landing-prereqs { + font-size: 0.85rem; + opacity: 0.7; + margin: 1rem auto 1.2rem; +} + +/* ─── Quickstart: step headings ─── */ +.md-typeset .qs h2 { + display: flex; + align-items: center; + gap: 0.6rem; + font-size: 1.3rem; + margin-top: 0; + padding-bottom: 0.5rem; + border-bottom: 2px solid var(--md-default-fg-color--lightest); +} +.md-typeset .qs h2 .num { + display: inline-flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + border-radius: 50%; + background: var(--db-red); + color: #fff; + font-size: 0.8rem; + font-weight: 800; + flex-shrink: 0; +} +.md-typeset .qs h2 .dur { + margin-left: auto; + font-size: 0.75rem; + font-weight: 400; + opacity: 0.45; +} + +/* ─── Quickstart: tighter admonition spacing ─── */ +.md-typeset .qs .admonition { margin-top: 0.5em; margin-bottom: 0.5em; } + +/* ─── Quickstart: step screenshots ─── */ +.step-screenshot { + margin: 0.8em 0; + border-radius: 6px; + overflow: hidden; + border: 1px solid var(--md-default-fg-color--lightest); +} +.step-screenshot img { + display: block; + width: 100%; + height: auto; +} + +/* ─── Completion banner ─── */ +.completion-banner { + text-align: center; + padding: 1.5rem 1rem; + max-width: 600px; + margin: 0 auto; +} +.completion-banner h2 { border: none !important; font-size: 1.6rem; } diff --git a/.github/pages/mkdocs.yml b/.github/pages/mkdocs.yml new file mode 100644 index 00000000..8cbd607f --- /dev/null +++ b/.github/pages/mkdocs.yml @@ -0,0 +1,79 @@ +site_name: Databricks AI Dev Kit +site_description: Quickstart — AI-Driven Development on Databricks +site_url: https://databricks-solutions.github.io/ai-dev-kit/ +repo_url: https://github.com/databricks-solutions/ai-dev-kit +repo_name: databricks-solutions/ai-dev-kit + +theme: + name: material + custom_dir: docs/overrides + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: custom + accent: red + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: custom + accent: red + toggle: + icon: material/brightness-4 + name: Switch to light mode + font: + text: DM Sans + code: JetBrains Mono + features: + - navigation.instant + - navigation.tracking + - navigation.top + - content.code.copy + - content.code.annotate + - content.tabs.link + - search.highlight + - toc.follow + icon: + repo: fontawesome/brands/github + +extra_css: + - stylesheets/extra.css + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - attr_list + - md_in_html + - tables + - toc: + permalink: true + +plugins: + - search + +nav: + - Home: index.md + - Quickstart: quickstart.md + - Reference: + - Skills Catalog: reference/skills.md + - MCP Tools: reference/mcp-tools.md + - Core Library: reference/tools-core.md + - Visual Builder: reference/builder-app.md + +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/databricks-solutions/ai-dev-kit diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 00000000..6f79fbe5 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,40 @@ +name: Deploy docs to GitHub Pages + +on: + push: + branches: [main] + paths: [".github/pages/**"] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - run: pip install mkdocs-material + - run: mkdocs build -f .github/pages/mkdocs.yml -d ../../site + - uses: actions/upload-pages-artifact@v3 + with: + path: site + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - id: deployment + uses: actions/deploy-pages@v4 From 4240f99e2286625750f32df9697f0b11cb2ca068 Mon Sep 17 00:00:00 2001 From: Cal Reynolds <49540501+calreynolds@users.noreply.github.com> Date: Wed, 25 Mar 2026 17:00:31 -0400 Subject: [PATCH 2/2] Update pages.yml --- .github/workflows/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 6f79fbe5..eea56c70 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -17,7 +17,7 @@ concurrency: jobs: build: - runs-on: ubuntu-latest + runs-on: linux-ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5