cd /news/developer-tools/define-once-cite-everywhere Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-105720] src=dev.to β†— pub= topic=developer-tools verified=true sentiment=↑ positive

Define once, cite everywhere

A developer introduced a tool called Prodshape that lets spec-driven development repositories define business rules once and cite them across multiple specs, preventing drift and ambiguity. The tool uses content digests and a CLI command to flag stale citations, making product knowledge consistent and detectable in CI.

read1 min views3 publishedAug 21, 2026

Run this on any repo doing spec-driven development:

grep -rn -i "refund" openspec/specs

Mine returned:

billing/spec.md:4:  Refunds are issued for purchases made in the last 30 days.
checkout/spec.md:4: Customers can request a refund within 30 days of delivery.
support/spec.md:4:  If the order is less than a month old, offer a refund.

Same rule, three specs, three wordings β€” and two meanings. 30 days from purchase is not 30 days from delivery. Nobody decided that fork. A coding agent paraphrased it into existence, and no human caught it, because nobody reads specs anymore β€” only agents do. As truth.

We fixed this in code decades ago: don't repeat yourself. Specs never got the memo.

The fix: define the rule once, and let every spec cite it β€” one line, carrying a content digest:

Refunds follow BR-REFUND-001. {pdac:cite id="BR-REFUND-001" digest="sha256:b5c5…"}

When the rule changes through your normal review flow, one command flags every citing spec β€” file and line, no grep:

$ prodshape citations verify
stale  BR-REFUND-001  openspec/specs/billing/spec.md:4
stale  BR-REFUND-001  openspec/specs/checkout/spec.md:4
stale  BR-REFUND-001  openspec/specs/support/spec.md:4

Put it in CI and stale product knowledge stops being invisible. Specs get shorter, forks become impossible, drift becomes detectable.

Full 30-second demo (real output, @prodshape/cli@0.12.0

, no setup): .https://jgcarmona.com/en/define-once-cite-everywhere/.

The idea behind it: Product Definition as Code β€” one versioned product model that specs and agents cite instead of re-derive, upstream of whatever SDD tool you use.

Try the grep on your own specs and count your forks. Found one? Tell me in the comments β€” I'll help you set this up in 15 minutes.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @prodshape 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/define-once-cite-eve…] indexed:0 read:1min 2026-08-21 Β· β€”