docs: name the compose-from-blocks family (Hex, Hexicon, Prisma Compose, Prisma Data) - #4
Merged
Merged
Conversation
…ibution model Record the naming architecture: the building block is a Hex, the registry is Hexicon (hexicon.dev), the tools are Prisma Compose / Prisma Model, and 'app' stays the user-facing hero noun. Hexes are npm-hosted TS libs; Hexicon is a first-party directory on top whose install also composes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Document the naming architecture and the compose-from-blocks distribution model as product documentation under agent-os/product/, not as an ADR: the building block is a Hex (npm-hosted TS lib), the registry is Hexicon (hexicon.dev, install composes not copies), tools are Prisma Compose / Prisma Model, and 'app' stays the user-facing hero noun. Replaces the mistakenly-filed ADR-0003. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Rename the data layer from Prisma Model to Prisma Data — name for the user's value (data access), not the authoring step (model) or the machinery (contract). 'Data' frees 'model' (the PSL construct) and 'Contract' (what models compile to) to keep their jobs. Add a 'How we choose names' section (four tests: would the user say 'my __'; predict the tooling; name the goal not the tax; keep the family legible) and a per-layer value breakdown. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…e spine Open with a one-paragraph takeaway and a single complete map of the pieces, instead of leading with the four naming tests and a two-row table that read as the full product list. Move the value/machinery layering table into the principle section where it's an illustration, not a fake inventory. Reframe the family table as 'the primitives you compose from' so its overlap with the top table is explained. Cut the repeated value-not-machinery restatements. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Make the Prisma product family (Postgres, Compute, Data, Compose, Streams, Connection) the first table, so the core primitives are front and center. Follow it with 'How Prisma Compose fits' — Compose is the primitive that assembles the others — which introduces the App/Hex/ Hexicon/Topology vocabulary. The old top table listed only the composition vocabulary and dropped Postgres/Compute. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…ta contract') Replace the misleading 'my contract, no' example with 'my topology'. Users do say 'my data contract' — it's central to Prisma Next — so it was a bad counter-example. Data beats Contract on the predict-the-tooling and name-the-goal tests, not on the 'my' test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
wmadden
approved these changes
Jul 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here's the whole proposal in one breath — how a developer builds an app in this vocabulary:
What we're deciding
This PR adds product documentation (
agent-os/product/naming.md) that settles how we name the compose-from-blocks product family, under a single rule: name every piece for the value the user gets from it, not the machinery that delivers it.That rule picks the words above — "App" and "Data" (what the user says) over "Topology" and "Contract" (how it works underneath).
The product family
The primitives a developer composes into an app, each named for its role:
How Prisma Compose fits
The other primitives each deliver one capability. Compose is the one that assembles the others into a running app — and it introduces its own small vocabulary: App (what you build), Hex (a building block), Hexicon (the registry at
hexicon.dev), and Topology (the machinery it produces, which the user never has to say).How Hexes are distributed
Hosting and discovery are split: npm hosts the Hexes (ordinary TypeScript libraries — semver and tooling for free), and Hexicon is a thin named directory on top (search, ranking, trust, one-command install). This is the skills.sh shape, with one difference — Hexicon's install composes the Hex into your topology; it doesn't just copy files.
Status
Hex and Hexicon are settled. The Prisma renames — Prisma Data (← Prisma Next) and Prisma Compose (← MakerKit) — are proposed.
Alternatives considered
agent-os/product/rather thandocs/design/90-decisions/.hex.pm(the Elixir/Erlang package manager — a same-category clash) andhex.tech.hexal.com).modelis the PSL construct, aContractis what models compile to.🤖 Generated with Claude Code