{"_id":"pdd-toolkit","_rev":"7-d7bdadb12cb2f7a18bda2714d367b476","name":"pdd-toolkit","dist-tags":{"latest":"0.37.1"},"versions":{"0.0.0-stage":{"name":"pdd-toolkit","version":"0.0.0-stage","_id":"pdd-toolkit@0.0.0-stage","stub":true,"maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"dist":{"shasum":"2d72b2d2af7dc8d7e9f6cfeefec4bf59aa0860c0","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.0.0-stage.tgz","fileCount":2,"integrity":"sha512-4t2amhCerdfHx/m/7mVswk+k/yRAUfG0xO7+fnYofCc4GLq1xOD+jsYeyrSaG/5gI9yY9IS7p7RwF7qRe5CGBA==","signatures":[{"sig":"MEUCIQCE9QOJezuI41gAW4fZ+Yg1LRYjklgSSzl4F3AnP8NVgwIgSKt4/IpeFgqU1PiSo9He49ooDg0gQWjewnnzD5PT4dg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333},"_npmUser":{"name":"itai-gendler","email":"itai.gendler@gmail.com"},"deprecated":"Placeholder; use the latest pdd-toolkit","description":"Temporary package placeholder for staged publishing","directories":{}},"0.0.1":{"name":"pdd-toolkit","version":"0.0.1","license":"MIT","_id":"pdd-toolkit@0.0.1","maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"homepage":"https://github.com/itai-gendler/pdd-kit#readme","bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"dist":{"shasum":"a0bee26464457f9d3df59b0e7b9343c49e3d82e0","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.0.1.tgz","fileCount":2,"integrity":"sha512-9VZFxOP5Pd76rp+UiKIewNzz73COAMdr5HFhreMZL23NO2VdId/qETpL0G0nnpRANlz8LQelzjSVQpN90NqjmA==","signatures":[{"sig":"MEQCICyhW5Rlzpc/tgBwoRsVTSGuugyJUS5ZOTSK5WqtG8qmAiAqdlRqfUSSTUnkDrxLTO6vplFfe50Mne1omwPf2ETnyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFKbnNJLIwhheCa2L/C6TFLaie1Vjwj4oSTw5M8Jal/YAiEA0noqbEzvwliwtis/oAInGRBuctWqjk7M/tjms/GRPCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237},"_npmUser":{"name":"itai-gendler","email":"itai.gendler@gmail.com"},"deprecated":"Placeholder; use the latest pdd-toolkit","repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"_npmVersion":"10.9.2","description":"Product-Driven Development for coding agents. Placeholder; the first release follows.","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdd-toolkit_0.0.1_1791875240362_0.0539798159696232","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"pdd-toolkit","version":"0.35.0","license":"MIT","_id":"pdd-toolkit@0.35.0","maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"homepage":"https://pdd-kit.dev","bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"bin":{"pdd-kit":"dist/cli.js"},"dist":{"shasum":"338a8ea4a37d79c830ef8e9128d3e50db2c6e0aa","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.35.0.tgz","fileCount":310,"integrity":"sha512-9rrhLfnNcMO6VwWcy2F6dRapxWT1LCEuehYvsEut36Bnu38tD5tcQeuLcRzIzEQXJBfW99MvXgqig3ZEihd6wg==","signatures":[{"sig":"MEUCIEurHQ64IeF9xccRSukqoH9CVHqmZ5GWO/tXCqT9yLQIAiEAliqXEYNFy+Dr73CbT95a4S3f67UM1yZ5bl4T4edJK/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEU0npaCg+ceBI2hGl3XicVsWk6k7CCvvKnZVMXTfyVvAiAdHxBgBaSk/9IvEvaNT2sfs5KVf/t5X8i+DKGwHe2Iqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pdd-toolkit@0.35.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5962262},"type":"module","_from":"file:/tmp/tmp.IjUCB5aAVr/pdd-toolkit-0.35.0.tgz","engines":{"node":">=20.12.0"},"exports":{"./logo":{"types":"./dist/logo.d.ts","default":"./dist/logo.js"},"./report":{"types":"./dist/report.d.ts","default":"./dist/report.js"},"./nuxt/theme":"./layers/nuxt/theme/nuxt.config.ts","./package.json":"./package.json","./report/digest":{"types":"./dist/report-digest.d.ts","default":"./dist/report-digest.js"},"./nuxt/theme-lab":"./layers/nuxt/theme-lab/nuxt.config.ts","./report/selectors":{"types":"./dist/report-selectors.d.ts","default":"./dist/report-selectors.js"},"./nuxt/report-viewer":"./layers/nuxt/report-viewer/nuxt.config.ts","./theme-lab/variants":{"types":"./dist/pddKitThemeLabVariants.d.ts","default":"./dist/pddKitThemeLabVariants.js"}},"scripts":{"dev":"node scripts/dev.mjs","test":"vitest run","build":"pnpm build:core && pnpm build:viewer","check":"node scripts/check-repo.mjs","verify":"pnpm typecheck && pnpm typecheck:viewer && pnpm build && pnpm package:size && pnpm check:consumer && pnpm test && pnpm check && pnpm blueprints:check","version":"node scripts/sync-version.mjs","typecheck":"tsc --noEmit","build:core":"tsdown","dev:unlink":"node scripts/dev.mjs --unlink","vocabulary":"node scripts/build-vocabulary.mjs","demo:record":"node scripts/record-demo.mjs","theme:icons":"node scripts/build-theme-icons.mjs","build:viewer":"pnpm --filter @pdd-kit/local-report-viewer build && node scripts/copy-viewer.mjs","package:size":"node scripts/check-package-size.mjs","view:fixture":"node scripts/view-fixture.mjs","check:consumer":"node scripts/check-nuxt-consumer.mjs","blueprints:check":"node scripts/blueprints-check.mjs","typecheck:viewer":"pnpm --filter @pdd-kit/local-report-viewer typecheck","changelog:release":"node scripts/changelog-release.mjs","blueprints:release":"node scripts/blueprints-release.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e89551c1-bf7b-41b2-be02-7dca3b6b2303"}},"_resolved":"/tmp/tmp.IjUCB5aAVr/pdd-toolkit-0.35.0.tgz","_integrity":"sha512-9rrhLfnNcMO6VwWcy2F6dRapxWT1LCEuehYvsEut36Bnu38tD5tcQeuLcRzIzEQXJBfW99MvXgqig3ZEihd6wg==","repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"_npmVersion":"11.9.0","description":"Product-Driven Development for coding agents: a git-tracked Product Model in product-model/, verified against implementation.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.0.0","yaml":"^2.6.0","saxes":"^6.0.0","shiki":"^4.4.3","comark":"^0.7.0","commander":"^14.0.3","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.12.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.10.0","@playwright/test":"1.61.1"},"peerDependencies":{"vue":"^3.5.0","nuxt":"^4.4.0","elkjs":"^0.12.0","@nuxt/ui":"^4.9.0","@comark/vue":"^0.7.0","tailwindcss":"^4.3.0","@vue-flow/core":"^1.48.2","@iconify-json/lucide":"^1.2.111","@vue-flow/background":"^1.3.2","@fontsource/ibm-plex-mono":"^5.3.0","@fontsource-variable/inter":"^5.2.8","@fontsource-variable/archivo":"^5.3.0"},"peerDependenciesMeta":{"vue":{"optional":true},"nuxt":{"optional":true},"elkjs":{"optional":true},"@nuxt/ui":{"optional":true},"@comark/vue":{"optional":true},"tailwindcss":{"optional":true},"@vue-flow/core":{"optional":true},"@iconify-json/lucide":{"optional":true},"@vue-flow/background":{"optional":true},"@fontsource/ibm-plex-mono":{"optional":true},"@fontsource-variable/inter":{"optional":true},"@fontsource-variable/archivo":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdd-toolkit_0.35.0_1791879476370_0.8860945758810728","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"pdd-toolkit","version":"0.36.0","keywords":["product-driven-development","pdd","product-model","coding-agents","ai-agents","agent-skills","claude-code","codex","specification","cli"],"license":"MIT","_id":"pdd-toolkit@0.36.0","maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"homepage":"https://pdd-kit.dev","bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"bin":{"pdd-kit":"dist/cli.js"},"dist":{"shasum":"72daaa4f5c21c310dd9ab5ca4c668d9452ebbde2","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.36.0.tgz","fileCount":311,"integrity":"sha512-uS50oA77SQyIbULQyBvWiK+Btc5V1kA1RILbzcWawISsWYITUBAQuyb89va76vDwSd/4uDBT2vW7DdtW2tJ7mw==","signatures":[{"sig":"MEUCIQDmvm2EEeVxXHgq3SMdVOzS9hEQ6XjsM9IK2fgf8j+baQIgQ/fxFt+rtGcJGyF6klD2DW5vB+hdWQo7nnHwdWYkhf0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAf7WE/FhoyowtQULc/aijiTAtyauiZWWGkh3Vy34MlgAiEA9bVooERnScuiwOXmnDJEL9ICTQy3Ch2/dAf7ZBuY8mQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pdd-toolkit@0.36.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5997522},"type":"module","_from":"file:/tmp/tmp.kfy0x00r9v/pdd-toolkit-0.36.0.tgz","engines":{"node":">=20.12.0"},"exports":{"./logo":{"types":"./dist/logo.d.ts","default":"./dist/logo.js"},"./report":{"types":"./dist/report.d.ts","default":"./dist/report.js"},"./nuxt/theme":"./layers/nuxt/theme/nuxt.config.ts","./package.json":"./package.json","./report/digest":{"types":"./dist/report-digest.d.ts","default":"./dist/report-digest.js"},"./nuxt/theme-lab":"./layers/nuxt/theme-lab/nuxt.config.ts","./report/selectors":{"types":"./dist/report-selectors.d.ts","default":"./dist/report-selectors.js"},"./nuxt/report-viewer":"./layers/nuxt/report-viewer/nuxt.config.ts","./theme-lab/variants":{"types":"./dist/pddKitThemeLabVariants.d.ts","default":"./dist/pddKitThemeLabVariants.js"}},"scripts":{"dev":"node scripts/dev.mjs","test":"vitest run","build":"pnpm build:core && pnpm build:viewer","check":"node scripts/check-repo.mjs","verify":"pnpm typecheck && pnpm typecheck:viewer && pnpm build && pnpm package:size && pnpm check:consumer && pnpm test && pnpm check && pnpm blueprints:check","version":"node scripts/sync-version.mjs","typecheck":"tsc --noEmit","build:core":"tsdown","dev:unlink":"node scripts/dev.mjs --unlink","vocabulary":"node scripts/build-vocabulary.mjs","theme:icons":"node scripts/build-theme-icons.mjs","build:viewer":"pnpm --filter @pdd-kit/local-report-viewer build && node scripts/copy-viewer.mjs","package:size":"node scripts/check-package-size.mjs","view:fixture":"node scripts/view-fixture.mjs","check:consumer":"node scripts/check-nuxt-consumer.mjs","blueprints:check":"node scripts/blueprints-check.mjs","typecheck:viewer":"pnpm --filter @pdd-kit/local-report-viewer typecheck","changelog:release":"node scripts/changelog-release.mjs","blueprints:release":"node scripts/blueprints-release.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e89551c1-bf7b-41b2-be02-7dca3b6b2303"}},"_resolved":"/tmp/tmp.kfy0x00r9v/pdd-toolkit-0.36.0.tgz","_integrity":"sha512-uS50oA77SQyIbULQyBvWiK+Btc5V1kA1RILbzcWawISsWYITUBAQuyb89va76vDwSd/4uDBT2vW7DdtW2tJ7mw==","repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"_npmVersion":"11.9.0","description":"Product-Driven Development for coding agents: a git-tracked Product Model in product-model/, verified against implementation.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.0.0","yaml":"^2.6.0","saxes":"^6.0.0","shiki":"^4.4.3","comark":"^0.7.0","commander":"^14.0.3","@clack/prompts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.12.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.10.0","@playwright/test":"1.61.1"},"peerDependencies":{"vue":"^3.5.0","nuxt":"^4.4.0","elkjs":"^0.12.0","@nuxt/ui":"^4.9.0","@comark/vue":"^0.7.0","tailwindcss":"^4.3.0","@vue-flow/core":"^1.48.2","@iconify-json/lucide":"^1.2.111","@vue-flow/background":"^1.3.2","@fontsource/ibm-plex-mono":"^5.3.0","@fontsource-variable/inter":"^5.2.8","@fontsource-variable/archivo":"^5.3.0"},"peerDependenciesMeta":{"vue":{"optional":true},"nuxt":{"optional":true},"elkjs":{"optional":true},"@nuxt/ui":{"optional":true},"@comark/vue":{"optional":true},"tailwindcss":{"optional":true},"@vue-flow/core":{"optional":true},"@iconify-json/lucide":{"optional":true},"@vue-flow/background":{"optional":true},"@fontsource/ibm-plex-mono":{"optional":true},"@fontsource-variable/inter":{"optional":true},"@fontsource-variable/archivo":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdd-toolkit_0.36.0_1791891992285_0.735897844014213","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"pdd-toolkit","version":"0.37.0","keywords":["product-driven-development","pdd","product-model","coding-agents","ai-agents","agent-skills","claude-code","codex","specification","cli"],"license":"MIT","_id":"pdd-toolkit@0.37.0","maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"homepage":"https://pdd-kit.dev","bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"bin":{"pdd-kit":"dist/cli.js"},"dist":{"shasum":"2d02b0f72d27833e5205c370722d1b5abd37f659","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.37.0.tgz","fileCount":310,"integrity":"sha512-eNuMZ1q3Mmh3OKnwiIyxsCgFY1wIekYyMBtlRgqo9vGgkV9LKbrbrzaMGKeGX3VokIsgATgDbjiCFuATwNqQ3w==","signatures":[{"sig":"MEUCIQC8Br07ohRw8NmUWDxhNtNb+M/zI52azZqras1+WXkUVwIgCXkiQ802pmrnLryg6QMqE09rsrnvV95wwAeZuDEN1Io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC15zJ4x7yua2QJQaF79VJQCoWAs6M1RccHu+IcQ1a26AIgBwcA6cRH+/kpCuMKXwb+pjuoHX8bEirrqOVFSQGzhX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pdd-toolkit@0.37.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6033170},"type":"module","_from":"file:/tmp/tmp.JdKr4N0RwN/pdd-toolkit-0.37.0.tgz","engines":{"node":">=22.12.0"},"exports":{"./logo":{"types":"./dist/logo.d.ts","default":"./dist/logo.js"},"./report":{"types":"./dist/report.d.ts","default":"./dist/report.js"},"./nuxt/theme":"./layers/nuxt/theme/nuxt.config.ts","./package.json":"./package.json","./report/digest":{"types":"./dist/report-digest.d.ts","default":"./dist/report-digest.js"},"./nuxt/theme-lab":"./layers/nuxt/theme-lab/nuxt.config.ts","./report/selectors":{"types":"./dist/report-selectors.d.ts","default":"./dist/report-selectors.js"},"./nuxt/report-viewer":"./layers/nuxt/report-viewer/nuxt.config.ts","./theme-lab/variants":{"types":"./dist/pddKitThemeLabVariants.d.ts","default":"./dist/pddKitThemeLabVariants.js"}},"scripts":{"dev":"node scripts/dev.mjs","test":"vitest run","build":"pnpm build:core && pnpm build:viewer","check":"node scripts/check-repo.mjs","verify":"pnpm typecheck && pnpm typecheck:viewer && pnpm build && pnpm package:size && pnpm check:consumer && pnpm test && pnpm check && pnpm blueprints:check","version":"node scripts/sync-version.mjs","typecheck":"tsc --noEmit","build:core":"tsdown","dev:unlink":"node scripts/dev.mjs --unlink","vocabulary":"node scripts/build-vocabulary.mjs","theme:icons":"node scripts/build-theme-icons.mjs","build:viewer":"pnpm --filter @pdd-kit/local-report-viewer build && node scripts/copy-viewer.mjs","package:size":"node scripts/check-package-size.mjs","view:fixture":"node scripts/view-fixture.mjs","check:consumer":"node scripts/check-nuxt-consumer.mjs","blueprints:check":"node scripts/blueprints-check.mjs","typecheck:viewer":"pnpm --filter @pdd-kit/local-report-viewer typecheck","changelog:release":"node scripts/changelog-release.mjs","blueprints:release":"node scripts/blueprints-release.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e89551c1-bf7b-41b2-be02-7dca3b6b2303"}},"_resolved":"/tmp/tmp.JdKr4N0RwN/pdd-toolkit-0.37.0.tgz","_integrity":"sha512-eNuMZ1q3Mmh3OKnwiIyxsCgFY1wIekYyMBtlRgqo9vGgkV9LKbrbrzaMGKeGX3VokIsgATgDbjiCFuATwNqQ3w==","repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"_npmVersion":"11.9.0","description":"Product-Driven Development for coding agents: a git-tracked Product Model in product-model/, verified against implementation.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.7","yaml":"^2.9.1","saxes":"^6.0.0","shiki":"^4.5.0","comark":"^0.7.0","commander":"^15.0.0","@clack/prompts":"^1.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.23.1","vitest":"^5.0.4","lefthook":"^2.2.1","typescript":"^6.0.3","@types/node":"^22.20.5","@playwright/test":"1.64.0"},"peerDependencies":{"vue":"^3.5.0","nuxt":"^4.4.0","elkjs":"^0.12.0","@nuxt/ui":"^4.9.0","@comark/vue":"^0.7.0","tailwindcss":"^4.3.0","@vue-flow/core":"^1.48.2","@iconify-json/lucide":"^1.2.111","@vue-flow/background":"^1.3.2","@fontsource/ibm-plex-mono":"^5.3.0","@fontsource-variable/inter":"^5.2.8","@fontsource-variable/archivo":"^5.3.0"},"peerDependenciesMeta":{"vue":{"optional":true},"nuxt":{"optional":true},"elkjs":{"optional":true},"@nuxt/ui":{"optional":true},"@comark/vue":{"optional":true},"tailwindcss":{"optional":true},"@vue-flow/core":{"optional":true},"@iconify-json/lucide":{"optional":true},"@vue-flow/background":{"optional":true},"@fontsource/ibm-plex-mono":{"optional":true},"@fontsource-variable/inter":{"optional":true},"@fontsource-variable/archivo":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pdd-toolkit_0.37.0_1791964765597_0.5583289684764743","host":"s3://npm-registry-packages-npm-production"}},"0.37.1":{"_id":"pdd-toolkit@0.37.1","bin":{"pdd-kit":"dist/cli.js"},"bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"dist":{"shasum":"926201581da22f0fe1eade594267d480e32b5077","tarball":"https://registry.npmjs.org/pdd-toolkit/-/pdd-toolkit-0.37.1.tgz","fileCount":310,"integrity":"sha512-DOmzwUARGtAfCgJ4e5l34QfE0hjNMPfdupfjNys81SfU5WTfTj+LY6H78vgvoxhg2bpx0sCjCSHIzWWYp/rXcw==","signatures":[{"sig":"MEUCIDh6XAZsWtZl3Knkqz/stQoVp5LRLvkb+nm9NuJizMtaAiEAtxe5cboJ9/h90JLgAqQMhshYKCznRjmjpr/jlMdQWCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDFdxvucDPR5lA79byCi+aNvE5fZTM8GGvFnzLSk+zVFgIgCv2Burqk2xCLvvqX4Bu8qG3tCJEz8KKVb+BCXX/dpdQ="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pdd-toolkit@0.37.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6034170},"name":"pdd-toolkit","type":"module","_from":"file:/tmp/tmp.WsdlUZM9D1/pdd-toolkit-0.37.1.tgz","engines":{"node":">=22.12.0"},"exports":{"./logo":{"types":"./dist/logo.d.ts","default":"./dist/logo.js"},"./report":{"types":"./dist/report.d.ts","default":"./dist/report.js"},"./nuxt/theme":"./layers/nuxt/theme/nuxt.config.ts","./package.json":"./package.json","./report/digest":{"types":"./dist/report-digest.d.ts","default":"./dist/report-digest.js"},"./nuxt/theme-lab":"./layers/nuxt/theme-lab/nuxt.config.ts","./report/selectors":{"types":"./dist/report-selectors.d.ts","default":"./dist/report-selectors.js"},"./nuxt/report-viewer":"./layers/nuxt/report-viewer/nuxt.config.ts","./theme-lab/variants":{"types":"./dist/pddKitThemeLabVariants.d.ts","default":"./dist/pddKitThemeLabVariants.js"}},"license":"MIT","scripts":{"dev":"node scripts/dev.mjs","test":"vitest run","build":"pnpm build:core && pnpm build:viewer","check":"node scripts/check-repo.mjs","verify":"pnpm typecheck && pnpm typecheck:viewer && pnpm build && pnpm package:size && pnpm check:consumer && pnpm test && pnpm check && pnpm blueprints:check","version":"node scripts/sync-version.mjs","typecheck":"tsc --noEmit","build:core":"tsdown","dev:unlink":"node scripts/dev.mjs --unlink","vocabulary":"node scripts/build-vocabulary.mjs","theme:icons":"node scripts/build-theme-icons.mjs","build:viewer":"pnpm --filter @pdd-kit/local-report-viewer build && node scripts/copy-viewer.mjs","package:size":"node scripts/check-package-size.mjs","view:fixture":"node scripts/view-fixture.mjs","check:consumer":"node scripts/check-nuxt-consumer.mjs","blueprints:check":"node scripts/blueprints-check.mjs","typecheck:viewer":"pnpm --filter @pdd-kit/local-report-viewer typecheck","changelog:release":"node scripts/changelog-release.mjs","blueprints:release":"node scripts/blueprints-release.mjs"},"version":"0.37.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e89551c1-bf7b-41b2-be02-7dca3b6b2303"}},"homepage":"https://pdd-kit.dev","keywords":["product-driven-development","pdd","product-model","coding-agents","ai-agents","agent-skills","claude-code","codex","specification","cli"],"_resolved":"/tmp/tmp.WsdlUZM9D1/pdd-toolkit-0.37.1.tgz","_integrity":"sha512-DOmzwUARGtAfCgJ4e5l34QfE0hjNMPfdupfjNys81SfU5WTfTj+LY6H78vgvoxhg2bpx0sCjCSHIzWWYp/rXcw==","repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"_npmVersion":"11.9.0","description":"Product-Driven Development for coding agents: a git-tracked Product Model in product-model/, verified against implementation.","directories":{},"maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"_nodeVersion":"24.22.0","dependencies":{"zod":"^4.6.7","yaml":"^2.9.1","saxes":"^6.0.0","shiki":"^4.5.0","comark":"^0.7.0","commander":"^15.0.0","@clack/prompts":"^1.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.23.1","vitest":"^5.0.4","lefthook":"^2.2.1","typescript":"^6.0.3","@types/node":"^22.20.5","@playwright/test":"1.64.0"},"peerDependencies":{"vue":"^3.5.0","nuxt":"^4.4.0","elkjs":"^0.12.0","@nuxt/ui":"^4.9.0","@comark/vue":"^0.7.0","tailwindcss":"^4.3.0","@vue-flow/core":"^1.48.2","@iconify-json/lucide":"^1.2.111","@vue-flow/background":"^1.3.2","@fontsource/ibm-plex-mono":"^5.3.0","@fontsource-variable/inter":"^5.2.8","@fontsource-variable/archivo":"^5.3.0"},"peerDependenciesMeta":{"vue":{"optional":true},"nuxt":{"optional":true},"elkjs":{"optional":true},"@nuxt/ui":{"optional":true},"@comark/vue":{"optional":true},"tailwindcss":{"optional":true},"@vue-flow/core":{"optional":true},"@iconify-json/lucide":{"optional":true},"@vue-flow/background":{"optional":true},"@fontsource/ibm-plex-mono":{"optional":true},"@fontsource-variable/inter":{"optional":true},"@fontsource-variable/archivo":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdd-toolkit_0.37.1_1792640687335_0.11756822080378626"}}},"time":{"created":"2026-10-13T07:06:03.573Z","modified":"2026-10-22T03:44:47.752Z","0.0.0-stage":"2026-10-13T07:06:03.573Z","0.0.1":"2026-10-13T07:07:20.448Z","0.35.0":"2026-10-13T08:17:56.576Z","0.36.0":"2026-10-13T11:46:32.453Z","0.37.0":"2026-10-14T07:59:25.766Z","0.37.1":"2026-10-22T03:44:47.450Z"},"bugs":{"url":"https://github.com/itai-gendler/pdd-kit/issues"},"license":"MIT","homepage":"https://pdd-kit.dev","keywords":["product-driven-development","pdd","product-model","coding-agents","ai-agents","agent-skills","claude-code","codex","specification","cli"],"repository":{"url":"git+https://github.com/itai-gendler/pdd-kit.git","type":"git"},"description":"Product-Driven Development for coding agents: a git-tracked Product Model in product-model/, verified against implementation.","maintainers":[{"name":"itai-gendler","email":"itai.gendler@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://pdd-kit.dev\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"./layers/nuxt/theme/public/brand/logo/lockup-dark.svg\">\n      <img src=\"./layers/nuxt/theme/public/brand/logo/lockup.svg\" alt=\"pdd-kit\" height=\"72\">\n    </picture>\n  </a>\n</p>\n\n<p align=\"center\"><strong>Product-Driven Development for coding agents (OSS)</strong></p>\n<p align=\"center\">\nThe definition of your product already exists, just unstructured, incomplete and scattered across docs, code, tickets, chats and people.<br>\nEvery coding agent reconstructs it from scratch, and differently each time.<br>\nPDD gives agents and humans a shared product model that is git-tracked, reviewable, and verifiable.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/pdd-toolkit\"><img src=\"https://img.shields.io/npm/v/pdd-toolkit\" alt=\"npm version\"></a>\n  <a href=\"https://github.com/itai-gendler/pdd-kit/actions/workflows/check.yml\"><img src=\"https://github.com/itai-gendler/pdd-kit/actions/workflows/check.yml/badge.svg\" alt=\"Check\"></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT license\"></a>\n</p>\n\n<p align=\"center\">\n<code>npx pdd-toolkit install</code>\n</p>\n\n<p align=\"center\">\n<a href=\"#map-existing-repo-recommended\"><strong>Map your own repo today!</strong></a>\n</p>\n\n<p align=\"center\">\n<a href=\"#the-problem\">The problem</a> ·\n<a href=\"#the-product-model\">The Product Model</a> ·\n<a href=\"#clear-product-model-focused-sources\">Where it fits</a> ·\n<a href=\"#example-the-product-model-of-a-kanban-board\">Example</a> ·\n<a href=\"#-get-started\">Get started</a> ·\n<a href=\"#the-development-loop\">Development loop</a> ·\n<a href=\"#faq\">FAQ</a>\n</p>\n\n## The problem\n\nThe definition of your product already exists, just **unstructured, incomplete\nand scattered** across docs, code, tickets, chats and people. Every **coding\nagent reconstructs it** from scratch, and **differently each time**\n([AI is writing code for products it doesn't understand](https://pdd-kit.dev/blog/your-agent-is-guessing)).\n\n**Spec-driven development (SDD)** tools such as OpenSpec, spec-kit and Kiro\ndescribe **each change**, with the product mixed into its design, plan and\ntasks and spread across feature folders\n([SDD describes the change, not the product](https://pdd-kit.dev/blog/pdd-and-spec-driven-development)).\n\n**Product-Driven Development (PDD)** keeps the **product in one place**, apart\nfrom how it's built: a shared product model for agents and humans that is\n**git-tracked, reviewable and verifiable**\n([Introducing pdd-kit](https://pdd-kit.dev/blog/introducing-pdd-kit)).\n\n## The Product Model\n\n`product-model/`, a [Product Model](https://pdd-kit.dev/docs/product-model):\none definition of what the product does, as plain Markdown next to the code. It\nis made of:\n\n- **[Entities](https://pdd-kit.dev/docs/entities):** what the product keeps, and who acts on it (Order, Customer, Payment provider).\n- **[Interfaces](https://pdd-kit.dev/docs/interfaces):** how people and systems reach the product (Web app, Mobile app, Partner API).\n- **[Domains](https://pdd-kit.dev/docs/domains):** the subject areas the product is split into (Ordering, Catalog, Billing).\n- **[Capabilities](https://pdd-kit.dev/docs/capabilities):** what the product lets someone do (Check out, Cancel order, Refund).\n- **[Journeys](https://pdd-kit.dev/docs/journeys):** one goal, carried across several capabilities (Browse and buy, Sign up, Reorder).\n- **[Business Rules](https://pdd-kit.dev/docs/business-rules):** what must always hold, and who may do what (Max 3 per order, Only managers refund, Total includes tax).\n- **[Variations](https://pdd-kit.dev/docs/variations):** where the product works in more than one way (Feature flag, Plan tier, A/B test).\n\n## Clear product model. Focused sources.\n\nBring knowledge from docs, designs, code, and people into one product model.\nFill gaps, clarify uncertainty, and make every source leaner and more focused.\n\n<img src=\"./.github/readme/product-knowledge.webp\" alt=\"An engraved wheel with the product model at its center, connecting user-facing documentation, internal documentation, design and architecture, code and tests, and tickets, chats, and people.\" width=\"380\" align=\"left\">\n\n*Each information source’s purpose, supported by a shared product model*\n\n| Information source | Purpose |\n| --- | --- |\n| **User docs** | Teaches people to use<br>the product |\n| **Internal docs** | Records architecture, design<br>decisions, and onboarding |\n| **Design &<br>architecture** | Describes how it should<br>look and work |\n| **Code & tests** | Implements and verifies<br>how it is built |\n| **Tickets, chats<br>& people** | Carry context, requests,<br>and undocumented knowledge |\n\n<br clear=\"left\">\n\nMore in the FAQ: [Why a Product Model](docs/faq.md#why-a-product-model).\n\n## Why a Product Model in the AI era\n\nAgents write code faster than anyone can explain to them what the product is.\nThey fill the gaps by guessing, and the guesses ship.\n\n1. **One definition.** Not scattered across tickets, docs, chats and people, but one model beside the code.\n2. **Agents know what to build.** They read the Journeys, Scenarios and Rules instead of guessing.\n3. **Done means it matches the product.** Verify checks the code against the approved model.\n4. **Drift is easy to spot.** The model stays a clear reference as behavior changes.\n5. **Decisions travel with the code.** Model and code changes are reviewed in one pull request.\n\n<p align=\"center\">\n  <img src=\"./.github/readme/today-and-pdd.webp\" alt=\"Today, every stage of plan, code, review, deploy and operate reconstructs intent from tickets, PRDs, docs, tests, code, chats and people. With Product-Driven Development, those sources feed one defined, versioned, agreed product model, and every stage reads from it, with human approval at plan and review.\" width=\"800\">\n</p>\n\n## Example: the Product Model of a kanban board\n\nTo show what a Product Model answers, here is one for a **kanban board**: a\nconceptual product where a small team plans its work on shared boards of\ncolumns and cards, and an **AI agent proposes the next cards**. It is the\n[Kanban Board](https://github.com/itai-gendler/pdd-kit/tree/main/blueprints/kanban-board) Blueprint, a\nmodel with no code behind it. Every answer below is read from the model.\n\n<p align=\"center\">\n  <img src=\"./.github/readme/report/overview.jpg\" alt=\"The Kanban Board Blueprint open in the pdd-kit report: the Product Overview with its description, intent and product details\" width=\"800\">\n</p>\n\n<p align=\"center\">\n<a href=\"https://pdd-kit.dev/blueprints/kanban-board\"><strong>View the Kanban Board Product Model live</strong></a>\n</p>\n\nOr open it on your machine:\n\n```bash\nnpx pdd-toolkit blueprint pull kanban-board\nnpx pdd-toolkit view\n```\n\n### 1. Entities, and which capabilities change them\n\nAll 9 entities in the kanban model: what the product keeps, and who acts on it.\n\n<img src=\"./.github/readme/report/1a-entities.jpg\" alt=\"Entities list: the start of the kanban model's 9 entities, grouped by domain\" width=\"800\">\n\nWhich capabilities create, change or remove each entity, filtered to the four\ncapabilities around a proposed card:\n\n- **Card proposals** creates a proposed card, never a card.\n- **Proposed card acceptance** is what turns it into a card on the board.\n- **Proposed card dismissal** changes the proposal and leaves the board alone.\n\n<img src=\"./.github/readme/report/1b-what-changes-what.jpg\" alt=\"Changes, filtered to four capabilities: Card and Proposed card against Card proposals, Proposed card acceptance, Proposed card dismissal and Card creation\" width=\"800\">\n\n### 2. Capabilities, and which interfaces offer them\n\nAll 23 capabilities in the kanban model: what the product lets someone do.\n\n<img src=\"./.github/readme/report/2a-capabilities.jpg\" alt=\"Capabilities list: the start of the kanban model's 23 capabilities, grouped by domain\" width=\"800\">\n\nWhich interfaces offer each capability, filtered to six card capabilities:\n\n- **The agent connection** offers one capability: proposing cards.\n- **Every change to a card** happens in the board web application, by a member.\n\n<img src=\"./.github/readme/report/2b-compare-delivery.jpg\" alt=\"Delivery, filtered to six card capabilities: which of them the Agent connection and the Board web application offer\" width=\"800\">\n\n### 3. Business rules, and where they apply\n\nAll 32 business rules in the kanban model: what must always hold, and who may\ndo what.\n\n<img src=\"./.github/readme/report/3a-business-rules.jpg\" alt=\"Business rules list: the start of the kanban model's 32 business rules, grouped by domain\" width=\"800\">\n\nWhere each business rule is attached, filtered to the five attached to the\nProposed card entity:\n\n- **Creating one:** only an AI agent a member connected proposes cards.\n- **Deciding on one:** only the board's members accept or dismiss it.\n- **Deleting one:** it goes only with its board.\n\n<img src=\"./.github/readme/report/3b-rule-attachments.jpg\" alt=\"Attachments, filtered to the Proposed card entity: five business rules, as creates, changes, reads, removes and attached\" width=\"600\">\n\n### 4. An entity: what it keeps, and how its state changes\n\nThe Proposed card entity, one of the 9, and the information kept about it:\n\n- **Four pieces of information:** its title, description, reason and suggested\n  column.\n\n<img src=\"./.github/readme/report/4a-proposed-card.jpg\" alt=\"Proposed card overview: its description and the four pieces of information it keeps\" width=\"800\">\n\nHow it moves through its states, and the capability behind every move:\n\n- **Three states:** Proposed, then Accepted or Dismissed. Created and Removed\n  mark where its life begins and ends.\n- **Removing it** on its own is forbidden from every state; deleting its board\n  removes it.\n\n<img src=\"./.github/readme/report/4b-lifecycle.jpg\" alt=\"Proposed card lifecycle: Card proposals creates it in Proposed; members accept or dismiss it. Removing it on its own is forbidden; deleting its board removes it\" width=\"800\">\n\n### 5. A capability's scenarios, and one step by step\n\nThe 4 scenarios of the Card proposals capability:\n\n- **Four scenarios:** proposing cards for a goal, proposing a next step for a\n  stalled card, and two refusals.\n\n<img src=\"./.github/readme/report/5a-scenarios.jpg\" alt=\"Card proposals scenarios: the four scenarios with their triggers and outcomes\" width=\"800\">\n\nOne of them, opened step by step:\n\n- **Refuse a direct change from the AI agent:** the agent tries to move a card\n  itself, and the product refuses. Every step says who acts, what is read,\n  where, and which business rules govern it.\n- **Its edge case:** editing, deleting or creating a card, or accepting its own\n  proposal, is refused the same way.\n\n<img src=\"./.github/readme/report/5b-scenario.jpg\" alt=\"The Refuse a direct change from the AI agent scenario: three steps, each with who acts, entity effects, where and the governing business rules, and its edge case\" width=\"800\">\n\n## Who it helps\n\nOne shared definition of what the product does helps everyone who works on it:\n\n- **Maintainers and reviewers** see a behavior change as a change to the model,\n  reviewed in the same pull request as the code.\n- **New contributors** learn what the product does, who may do what and where,\n  without reading the whole codebase first.\n- **Product managers and docs writers** find product answers in one place,\n  with optional references to the code and material behind them.\n- **Coding agents** read the scenarios and business rules before they change\n  anything, instead of guessing. The `pdd-verify` skill checks the\n  code against the model.\n\n**Dogfooded:** pdd-kit is developed with pdd-kit. Its own Product Model\nlives in this repository's [`product-model/` folder](./product-model/); open it\nwith `npx pdd-toolkit view itai-gendler/pdd-kit`.\n\n## Features\n\n* 🤖 **Agent skills:** map, ideate and verify for Claude Code, Codex, Cursor, Gemini CLI and GitHub Copilot\n\n* 📝 **Markdown-native:** every resource is a plain `.md` file in your repo, reviewed in pull requests\n\n* ✅ **Lint and verify:** `npx pdd-toolkit lint` checks the files; `pdd-verify` checks the code against them\n\n* 🔁 **Fits your workflow:** implement with plan mode, an SDD tool or freestyle; check the code against the model when you choose\n\n* 🖥️ **Local report:** `npx pdd-toolkit view` opens the model in your browser and follows your edits\n\n* 📦 **Blueprints:** start from a reviewed model for a common product instead of a blank page\n\n* 🔒 **Local-first:** no account, no hosted service; the skills read your code and never run it\n\n* 🆓 MIT-licensed and open source\n\n---\n\n## <img src=\"./.github/readme/rocket.svg\" alt=\"\" width=\"28\" height=\"28\" align=\"top\"> Get started\n\n```bash\nnpx pdd-toolkit install\n```\n\nThe npm package is `pdd-toolkit`; it installs the `pdd-kit` command, so\nafter `npm install --global pdd-toolkit` you can run `pdd-kit install` instead.\n\nThis adds the skills to the coding agents it detects (Claude Code, Codex,\nCursor, Gemini CLI or GitHub Copilot), or to Claude Code and Codex when it\ndetects none; you can change the selection. Then start from where you are,\ninside your agent (Codex uses `$` instead of `/`):\n\n### Map existing repo (recommended)\n\nHave code? Run the map skill:\n\n```text\n/pdd-map\n```\n\nIt reads the code without running it, asks what the code can't answer, and\nwrites `product-model/` once you approve. Then open the report:\n\n```bash\nnpx pdd-toolkit view\n```\n\n[From your repo](https://pdd-kit.dev/docs/from-your-repo)\n\n### Start from an idea\n\nNo code yet? Describe the product you want:\n\n```text\n/pdd-ideate I want to build a booking app for dog walkers\n```\n\nYou pick from a few product shapes, then approve the model.\n[From an idea](https://pdd-kit.dev/docs/from-an-idea)\n\n### Start from a Blueprint\n\nA familiar kind of product? List the reviewed models and pull one:\n\n```bash\nnpx pdd-toolkit blueprint list\nnpx pdd-toolkit blueprint pull <name>\n```\n\n[Browse the Blueprints](https://github.com/itai-gendler/pdd-kit/tree/main/blueprints) ·\n[From a Blueprint](https://pdd-kit.dev/docs/from-a-blueprint)\n\n## The development loop\n\n<p align=\"center\">\n  <img src=\"./.github/readme/development-loop.svg\" alt=\"The development loop: ideate with /pdd-ideate, implement your way with your own agent, check the code against the model with /pdd-verify\" width=\"600\">\n</p>\n\n- **Ideate** (`/pdd-ideate`): the agent records the change in the model\n  first, and nothing is written until you approve it.\n- **Implement:** your agent builds it your way, with plan mode, an SDD tool,\n  or freestyle. pdd-kit doesn't change how you implement.\n- **Verify** (`/pdd-verify`): the agent checks the code against the\n  model, reports every gap, and fixes the ones you choose.\n\nOptionally, let pdd-kit orchestrate the implementation and verification loop:\nverify plans the work in phases, your agent implements each phase, and verify\nchecks it before the next. Turn it on with `npx pdd-toolkit install --orchestrate=on`\nor one sentence in your `AGENTS.md`; see\n[Implement with verify](https://pdd-kit.dev/docs/skill-pdd-verify#implement-with-verify-opt-in).\n\n## <img src=\"./.github/readme/square-terminal.svg\" alt=\"\" width=\"28\" height=\"28\" align=\"top\"> CLI\n\n`install`, `update`, `lint`, `view` and the `blueprint` commands. Every command\nand option: [CLI reference](https://pdd-kit.dev/docs/cli), or\n`npx pdd-toolkit --help`.\n\n## FAQ\n\nRead the [frequently asked questions](docs/faq.md) about adopting pdd-kit,\nwhat the Product Model covers, and getting help.\n\n## License\n\npdd-kit is released under the **MIT License**: do anything, just give\ncredit. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}