[{"data":1,"prerenderedAt":281},["ShallowReactive",2],{"blog-post-\u002Fblog\u002Fintroducing-pdd-kit":3},{"id":4,"title":5,"authors":6,"badge":13,"body":14,"date":271,"description":272,"extension":273,"image":274,"meta":275,"navigation":276,"path":277,"seo":278,"stem":279,"__hash__":280},"blog\u002Fblog\u002Fintroducing-pdd-kit.md","Introducing pdd-kit: PDD for coding agents",[7],{"name":8,"description":9,"to":10,"avatar":11},"Itai Gendler","@itai-gendler","https:\u002F\u002Fgithub.com\u002Fitai-gendler",{"src":12,"alt":8},"\u002Fteam\u002Fitai-gendler.png","Launch",{"type":15,"value":16,"toc":264},"minimark",[17,32,39,44,59,65,87,101,112,118,122,135,138,142,165,182,189,195,199,209,247,260],[18,19,20,21,26,27,31],"p",{},"Coding agents write code faster than anyone can explain to them what the product\nis. So they guess, and the guesses ship. That problem is laid out in\n",[22,23,25],"a",{"href":24},"\u002Fblog\u002Fyour-agent-is-guessing","AI is writing code for products it doesn’t understand",",\nand why spec-driven development does not solve it in\n",[22,28,30],{"href":29},"\u002Fblog\u002Fpdd-and-spec-driven-development","SDD describes the change, not the product",".",[18,33,34,38],{},[35,36,37],"strong",{},"Today we are releasing pdd-kit, an open-source implementation of\nProduct-Driven Development (PDD)."," It gives your agent, and your team, one\ndefinition of the product to build from and check against.",[40,41,43],"h2",{"id":42},"what-you-get","What you get",[18,45,46,49,50,54,55,58],{},[35,47,48],{},"A Product Model."," A ",[51,52,53],"code",{},"product-model\u002F"," folder of Markdown files that says what\nyour product does: who it serves, where they reach it, what it keeps, what it\ncan do, and which rules must stay true. ",[35,56,57],{},"It lives beside the code and changes in\nthe same pull requests."," It defines the product, not the implementation, so\ncolors, layout and frameworks stay yours to choose.",[18,60,61,64],{},[35,62,63],{},"Three agent skills"," for Claude Code, Codex, Gemini CLI and more:",[66,67,68,75,81],"ul",{},[69,70,71,74],"li",{},[51,72,73],{},"map"," reads an existing codebase and drafts the model from it.",[69,76,77,80],{},[51,78,79],{},"ideate"," decides the next change with you and writes only what you approve.",[69,82,83,86],{},[51,84,85],{},"verify"," checks the code against the model and works through the gaps with\nyou until the two agree, or until something blocks it.",[18,88,89,92,93,96,97,100],{},[35,90,91],{},"A CLI."," ",[51,94,95],{},"pdd-kit lint"," checks the model's files. ",[51,98,99],{},"pdd-kit view","\nopens the model as a local report that follows your edits.",[18,102,103,106,107,111],{},[35,104,105],{},"Blueprints."," Reviewed Product Models of common products in a\n",[22,108,110],{"href":109},"\u002Fblueprints","public catalog",". Pull one into an empty directory and hand it to\nyour agent.",[18,113,114,115],{},"Every Blueprint is tested the same way: ",[35,116,117],{},"a fresh agent gets the model and the\nwords \"build this\", and has to ship a working product.",[40,119,121],{"id":120},"one-loop-run-on-every-change","One loop, run on every change",[123,124,125],"development-loop",{},[126,127,133],"pre",{"className":128,"code":130,"language":131,"meta":132},[129],"language-text","ideate → implement ⇄ verify\n  ▲                     │\n  └──── next change ────┘\n\nimplement: your agent, your way, in phases\n","text","",[51,134,130],{"__ignoreMap":132},[18,136,137],{},"Ideate and verify with pdd-kit. Your own agent implements, your way.",[40,139,141],{"id":140},"get-started","Get started",[126,143,147],{"className":144,"code":145,"language":146,"meta":132,"style":132},"language-bash shiki shiki-themes pdd-kit-brand-warm pdd-kit-brand-warm material-theme-palenight","npx @itai-gendler\u002Fpdd-kit install\n","bash",[51,148,149],{"__ignoreMap":132},[150,151,154,158,162],"span",{"class":152,"line":153},"line",1,[150,155,157],{"class":156},"sC-r1","npx",[150,159,161],{"class":160},"sPU0x"," @itai-gendler\u002Fpdd-kit",[150,163,164],{"class":160}," install\n",[18,166,167,168,172,173,177,178,31],{},"Then start from where you are: ",[22,169,171],{"href":170},"\u002Fdocs\u002Ffrom-your-repo","existing code",",\n",[22,174,176],{"href":175},"\u002Fdocs\u002Ffrom-an-idea","an idea",", or ",[22,179,181],{"href":180},"\u002Fdocs\u002Ffrom-a-blueprint","a Blueprint",[18,183,184,185,188],{},"To see a real model first, run ",[51,186,187],{},"npx @itai-gendler\u002Fpdd-kit view itai-gendler\u002Fpdd-kit",".\npdd-kit is developed with pdd-kit, and that command opens its own\nProduct Model.",[18,190,191,194],{},[35,192,193],{},"It is MIT licensed and local-first",": no account, no hosted service, nothing to\nbuy. The skills read your code and never run it.",[40,196,198],{"id":197},"what-comes-next","What comes next",[18,200,201,202,208],{},"This is an early release, and the\n",[22,203,207],{"href":204,"rel":205},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit\u002Fissues",[206],"nofollow","open issues"," are the roadmap:",[66,210,211,217,223,229,235,241],{},[69,212,213,216],{},[35,214,215],{},"More Blueprints"," across different kinds of product, such as a storefront,\na booking app, a project tracker and an API service.",[69,218,219,222],{},[35,220,221],{},"Review model changes as product changes."," A compare mode in the report\nthat shows what a branch changes in the product, not just in the Markdown.",[69,224,225,228],{},[35,226,227],{},"Products that don’t fit one repository."," One product spread across several\nrepositories, and several products in one repository.",[69,230,231,234],{},[35,232,233],{},"KPIs in the model",", so it can say how the product's value is measured.",[69,236,237,240],{},[35,238,239],{},"GitHub issues linked to the model",", so tracked work keeps its product\ncontext.",[69,242,243,246],{},[35,244,245],{},"Talk to your agent from the report",", without switching back to the\nterminal.",[18,248,249,250,254,255,31],{},"Try it on a repository you know well and compare the model it drafts with the\none in your head. Where they disagree, and where pdd-kit gets in your way,\n",[22,251,253],{"href":204,"rel":252},[206],"open an issue",". Contributions,\nBlueprints included, are welcome through pull requests on\n",[22,256,259],{"href":257,"rel":258},"https:\u002F\u002Fgithub.com\u002Fitai-gendler\u002Fpdd-kit",[206],"itai-gendler\u002Fpdd-kit",[261,262,263],"style",{},"html pre.shiki code .sC-r1, html code.shiki .sC-r1{--shiki-light:#972600;--shiki-default:#972600;--shiki-dark:#FFCB6B}html pre.shiki code .sPU0x, html code.shiki .sPU0x{--shiki-light:#1D5700;--shiki-default:#1D5700;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":132,"searchDepth":265,"depth":265,"links":266},2,[267,268,269,270],{"id":42,"depth":265,"text":43},{"id":120,"depth":265,"text":121},{"id":140,"depth":265,"text":141},{"id":197,"depth":265,"text":198},"2026-10-07","PDD gives agents and humans a shared product model that is git-tracked, reviewable, and verifiable. Open source and MIT licensed.","md","\u002Fbrand\u002Fheroes\u002Fproduct-model-wide.webp",{},true,"\u002Fblog\u002Fintroducing-pdd-kit",{"title":5,"description":272},"blog\u002Fintroducing-pdd-kit","hjHlt7b1DmF-M3DN6dkXyfEDNurfprG5uZiymKyRZPQ",1791840533938]