I built Product Model, an open-source MDX-based grammar that gives product specs the same rigor as code — typed blocks, validation, version control, and a JSON AST output.
The problem: product intent lives in Google Docs and Notion. Implementation lives in code. Between them there's no structured layer, so requirements drift, edge cases disappear, and "that's not what I meant" becomes the most expensive sentence every sprint.
I wanted something more natural than code but more structured than a Google Doc — a format that both humans and AI agents can read, write, and reason about. That's what led me to build this.
Product Model lets PMs author .product.mdx files using blocks like Feature, Policy, Logic, Definition, and Constraint. Tooling validates the grammar, checks cross-references, and builds a machine-readable AST. Think of it as a type system for product requirements.
It comes with a CLI for validation and builds, and a visual Studio editor so you never have to touch raw MDX if you don't want to.
Repo: https://github.com/pmTouchedTheCode/product-model
Would love feedback on the grammar design and whether this matches real PM workflows you've seen.