From fd7e26b8ed9029e0fe13128d8d59ccb6b9e4337c Mon Sep 17 00:00:00 2001 From: Pawel Kosiec Date: Mon, 25 May 2026 22:19:15 +0200 Subject: [PATCH 1/6] feat: remove human step-by-step instructions from templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Templates are now an inspirational gallery — not a manual guide. Agent skills handle implementation; templates provide goals and prerequisites only. - Delete all content.md files (22 step-by-step instruction files) - Deduplicate prerequisites: remove CLI auth boilerplate (handled by localBootstrap recipe), keep workspace-specific checks - Simplify TemplateUsageBanner to agent-only CTA (remove "Read step-by-step" split) - Remove TOC sidebar from recipe/cookbook/example detail pages - Remove "human" composition mode from cookbook-composition - Simplify cookbook pages to render only goal.md - Update content-entries plugin, content-sections, content-markdown - Update gallery subtitle to agent-first copy - Update validate-content script and all tests - Update author-recipes-and-cookbooks skill Co-authored-by: Isaac --- .../author-recipes-and-cookbooks/SKILL.md | 169 +++-- api/content-markdown.ts | 1 - content/examples/rag-chat/content.md | 21 - .../recipes/ai-chat-model-serving/content.md | 216 ------- .../ai-chat-model-serving/prerequisites.md | 1 - .../recipes/embeddings-generation/content.md | 63 -- .../embeddings-generation/prerequisites.md | 1 - .../recipes/foundation-models-api/content.md | 117 ---- .../foundation-models-api/prerequisites.md | 1 - .../genie-conversational-analytics/content.md | 275 --------- .../prerequisites.md | 1 - content/recipes/genie-multi-space/content.md | 287 --------- .../genie-multi-space/prerequisites.md | 1 - .../recipes/lakebase-agent-memory/content.md | 132 ---- .../lakebase-agent-memory/prerequisites.md | 1 - .../content.md | 165 ----- .../prerequisites.md | 1 - .../lakebase-create-instance/content.md | 45 -- .../lakebase-create-instance/prerequisites.md | 1 - .../lakebase-data-persistence/content.md | 460 -------------- .../prerequisites.md | 1 - .../lakebase-drizzle-off-platform/content.md | 141 ----- .../prerequisites.md | 1 - .../content.md | 127 ---- .../prerequisites.md | 1 - content/recipes/lakebase-pgvector/content.md | 137 ----- .../lakebase-pgvector/prerequisites.md | 1 - .../lakebase-token-management/content.md | 205 ------- .../prerequisites.md | 1 - .../content.md | 205 ------- .../prerequisites.md | 1 - .../content.md | 89 --- .../prerequisites.md | 1 - .../onboard-your-coding-agent/content.md | 159 ----- .../prerequisites.md | 1 - .../content.md | 106 ---- .../recipes/spin-up-databricks-app/content.md | 111 ---- .../spin-up-databricks-app/prerequisites.md | 1 - .../sync-tables-autoscaling/content.md | 163 ----- .../sync-tables-autoscaling/prerequisites.md | 1 - .../recipes/unity-catalog-setup/content.md | 133 ---- .../unity-catalog-setup/prerequisites.md | 1 - content/recipes/volume-file-upload/content.md | 577 ------------------ .../volume-file-upload/prerequisites.md | 1 - plugins/content-entries.ts | 32 +- scripts/validate-content.mjs | 13 +- src/components/cookbooks/cookbook-detail.tsx | 78 +-- src/components/cookbooks/recipe-detail.tsx | 66 +- src/components/examples/example-detail.tsx | 165 +++-- src/components/template-usage-banner.tsx | 101 +-- src/lib/content-markdown.ts | 21 +- src/lib/content-sections.ts | 35 +- src/lib/cookbook-composition.ts | 67 +- src/lib/examples/build-example-markdown.ts | 26 +- src/lib/use-cookbook-markdown.ts | 1 - src/pages/templates/ai-chat-app.tsx | 30 +- src/pages/templates/app-with-lakebase.tsx | 11 - src/pages/templates/genie-analytics-app.tsx | 6 - src/pages/templates/index.tsx | 4 +- src/pages/templates/lakebase-off-platform.tsx | 21 - .../templates/operational-data-analytics.tsx | 26 - tests/build-example-markdown.test.ts | 132 +--- tests/cookbook-composition.test.ts | 97 +-- tests/validate-content.test.ts | 37 +- 64 files changed, 319 insertions(+), 4774 deletions(-) delete mode 100644 content/examples/rag-chat/content.md delete mode 100644 content/recipes/ai-chat-model-serving/content.md delete mode 100644 content/recipes/embeddings-generation/content.md delete mode 100644 content/recipes/foundation-models-api/content.md delete mode 100644 content/recipes/genie-conversational-analytics/content.md delete mode 100644 content/recipes/genie-multi-space/content.md delete mode 100644 content/recipes/lakebase-agent-memory/content.md delete mode 100644 content/recipes/lakebase-change-data-feed-autoscaling/content.md delete mode 100644 content/recipes/lakebase-create-instance/content.md delete mode 100644 content/recipes/lakebase-data-persistence/content.md delete mode 100644 content/recipes/lakebase-drizzle-off-platform/content.md delete mode 100644 content/recipes/lakebase-off-platform-env-management/content.md delete mode 100644 content/recipes/lakebase-pgvector/content.md delete mode 100644 content/recipes/lakebase-token-management/content.md delete mode 100644 content/recipes/medallion-architecture-from-cdc/content.md delete mode 100644 content/recipes/model-serving-endpoint-creation/content.md delete mode 100644 content/recipes/onboard-your-coding-agent/content.md delete mode 100644 content/recipes/set-up-your-local-dev-environment/content.md delete mode 100644 content/recipes/spin-up-databricks-app/content.md delete mode 100644 content/recipes/sync-tables-autoscaling/content.md delete mode 100644 content/recipes/unity-catalog-setup/content.md delete mode 100644 content/recipes/volume-file-upload/content.md diff --git a/.agents/skills/author-recipes-and-cookbooks/SKILL.md b/.agents/skills/author-recipes-and-cookbooks/SKILL.md index ee6c730..4957aa6 100644 --- a/.agents/skills/author-recipes-and-cookbooks/SKILL.md +++ b/.agents/skills/author-recipes-and-cookbooks/SKILL.md @@ -7,7 +7,7 @@ description: Author and maintain DevHub templates published at `developers.datab ## Overview -Use this skill to add or update DevHub templates with consistent structure, metadata, and writing quality. Treat each template as both an execution prompt for AI coding agents and a learning walkthrough for human developers. +Use this skill to add or update DevHub templates with consistent structure, metadata, and writing quality. Treat each template as an execution prompt for AI coding agents — an inspirational gallery of what's possible, not a step-by-step manual guide. ## The Three Internal Kinds @@ -15,7 +15,7 @@ Internally the catalog is built from three kinds of content that compose into ea - **Recipe** — an atomic, copy-pasteable agent prompt for one outcome (e.g. "Create a Lakebase instance"). The smallest unit; everything else is built from these. - **Cookbook** — composes multiple recipes into a longer end-to-end guide, plus its own meta content (intro, narrative, ordering). No app source. -- **Example** — a cookbook _plus_ a full deployable codebase that lives in the [app-templates](https://github.com/databricks/app-templates) repo at `app-templates//`. Bundles recipes and cookbook narrative around runnable app code. +- **Example** — a cookbook _plus_ a full deployable `examples//template/` codebase. Bundles recipes and cookbook narrative around runnable app code. So: recipes are the atoms, cookbooks compose recipes with additional context, and examples are cookbooks with shipped code. @@ -27,11 +27,11 @@ User-facing, all three kinds are presented as one thing: **template**. The site The internal kind names (`recipe`, `cookbook`, `example`) **live only in code, file paths, and this skill** — they never appear in shipped UI, markdown content, or generated indexes. -| Internal kind | Source location | Route at runtime | When to use | -| ------------- | ------------------------------------------------------------------------------------------------- | ------------------- | -------------------------------------------------------------------------- | -| `recipe` | `content/recipes//{content,prerequisites,deployment}.md` + entry in `recipes` | `/templates/` | One atomic outcome, copy-pasteable in a single agent prompt. | -| `cookbook` | Entry in `cookbooks` (composes recipes) + manual page `src/pages/templates/.tsx` | `/templates/` | End-to-end walkthrough composed from multiple recipes. | -| `example` | `content/examples//content.md` + full app source at `app-templates//` (separate repo) | `/templates/` | Full deployable codebase that bundles cookbooks/recipes plus runnable app. | +| Internal kind | Source location | Route at runtime | When to use | +| ------------- | -------------------------------------------------------------------------------------- | ------------------- | -------------------------------------------------------------------------- | +| `recipe` | `content/recipes//{goal,prerequisites}.md` + entry in `recipes` | `/templates/` | One atomic outcome, copy-pasteable in a single agent prompt. | +| `cookbook` | Entry in `cookbooks` (composes recipes) + manual page `src/pages/templates/.tsx` | `/templates/` | End-to-end walkthrough composed from multiple recipes. | +| `example` | `content/examples//goal.md` + full app source under `examples//template/` | `/templates/` | Full deployable codebase that bundles cookbooks/recipes plus runnable app. | All three are registered in `src/lib/recipes/recipes.ts`, share a flat `/templates/` URL hierarchy, and must have globally unique slugs (the content-entries plugin asserts this at build time). Choose the kind that matches the **shape of the work**, not the customer-facing label. @@ -39,38 +39,31 @@ All three are registered in `src/lib/recipes/recipes.ts`, share a flat `/templat 1. One atomic, self-contained step for an agent → author a `recipe`. 2. A multi-recipe walkthrough that ships a coherent end-to-end use case (no full app source) → author a `cookbook` composing existing recipes. -3. A full deployable app (source tree in `app-templates//`, README runbook, optional pipelines and seed) → author an `example`. +3. A full deployable app (`template/` source tree, README runbook, optional pipelines and seed) → author an `example`. 4. Reuse existing recipes whenever you can. New recipes are the most valuable; new cookbooks/examples should compose them. ## Author A `recipe` -1. Create `content/recipes//content.md`. Optionally add `prerequisites.md` and `deployment.md` siblings. +1. Create `content/recipes//goal.md`. Optionally add `prerequisites.md`. 2. The slug must equal the folder name and be globally unique across the catalog. -3. Open `content.md` with: - - `##