[{"data":1,"prerenderedAt":741},["ShallowReactive",2],{"docs-sections":3,"docs-page-\u002Fdocs\u002Fcli":124},[4,9,13,17,21,25,30,34,38,42,46,50,54,58,62,66,71,75,79,83,88,92,96,100,104,108,112,116,120],{"path":5,"title":6,"description":7,"group":8},"\u002Fdocs","Introduction","pdd-kit brings Product-Driven Development to coding agents through a Git-tracked Product Model and an automatic verification loop.","Get started",{"path":10,"title":11,"description":12,"group":8},"\u002Fdocs\u002Finstallation","Installation","Install the pdd-kit skills into your coding agent at project or global scope.",{"path":14,"title":15,"description":16,"group":8},"\u002Fdocs\u002Ffrom-your-repo","From your repo","Map what an existing repository already does into a Product Model, review it, then check the code against it.",{"path":18,"title":19,"description":20,"group":8},"\u002Fdocs\u002Ffrom-an-idea","From an idea","Decide what a new product does, approve its Product Model, then ask your agent to implement it while verify checks each part.",{"path":22,"title":23,"description":24,"group":8},"\u002Fdocs\u002Ffrom-a-blueprint","From a Blueprint","Pull a reviewed Product Model for a common kind of product instead of starting blank, adapt it if needed, then ask your agent to implement it.",{"path":26,"title":27,"description":28,"group":29},"\u002Fdocs\u002Fproduct-model","Model overview","The Product Model in five minutes (what the product-model\u002F folder holds, what each resource type is for, and how to tell them apart).","Product Model",{"path":31,"title":32,"description":33,"group":29},"\u002Fdocs\u002Fproduct","Product","The one product a Product Model describes (its name, its promise, the languages it is delivered in, its known boundaries, and what it needs to be published as a Blueprint).",{"path":35,"title":36,"description":37,"group":29},"\u002Fdocs\u002Fentities","Entities","The things your product keeps or reasons about (orders, products, settings) and the people and systems that act on it, with what it knows about each and the States it moves through.",{"path":39,"title":40,"description":41,"group":29},"\u002Fdocs\u002Finterfaces","Interfaces","The web apps, mobile apps, CLIs, APIs and webhooks through which people and systems reach your product, the parts inside them, and the places where facts and abilities are met.",{"path":43,"title":44,"description":45,"group":29},"\u002Fdocs\u002Fdomains","Domains","Optional subject areas, such as ordering or billing, that follow the Product's own sections and group its Capabilities and Entities without owning them.",{"path":47,"title":48,"description":49,"group":29},"\u002Fdocs\u002Fcapabilities","Capabilities","The things your product lets someone do, where each is offered, and the Capability Scenarios that show each one working.",{"path":51,"title":52,"description":53,"group":29},"\u002Fdocs\u002Fjourneys","Journeys","Goals where your product carries a person from one Capability into the next, and the Journey Scenarios that walk each path.",{"path":55,"title":56,"description":57,"group":29},"\u002Fdocs\u002Fbusiness-rules","Business Rules","What must always hold in your product, and who may do what (constraints, derivations and permissions), each stated once with everything it applies to.",{"path":59,"title":60,"description":61,"group":29},"\u002Fdocs\u002Fvariations","Variations","Feature flags, settings, plan tiers, A\u002FB tests and API versions, when your product works in more than one supported way and something decides which way applies.",{"path":63,"title":64,"description":65,"group":29},"\u002Fdocs\u002Freferences","References","Point any resource at material kept outside the model (code, a PRD, a design, research), saying what it is and why it is attached.",{"path":67,"title":68,"description":69,"group":70},"\u002Fdocs\u002Fskills","Skills overview","Three self-contained skills cover adoption, intended product change, and automatic verification-to-resolution.","Skills",{"path":72,"title":73,"description":74,"group":70},"\u002Fdocs\u002Fskill-pdd-map","map","Create or expand a Product Model from the code you already have, without running it.",{"path":76,"title":77,"description":78,"group":70},"\u002Fdocs\u002Fskill-pdd-ideate","ideate","Explore or define intended behavior, then write only the exact Product Model change you approve.",{"path":80,"title":81,"description":82,"group":70},"\u002Fdocs\u002Fskill-pdd-verify","verify","Implement the Product Model in code, in phases, or check that the model and the code agree, and resolve every gap you approve until they do or something blocks.",{"path":84,"title":85,"description":86,"group":87},"\u002Fdocs\u002Fcli","CLI overview","Install skills, lint and view a Product Model locally, and move Blueprints between repositories with the pdd-kit CLI.","CLI",{"path":89,"title":90,"description":91,"group":87},"\u002Fdocs\u002Fcli-install","install","Install the bundled pdd-kit agent skills safely for selected AI harnesses and scopes.",{"path":93,"title":94,"description":95,"group":87},"\u002Fdocs\u002Fcli-update","update","Refresh only pdd-kit-managed skill installations in project or global scope.",{"path":97,"title":98,"description":99,"group":87},"\u002Fdocs\u002Fcli-lint","lint","Check that a Product Model is structurally sound (files, relationships, Steps, Rules and References) without claiming it matches the code.",{"path":101,"title":102,"description":103,"group":87},"\u002Fdocs\u002Fcli-view","view","Open a Product Model as a private local report, from your checkout or from a GitHub repository.",{"path":105,"title":106,"description":107,"group":87},"\u002Fdocs\u002Fcli-export","blueprint export","Compile a Product Model into a portable Product Report that can move safely between repositories.",{"path":109,"title":110,"description":111,"group":87},"\u002Fdocs\u002Fcli-open","blueprint open","Expand a local Product Report into a canonical Product Model.",{"path":113,"title":114,"description":115,"group":87},"\u002Fdocs\u002Fcli-list","blueprint list","List the published Blueprints you can pull.",{"path":117,"title":118,"description":119,"group":87},"\u002Fdocs\u002Fcli-pull","blueprint pull","Pull a published Blueprint into the current directory.",{"path":121,"title":122,"description":123,"group":87},"\u002Fdocs\u002Fcli-contribute","blueprint contribute","Open a pull request proposing your Product Model as a Blueprint.",{"id":125,"title":85,"body":126,"description":86,"extension":734,"group":87,"meta":735,"navigation":523,"order":737,"path":84,"seo":738,"stem":739,"__hash__":740},"docs\u002Fdocs\u002Fcli.md",{"type":127,"value":128,"toc":728},"minimark",[129,134,138,178,185,220,359,371,376,420,423,455,459,476,492,549,563,582,586,645,659,663,666,674,709,724],[130,131,133],"h1",{"id":132},"pdd-kit-cli","pdd-kit CLI",[135,136,137],"p",{},"Run the current package without a global install:",[139,140,145],"pre",{"className":141,"code":142,"language":143,"meta":144,"style":144},"language-bash shiki shiki-themes pdd-kit-brand-warm pdd-kit-brand-warm material-theme-palenight","npx @itai-gendler\u002Fpdd-kit \u003Ccommand> [options]\n","bash","",[146,147,148],"code",{"__ignoreMap":144},[149,150,153,157,161,165,168,172,175],"span",{"class":151,"line":152},"line",1,[149,154,156],{"class":155},"sC-r1","npx",[149,158,160],{"class":159},"sPU0x"," @itai-gendler\u002Fpdd-kit",[149,162,164],{"class":163},"sA6JF"," \u003C",[149,166,167],{"class":159},"comman",[149,169,171],{"class":170},"szETn","d",[149,173,174],{"class":163},">",[149,176,177],{"class":170}," [options]\n",[135,179,180,181,184],{},"Or install it once; the command it adds is ",[146,182,183],{},"pdd-kit",":",[139,186,188],{"className":141,"code":187,"language":143,"meta":144,"style":144},"npm install --global @itai-gendler\u002Fpdd-kit\npdd-kit \u003Ccommand> [options]\n",[146,189,190,205],{"__ignoreMap":144},[149,191,192,195,198,202],{"class":151,"line":152},[149,193,194],{"class":155},"npm",[149,196,197],{"class":159}," install",[149,199,201],{"class":200},"sfVL-"," --global",[149,203,204],{"class":159}," @itai-gendler\u002Fpdd-kit\n",[149,206,208,210,212,214,216,218],{"class":151,"line":207},2,[149,209,183],{"class":155},[149,211,164],{"class":163},[149,213,167],{"class":159},[149,215,171],{"class":170},[149,217,174],{"class":163},[149,219,177],{"class":170},[221,222,223,236],"table",{},[224,225,226],"thead",{},[227,228,229,233],"tr",{},[230,231,232],"th",{},"Command",[230,234,235],{},"Purpose",[237,238,239,253,265,277,289,301,313,325,337,349],"tbody",{},[227,240,241,250],{},[242,243,244],"td",{},[245,246,248],"a",{"href":247},".\u002Fcli-install",[146,249,90],{},[242,251,252],{},"Install pdd-kit skills",[227,254,255,262],{},[242,256,257],{},[245,258,260],{"href":259},".\u002Fcli-update",[146,261,94],{},[242,263,264],{},"Update managed skill installations",[227,266,267,274],{},[242,268,269],{},[245,270,272],{"href":271},".\u002Fcli-lint",[146,273,98],{},[242,275,276],{},"Lint a Product Model",[227,278,279,286],{},[242,280,281],{},[245,282,284],{"href":283},".\u002Fcli-view",[146,285,102],{},[242,287,288],{},"View a Product Model locally, from your checkout or from GitHub",[227,290,291,298],{},[242,292,293],{},[245,294,296],{"href":295},".\u002Fcli-export",[146,297,106],{},[242,299,300],{},"Export a Blueprint",[227,302,303,310],{},[242,304,305],{},[245,306,308],{"href":307},".\u002Fcli-open",[146,309,110],{},[242,311,312],{},"Open a local Blueprint",[227,314,315,322],{},[242,316,317],{},[245,318,320],{"href":319},".\u002Fcli-list",[146,321,114],{},[242,323,324],{},"List published Blueprints",[227,326,327,334],{},[242,328,329],{},[245,330,332],{"href":331},".\u002Fcli-pull",[146,333,118],{},[242,335,336],{},"Pull a published Blueprint",[227,338,339,346],{},[242,340,341],{},[245,342,344],{"href":343},".\u002Fcli-contribute",[146,345,122],{},[242,347,348],{},"Contribute a Blueprint",[227,350,351,356],{},[242,352,353],{},[146,354,355],{},"help [command]",[242,357,358],{},"Show help for a command",[135,360,361,362,365,366,370],{},"The ",[146,363,364],{},"blueprint"," commands move a Product Model between repositories as a\n",[245,367,369],{"href":368},".\u002Ffrom-a-blueprint#what-a-blueprint-is","Blueprint",".",[372,373,375],"h2",{"id":374},"global-options","Global options",[221,377,378,388],{},[224,379,380],{},[227,381,382,385],{},[230,383,384],{},"Option",[230,386,387],{},"Meaning",[237,389,390,400,410],{},[227,391,392,397],{},[242,393,394],{},[146,395,396],{},"-c, --cwd \u003Cpath>",[242,398,399],{},"Run from another directory (see below)",[227,401,402,407],{},[242,403,404],{},[146,405,406],{},"-h, --help",[242,408,409],{},"Show help for the command",[227,411,412,417],{},[242,413,414],{},[146,415,416],{},"-V, --version",[242,418,419],{},"Show the CLI version",[135,421,422],{},"Each command's help lists only what that command accepts:",[139,424,426],{"className":141,"code":425,"language":143,"meta":144,"style":144},"npx @itai-gendler\u002Fpdd-kit help view\nnpx @itai-gendler\u002Fpdd-kit blueprint pull --help\n",[146,427,428,440],{"__ignoreMap":144},[149,429,430,432,434,437],{"class":151,"line":152},[149,431,156],{"class":155},[149,433,160],{"class":159},[149,435,436],{"class":159}," help",[149,438,439],{"class":159}," view\n",[149,441,442,444,446,449,452],{"class":151,"line":207},[149,443,156],{"class":155},[149,445,160],{"class":159},[149,447,448],{"class":159}," blueprint",[149,450,451],{"class":159}," pull",[149,453,454],{"class":200}," --help\n",[372,456,458],{"id":457},"choosing-the-product-model","Choosing the Product Model",[135,460,461,463,464,463,466,468,469,471,472,475],{},[146,462,98],{},", ",[146,465,102],{},[146,467,106],{},", and ",[146,470,122],{}," start from the\ncurrent directory. If it directly contains ",[146,473,474],{},"product-model\u002F",", that model is used;\notherwise pdd-kit uses the one at the Git repository root. So a nested\nBlueprint wins when you run from its directory, while ordinary subdirectories\nuse the repository's model.",[135,477,478,481,482,485,486,488,489,491],{},[146,479,480],{},"--cwd \u003Cpath>"," runs from another directory; ",[146,483,484],{},"--cwd ."," is the same as leaving it\nout. Point it at the directory that contains ",[146,487,474],{},", not at\n",[146,490,474],{}," itself.",[139,493,495],{"className":141,"code":494,"language":143,"meta":144,"style":144},"# A nested Blueprint in the current repository\nnpx @itai-gendler\u002Fpdd-kit view --cwd .\u002Fblueprints\u002Fexample-product\n\n# A model in another directory or repository\nnpx @itai-gendler\u002Fpdd-kit lint --cwd ..\u002Ffixture-shop --json\n",[146,496,497,503,518,525,531],{"__ignoreMap":144},[149,498,499],{"class":151,"line":152},[149,500,502],{"class":501},"shP-r","# A nested Blueprint in the current repository\n",[149,504,505,507,509,512,515],{"class":151,"line":207},[149,506,156],{"class":155},[149,508,160],{"class":159},[149,510,511],{"class":159}," view",[149,513,514],{"class":200}," --cwd",[149,516,517],{"class":159}," .\u002Fblueprints\u002Fexample-product\n",[149,519,521],{"class":151,"line":520},3,[149,522,524],{"emptyLinePlaceholder":523},true,"\n",[149,526,528],{"class":151,"line":527},4,[149,529,530],{"class":501},"# A model in another directory or repository\n",[149,532,534,536,538,541,543,546],{"class":151,"line":533},5,[149,535,156],{"class":155},[149,537,160],{"class":159},[149,539,540],{"class":159}," lint",[149,542,514],{"class":200},[149,544,545],{"class":159}," ..\u002Ffixture-shop",[149,547,548],{"class":200}," --json\n",[135,550,551,553,554,557,558,370],{},[146,552,102],{}," can instead take a GitHub repository, branch, or pull request, and then\n",[146,555,556],{},"--cwd"," does not apply. See ",[245,559,561],{"href":560},".\u002Fcli-view#a-github-repository",[146,562,102],{},[135,564,565,566,568,569,463,571,573,574,576,577,568,579,581],{},"For ",[146,567,110],{}," and ",[146,570,118],{},[146,572,556],{}," is the directory where\n",[146,575,474],{}," will be created. For ",[146,578,90],{},[146,580,94],{},", it is the project\nused for harness detection and project-scoped skills.",[372,583,585],{"id":584},"environment","Environment",[221,587,588,600],{},[224,589,590],{},[227,591,592,595,598],{},[230,593,594],{},"Variable",[230,596,597],{},"Used by",[230,599,387],{},[237,601,602,628],{},[227,603,604,609,619],{},[242,605,606],{},[146,607,608],{},"PDD_KIT_BLUEPRINT_REPOSITORY",[242,610,611,463,613,463,616],{},[146,612,114],{},[146,614,615],{},"pull",[146,617,618],{},"contribute",[242,620,621,624,625],{},[146,622,623],{},"owner\u002Frepo"," Blueprints are pulled from and contributed to; defaults to ",[146,626,627],{},"itai-gendler\u002Fpdd-kit",[227,629,630,635,638],{},[242,631,632],{},[146,633,634],{},"PDD_KIT_NO_UPDATE_CHECK",[242,636,637],{},"every command",[242,639,640,641,644],{},"Set to ",[146,642,643],{},"1"," to turn off the CLI update check and prompt",[135,646,647,648,651,652,654,655,658],{},"Exit codes: ",[146,649,650],{},"0"," success, ",[146,653,643],{}," the command failed or was refused, ",[146,656,657],{},"2"," invalid\nusage. Each command page says which cases map to which.",[372,660,662],{"id":661},"updating-the-cli","Updating the CLI",[135,664,665],{},"When the CLI is installed globally with npm, pnpm, Yarn or Bun, a command run\nin a terminal may offer a newer stable release before it starts:",[139,667,672],{"className":668,"code":670,"language":671,"meta":144},[669],"language-text","◆  A newer pdd-kit CLI is available: 0.23.1 → 0.24.0\n│  ● Update now (npm install --global @itai-gendler\u002Fpdd-kit@0.24.0)\n│  ○ Not now\n│  ○ Do not remind me again\n","text",[146,673,670],{"__ignoreMap":144},[675,676,677,685,691],"ul",{},[678,679,680,684],"li",{},[681,682,683],"strong",{},"Update now"," installs that release with the package manager that installed\nthe CLI, then stops; run your command again. If the update fails, the command\nruns on the installed version and prints the install command to retry.",[678,686,687,690],{},[681,688,689],{},"Not now"," runs the command. Each release is offered once.",[678,692,693,696,697,700,701,704,705,708],{},[681,694,695],{},"Do not remind me again"," turns the prompt off for good. To turn it back on,\ndelete ",[146,698,699],{},"~\u002F.config\u002Fpdd-kit\u002Fupdate-check.json","\n(",[146,702,703],{},"%APPDATA%\\pdd-kit\\update-check.json"," on Windows, or under\n",[146,706,707],{},"XDG_CONFIG_HOME"," when set).",[135,710,711,712,715,716,718,719,723],{},"The check runs at most once a day in the background, so no command waits on it.\nNothing is checked or offered without a terminal, in CI, with\n",[146,713,714],{},"PDD_KIT_NO_UPDATE_CHECK=1",", under ",[146,717,156],{}," (which already runs the latest\nrelease), or when pdd-kit is a project dependency. Nothing is installed\nwithout your choice. This updates the CLI itself; ",[245,720,721],{"href":259},[146,722,94],{},"\nrefreshes installed skills.",[725,726,727],"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 pre.shiki code .sA6JF, html code.shiki .sA6JF{--shiki-light:#00585F;--shiki-default:#00585F;--shiki-dark:#89DDFF}html pre.shiki code .szETn, html code.shiki .szETn{--shiki-light:#362B1D;--shiki-default:#362B1D;--shiki-dark:#BABED8}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);}html pre.shiki code .sfVL-, html code.shiki .sfVL-{--shiki-light:#00585F;--shiki-default:#00585F;--shiki-dark:#C3E88D}html pre.shiki code .shP-r, html code.shiki .shP-r{--shiki-light:#4C3E2B;--shiki-light-font-style:italic;--shiki-default:#4C3E2B;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":144,"searchDepth":207,"depth":207,"links":729},[730,731,732,733],{"id":374,"depth":207,"text":375},{"id":457,"depth":207,"text":458},{"id":584,"depth":207,"text":585},{"id":661,"depth":207,"text":662},"md",{"section":736},"open-source",20,{"title":85,"description":86},"docs\u002Fcli","E2Yx5Uazt9QIle2wETz7nLZx1WeY-VBWxxRCkAZ5bmA",1791840531270]