# Diffkeel (/docs/showcase/diffkeel)

> Developer tool: a CLI that diffs config before it deploys, in certificate.



## Pages

Every page is a live render of its record. Flip the Site to see each one under another Theme; the records do not change.

## Brand

Diffkeel's buyers read diffs all day. Teal on cool paper, IBM Plex and hatched rules look like the terminal they trust, and certificate emits a dark scheme for readers who keep one on.

## Built from

<details className="mx-sc-details">
<summary>The tally and the records, as text</summary>

22 Section types across 9 pages.

[`footer`](https://next.mdxui.dev/docs/sections/footer) ×9 · [`nav`](https://next.mdxui.dev/docs/sections/nav) ×9 · [`command-row`](https://next.mdxui.dev/docs/sections/command-row) ×3 · [`page-head`](https://next.mdxui.dev/docs/sections/page-head) ×3 · [`article`](https://next.mdxui.dev/docs/sections/article) ×2 · [`closing`](https://next.mdxui.dev/docs/sections/closing) ×2 · [`facts`](https://next.mdxui.dev/docs/sections/facts) ×2 · [`terminal`](https://next.mdxui.dev/docs/sections/terminal) ×2 · [`agent-prompt`](https://next.mdxui.dev/docs/sections/agent-prompt) ×1 · [`api-call`](https://next.mdxui.dev/docs/sections/api-call) ×1 · [`bento`](https://next.mdxui.dev/docs/sections/bento) ×1 · [`cta-form`](https://next.mdxui.dev/docs/sections/cta-form) ×1 · [`endpoints`](https://next.mdxui.dev/docs/sections/endpoints) ×1 · [`faq`](https://next.mdxui.dev/docs/sections/faq) ×1 · [`feature-grid`](https://next.mdxui.dev/docs/sections/feature-grid) ×1 · [`hero`](https://next.mdxui.dev/docs/sections/hero) ×1 · [`plan-table`](https://next.mdxui.dev/docs/sections/plan-table) ×1 · [`post-list`](https://next.mdxui.dev/docs/sections/post-list) ×1 · [`pricing`](https://next.mdxui.dev/docs/sections/pricing) ×1 · [`stats`](https://next.mdxui.dev/docs/sections/stats) ×1 · [`steps`](https://next.mdxui.dev/docs/sections/steps) ×1 · [`text-stack`](https://next.mdxui.dev/docs/sections/text-stack) ×1

| Page | Template | Sections | Record |
| --- | --- | --- | --- |
| [home](https://next.mdxui.dev/sites/diffkeel/) | `api-product` | 8 | [JSON](https://next.mdxui.dev/pages/diffkeel/home.json) |
| [404](https://next.mdxui.dev/sites/diffkeel/404) | `article` | 4 | [JSON](https://next.mdxui.dev/pages/diffkeel/404.json) |
| [changelog](https://next.mdxui.dev/sites/diffkeel/changelog) | `blog` | 4 | [JSON](https://next.mdxui.dev/pages/diffkeel/changelog.json) |
| [contact](https://next.mdxui.dev/sites/diffkeel/contact) | `contact` | 4 | [JSON](https://next.mdxui.dev/pages/diffkeel/contact.json) |
| [install](https://next.mdxui.dev/sites/diffkeel/install) | `article` | 8 | [JSON](https://next.mdxui.dev/pages/diffkeel/install.json) |
| [pricing](https://next.mdxui.dev/sites/diffkeel/pricing) | `api-product` | 7 | [JSON](https://next.mdxui.dev/pages/diffkeel/pricing.json) |
| [changelog/0-9](https://next.mdxui.dev/sites/diffkeel/changelog/0-9) | `post` | 3 | [JSON](https://next.mdxui.dev/pages/diffkeel/changelog/0-9.json) |
| [contact/sent](https://next.mdxui.dev/sites/diffkeel/contact/sent) | `article` | 4 | [JSON](https://next.mdxui.dev/pages/diffkeel/contact/sent.json) |
| [docs/first-diff](https://next.mdxui.dev/sites/diffkeel/docs/first-diff) | `article` | 4 | [JSON](https://next.mdxui.dev/pages/diffkeel/docs/first-diff.json) |

</details>

## How it was built

**The brief.** A developer tool: a CLI that diffs config before it deploys, with install notes, a changelog and plans. The hero says what it does: "See the config change before it ships."

**The records.** One JSON record per page under `pages/diffkeel/`: install and the first-diff docs name `article`, the changelog and release 0.9 name `blog` and `post`, and pricing, contact and its sent page fill out the rest.

**The Theme.** Every record names `"theme": "certificate"`, the Theme these docs wear. Changing that line in each file rebrands the Site, which is what Flip Site shows.

**The 404 and the contact flow.** `404.json` leads back home. The contact form posts to its action, and `contact/sent.json` is the page a sender lands on. A static host answers no post, so on this host the form does not send.

## Use this Site

