@bendyline/gilde 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (934) hide show
  1. package/README.md +1 -0
  2. package/data/chat-models/ge/gemma4-12b-q4/manifest.json +22 -8
  3. package/data/chat-models/ge/gemma4-12b-q4/versions/1.1.2/manifest.json +78 -0
  4. package/data/chat-models/ge/gemma4-12b-q8/manifest.json +25 -11
  5. package/data/chat-models/ge/gemma4-12b-q8/versions/1.0.2/manifest.json +78 -0
  6. package/data/chat-models/ge/gemma4-26b-q4/manifest.json +66 -44
  7. package/data/chat-models/ge/gemma4-26b-q4/versions/1.2.1/manifest.json +81 -0
  8. package/data/chat-models/ge/gemma4-31b-q4/manifest.json +47 -25
  9. package/data/chat-models/ge/gemma4-31b-q4/versions/1.2.1/manifest.json +87 -0
  10. package/data/chat-models/ge/gemma4-e2b-q8/manifest.json +76 -64
  11. package/data/chat-models/ge/gemma4-e2b-q8/versions/1.1.2/manifest.json +71 -0
  12. package/data/chat-models/ge/gemma4-e4b-q8/manifest.json +71 -73
  13. package/data/chat-models/ge/gemma4-e4b-q8/versions/1.1.2/manifest.json +71 -0
  14. package/data/chat-models/index.json +1 -1
  15. package/data/chat-models/la/laguna-s-2.1-118b-q4/manifest.json +17 -17
  16. package/data/chat-models/la/laguna-s-2.1-118b-q4/versions/1.0.1/manifest.json +124 -0
  17. package/data/chat-models/la/laguna-s-2.1-118b-q8/manifest.json +7 -7
  18. package/data/chat-models/la/laguna-s-2.1-118b-q8/versions/1.0.1/manifest.json +174 -0
  19. package/data/chat-models/ne/nemotron3-nano-30b-q4/manifest.json +5 -0
  20. package/data/chat-models/qw/qwen3.5-122b-a10b-q4/manifest.json +27 -19
  21. package/data/chat-models/qw/qwen3.5-122b-a10b-q4/versions/1.0.1/manifest.json +164 -0
  22. package/data/chat-models/qw/qwen3.5-2b-q4/manifest.json +79 -72
  23. package/data/chat-models/qw/qwen3.5-2b-q4/versions/1.1.2/manifest.json +76 -0
  24. package/data/chat-models/qw/qwen3.5-4b-q4/manifest.json +79 -72
  25. package/data/chat-models/qw/qwen3.5-4b-q4/versions/1.1.2/manifest.json +76 -0
  26. package/data/chat-models/qw/qwen3.5-9b-q4/manifest.json +87 -80
  27. package/data/chat-models/qw/qwen3.5-9b-q4/versions/1.1.2/manifest.json +81 -0
  28. package/data/chat-models/qw/qwen3.6-27b-q4/manifest.json +99 -92
  29. package/data/chat-models/qw/qwen3.6-27b-q4/versions/1.1.4/manifest.json +91 -0
  30. package/data/chat-models/qw/qwen3.6-27b-q8/manifest.json +17 -8
  31. package/data/chat-models/qw/qwen3.6-27b-q8/versions/1.0.2/manifest.json +103 -0
  32. package/data/chat-models/qw/qwen3.6-35b-a3b-q4/manifest.json +27 -10
  33. package/data/chat-models/qw/qwen3.6-35b-a3b-q4/versions/1.0.1/manifest.json +93 -0
  34. package/data/chat-models/qw/qwen3.6-35b-a3b-q8/manifest.json +26 -9
  35. package/data/chat-models/qw/qwen3.6-35b-a3b-q8/versions/1.0.1/manifest.json +113 -0
  36. package/data/craftbook-templates/a1/a11y-audit/art.json +12 -0
  37. package/data/craftbook-templates/a1/a11y-audit/logo.webp +0 -0
  38. package/data/craftbook-templates/a1/a11y-audit/manifest.json +1 -0
  39. package/data/craftbook-templates/ab/ab-test-readout/art.json +13 -0
  40. package/data/craftbook-templates/ab/ab-test-readout/logo.webp +0 -0
  41. package/data/craftbook-templates/ab/ab-test-readout/manifest.json +1 -0
  42. package/data/craftbook-templates/ac/accessibility-retrofit/art.json +12 -0
  43. package/data/craftbook-templates/ac/accessibility-retrofit/logo.webp +0 -0
  44. package/data/craftbook-templates/ac/accessibility-retrofit/manifest.json +1 -0
  45. package/data/craftbook-templates/ad/ad-variations/art.json +13 -0
  46. package/data/craftbook-templates/ad/ad-variations/logo.webp +0 -0
  47. package/data/craftbook-templates/ad/ad-variations/manifest.json +1 -0
  48. package/data/craftbook-templates/al/album-curate/art.json +13 -0
  49. package/data/craftbook-templates/al/album-curate/logo.webp +0 -0
  50. package/data/craftbook-templates/al/album-curate/manifest.json +1 -0
  51. package/data/craftbook-templates/al/alert-rules/art.json +12 -0
  52. package/data/craftbook-templates/al/alert-rules/logo.webp +0 -0
  53. package/data/craftbook-templates/al/alert-rules/manifest.json +1 -0
  54. package/data/craftbook-templates/al/alt-text-pass/art.json +12 -0
  55. package/data/craftbook-templates/al/alt-text-pass/logo.webp +0 -0
  56. package/data/craftbook-templates/al/alt-text-pass/manifest.json +1 -0
  57. package/data/craftbook-templates/an/anniversary-cut/art.json +13 -0
  58. package/data/craftbook-templates/an/anniversary-cut/logo.webp +0 -0
  59. package/data/craftbook-templates/an/anniversary-cut/manifest.json +1 -0
  60. package/data/craftbook-templates/an/annotated-bibliography/art.json +13 -0
  61. package/data/craftbook-templates/an/annotated-bibliography/logo.webp +0 -0
  62. package/data/craftbook-templates/an/annotated-bibliography/manifest.json +1 -0
  63. package/data/craftbook-templates/an/annual-document-review/art.json +13 -0
  64. package/data/craftbook-templates/an/annual-document-review/logo.webp +0 -0
  65. package/data/craftbook-templates/an/annual-document-review/manifest.json +1 -0
  66. package/data/craftbook-templates/an/anomaly-scan/art.json +12 -0
  67. package/data/craftbook-templates/an/anomaly-scan/logo.webp +0 -0
  68. package/data/craftbook-templates/an/anomaly-scan/manifest.json +1 -0
  69. package/data/craftbook-templates/ap/api-contract-review/art.json +13 -0
  70. package/data/craftbook-templates/ap/api-contract-review/logo.webp +0 -0
  71. package/data/craftbook-templates/ap/api-contract-review/manifest.json +1 -0
  72. package/data/craftbook-templates/ar/artifact-integrity-review/art.json +13 -0
  73. package/data/craftbook-templates/ar/artifact-integrity-review/logo.webp +0 -0
  74. package/data/craftbook-templates/ar/artifact-integrity-review/manifest.json +1 -0
  75. package/data/craftbook-templates/au/audio-ad-spot/art.json +13 -0
  76. package/data/craftbook-templates/au/audio-ad-spot/logo.webp +0 -0
  77. package/data/craftbook-templates/au/audio-ad-spot/manifest.json +1 -0
  78. package/data/craftbook-templates/au/audio-highlight-reel/art.json +13 -0
  79. package/data/craftbook-templates/au/audio-highlight-reel/logo.webp +0 -0
  80. package/data/craftbook-templates/au/audio-highlight-reel/manifest.json +1 -0
  81. package/data/craftbook-templates/au/audiobook-master-pack/art.json +13 -0
  82. package/data/craftbook-templates/au/audiobook-master-pack/logo.webp +0 -0
  83. package/data/craftbook-templates/au/audiobook-master-pack/manifest.json +1 -0
  84. package/data/craftbook-templates/au/auth-flow/art.json +12 -0
  85. package/data/craftbook-templates/au/auth-flow/logo.webp +0 -0
  86. package/data/craftbook-templates/au/auth-flow/manifest.json +1 -0
  87. package/data/craftbook-templates/au/automation-recipe/art.json +13 -0
  88. package/data/craftbook-templates/au/automation-recipe/logo.webp +0 -0
  89. package/data/craftbook-templates/au/automation-recipe/manifest.json +1 -0
  90. package/data/craftbook-templates/ba/backup-routine/art.json +13 -0
  91. package/data/craftbook-templates/ba/backup-routine/logo.webp +0 -0
  92. package/data/craftbook-templates/ba/backup-routine/manifest.json +1 -0
  93. package/data/craftbook-templates/bl/blog-post/art.json +13 -0
  94. package/data/craftbook-templates/bl/blog-post/logo.webp +0 -0
  95. package/data/craftbook-templates/bl/blog-post/manifest.json +1 -0
  96. package/data/craftbook-templates/bo/board-deck/art.json +13 -0
  97. package/data/craftbook-templates/bo/board-deck/logo.webp +0 -0
  98. package/data/craftbook-templates/bo/board-deck/manifest.json +1 -0
  99. package/data/craftbook-templates/bo/board-game-web/art.json +13 -0
  100. package/data/craftbook-templates/bo/board-game-web/logo.webp +0 -0
  101. package/data/craftbook-templates/bo/board-game-web/manifest.json +1 -0
  102. package/data/craftbook-templates/bo/booking-automation/art.json +12 -0
  103. package/data/craftbook-templates/bo/booking-automation/logo.webp +0 -0
  104. package/data/craftbook-templates/bo/booking-automation/manifest.json +1 -0
  105. package/data/craftbook-templates/br/branding-website/art.json +13 -0
  106. package/data/craftbook-templates/br/branding-website/logo.webp +0 -0
  107. package/data/craftbook-templates/br/branding-website/manifest.json +1 -0
  108. package/data/craftbook-templates/br/broadcast-announcement/art.json +13 -0
  109. package/data/craftbook-templates/br/broadcast-announcement/logo.webp +0 -0
  110. package/data/craftbook-templates/br/broadcast-announcement/manifest.json +1 -0
  111. package/data/craftbook-templates/br/browser-qa-audit/art.json +12 -0
  112. package/data/craftbook-templates/br/browser-qa-audit/logo.webp +0 -0
  113. package/data/craftbook-templates/br/browser-qa-audit/manifest.json +1 -0
  114. package/data/craftbook-templates/bu/bug-fix-tdd/art.json +12 -0
  115. package/data/craftbook-templates/bu/bug-fix-tdd/logo.webp +0 -0
  116. package/data/craftbook-templates/bu/bug-fix-tdd/manifest.json +1 -0
  117. package/data/craftbook-templates/bu/build-loop/art.json +13 -0
  118. package/data/craftbook-templates/bu/build-loop/logo.webp +0 -0
  119. package/data/craftbook-templates/bu/build-loop/manifest.json +1 -0
  120. package/data/craftbook-templates/bu/build-loop/versions/1.1.0/craftbook.json +65 -0
  121. package/data/craftbook-templates/bu/build-loop/versions/1.1.0/test.json +121 -0
  122. package/data/craftbook-templates/ca/calendar-brief/art.json +13 -0
  123. package/data/craftbook-templates/ca/calendar-brief/logo.webp +0 -0
  124. package/data/craftbook-templates/ca/calendar-brief/manifest.json +1 -0
  125. package/data/craftbook-templates/ca/canvas-generative-art/art.json +13 -0
  126. package/data/craftbook-templates/ca/canvas-generative-art/logo.webp +0 -0
  127. package/data/craftbook-templates/ca/canvas-generative-art/manifest.json +1 -0
  128. package/data/craftbook-templates/ca/careful-mode/art.json +13 -0
  129. package/data/craftbook-templates/ca/careful-mode/logo.webp +0 -0
  130. package/data/craftbook-templates/ca/careful-mode/manifest.json +1 -0
  131. package/data/craftbook-templates/ca/case-study/art.json +13 -0
  132. package/data/craftbook-templates/ca/case-study/logo.webp +0 -0
  133. package/data/craftbook-templates/ca/case-study/manifest.json +1 -0
  134. package/data/craftbook-templates/ca/case-study-writeup/art.json +13 -0
  135. package/data/craftbook-templates/ca/case-study-writeup/logo.webp +0 -0
  136. package/data/craftbook-templates/ca/case-study-writeup/manifest.json +1 -0
  137. package/data/craftbook-templates/ch/changelog-cut/art.json +12 -0
  138. package/data/craftbook-templates/ch/changelog-cut/logo.webp +0 -0
  139. package/data/craftbook-templates/ch/changelog-cut/manifest.json +1 -0
  140. package/data/craftbook-templates/ch/changelog-writeup/art.json +13 -0
  141. package/data/craftbook-templates/ch/changelog-writeup/logo.webp +0 -0
  142. package/data/craftbook-templates/ch/changelog-writeup/manifest.json +1 -0
  143. package/data/craftbook-templates/ch/chapter-narration-run/art.json +13 -0
  144. package/data/craftbook-templates/ch/chapter-narration-run/logo.webp +0 -0
  145. package/data/craftbook-templates/ch/chapter-narration-run/manifest.json +1 -0
  146. package/data/craftbook-templates/ch/chapter-weave/art.json +13 -0
  147. package/data/craftbook-templates/ch/chapter-weave/logo.webp +0 -0
  148. package/data/craftbook-templates/ch/chapter-weave/manifest.json +1 -0
  149. package/data/craftbook-templates/ch/character-sheet/art.json +13 -0
  150. package/data/craftbook-templates/ch/character-sheet/logo.webp +0 -0
  151. package/data/craftbook-templates/ch/character-sheet/manifest.json +1 -0
  152. package/data/craftbook-templates/ch/character-turnaround/art.json +13 -0
  153. package/data/craftbook-templates/ch/character-turnaround/logo.webp +0 -0
  154. package/data/craftbook-templates/ch/character-turnaround/manifest.json +1 -0
  155. package/data/craftbook-templates/ch/chart-pack/art.json +13 -0
  156. package/data/craftbook-templates/ch/chart-pack/logo.webp +0 -0
  157. package/data/craftbook-templates/ch/chart-pack/manifest.json +1 -0
  158. package/data/craftbook-templates/ch/chrome-extension/art.json +13 -0
  159. package/data/craftbook-templates/ch/chrome-extension/logo.webp +0 -0
  160. package/data/craftbook-templates/ch/chrome-extension/manifest.json +1 -0
  161. package/data/craftbook-templates/ci/ci-pipeline/art.json +12 -0
  162. package/data/craftbook-templates/ci/ci-pipeline/logo.webp +0 -0
  163. package/data/craftbook-templates/ci/ci-pipeline/manifest.json +1 -0
  164. package/data/craftbook-templates/ci/citation-audit/art.json +12 -0
  165. package/data/craftbook-templates/ci/citation-audit/logo.webp +0 -0
  166. package/data/craftbook-templates/ci/citation-audit/manifest.json +1 -0
  167. package/data/craftbook-templates/cl/cli-tool/art.json +13 -0
  168. package/data/craftbook-templates/cl/cli-tool/logo.webp +0 -0
  169. package/data/craftbook-templates/cl/cli-tool/manifest.json +1 -0
  170. package/data/craftbook-templates/cl/cli-tool/versions/1.1.0/craftbook.json +139 -0
  171. package/data/craftbook-templates/cl/cli-tool/versions/1.1.0/test.json +128 -0
  172. package/data/craftbook-templates/co/codebase-refactoring-review/art.json +12 -0
  173. package/data/craftbook-templates/co/codebase-refactoring-review/logo.webp +0 -0
  174. package/data/craftbook-templates/co/codebase-refactoring-review/manifest.json +1 -0
  175. package/data/craftbook-templates/co/codebase-ux-review/art.json +13 -0
  176. package/data/craftbook-templates/co/codebase-ux-review/logo.webp +0 -0
  177. package/data/craftbook-templates/co/codebase-ux-review/manifest.json +1 -0
  178. package/data/craftbook-templates/co/cohort-analysis/art.json +13 -0
  179. package/data/craftbook-templates/co/cohort-analysis/logo.webp +0 -0
  180. package/data/craftbook-templates/co/cohort-analysis/manifest.json +1 -0
  181. package/data/craftbook-templates/co/company-research-brief/art.json +13 -0
  182. package/data/craftbook-templates/co/company-research-brief/logo.webp +0 -0
  183. package/data/craftbook-templates/co/company-research-brief/manifest.json +1 -0
  184. package/data/craftbook-templates/co/comparison-matrix/art.json +13 -0
  185. package/data/craftbook-templates/co/comparison-matrix/logo.webp +0 -0
  186. package/data/craftbook-templates/co/comparison-matrix/manifest.json +1 -0
  187. package/data/craftbook-templates/co/compat-check/art.json +13 -0
  188. package/data/craftbook-templates/co/compat-check/logo.webp +0 -0
  189. package/data/craftbook-templates/co/compat-check/manifest.json +1 -0
  190. package/data/craftbook-templates/co/competitive-analysis/art.json +13 -0
  191. package/data/craftbook-templates/co/competitive-analysis/logo.webp +0 -0
  192. package/data/craftbook-templates/co/competitive-analysis/manifest.json +1 -0
  193. package/data/craftbook-templates/co/config-scaffold/art.json +13 -0
  194. package/data/craftbook-templates/co/config-scaffold/logo.webp +0 -0
  195. package/data/craftbook-templates/co/config-scaffold/manifest.json +1 -0
  196. package/data/craftbook-templates/co/content-accuracy-review/art.json +12 -0
  197. package/data/craftbook-templates/co/content-accuracy-review/logo.webp +0 -0
  198. package/data/craftbook-templates/co/content-accuracy-review/manifest.json +1 -0
  199. package/data/craftbook-templates/co/content-deck/art.json +13 -0
  200. package/data/craftbook-templates/co/content-deck/logo.webp +0 -0
  201. package/data/craftbook-templates/co/content-deck/manifest.json +1 -0
  202. package/data/craftbook-templates/co/contract-template/art.json +12 -0
  203. package/data/craftbook-templates/co/contract-template/logo.webp +0 -0
  204. package/data/craftbook-templates/co/contract-template/manifest.json +1 -0
  205. package/data/craftbook-templates/co/cookbook-layout/art.json +13 -0
  206. package/data/craftbook-templates/co/cookbook-layout/logo.webp +0 -0
  207. package/data/craftbook-templates/co/cookbook-layout/manifest.json +1 -0
  208. package/data/craftbook-templates/co/copy-review/art.json +13 -0
  209. package/data/craftbook-templates/co/copy-review/logo.webp +0 -0
  210. package/data/craftbook-templates/co/copy-review/manifest.json +1 -0
  211. package/data/craftbook-templates/co/corpus-email-digest/art.json +13 -0
  212. package/data/craftbook-templates/co/corpus-email-digest/logo.webp +0 -0
  213. package/data/craftbook-templates/co/corpus-email-digest/manifest.json +1 -0
  214. package/data/craftbook-templates/co/corpus-synthesis/art.json +13 -0
  215. package/data/craftbook-templates/co/corpus-synthesis/logo.webp +0 -0
  216. package/data/craftbook-templates/co/corpus-synthesis/manifest.json +1 -0
  217. package/data/craftbook-templates/co/cover-letter/art.json +13 -0
  218. package/data/craftbook-templates/co/cover-letter/logo.webp +0 -0
  219. package/data/craftbook-templates/co/cover-letter/manifest.json +1 -0
  220. package/data/craftbook-templates/cr/crm-update-batch/art.json +12 -0
  221. package/data/craftbook-templates/cr/crm-update-batch/logo.webp +0 -0
  222. package/data/craftbook-templates/cr/crm-update-batch/manifest.json +1 -0
  223. package/data/craftbook-templates/cr/cron-job/art.json +13 -0
  224. package/data/craftbook-templates/cr/cron-job/logo.webp +0 -0
  225. package/data/craftbook-templates/cr/cron-job/manifest.json +1 -0
  226. package/data/craftbook-templates/cr/crossword-forge/art.json +13 -0
  227. package/data/craftbook-templates/cr/crossword-forge/logo.webp +0 -0
  228. package/data/craftbook-templates/cr/crossword-forge/manifest.json +1 -0
  229. package/data/craftbook-templates/cs/csv-transformer/art.json +13 -0
  230. package/data/craftbook-templates/cs/csv-transformer/logo.webp +0 -0
  231. package/data/craftbook-templates/cs/csv-transformer/manifest.json +1 -0
  232. package/data/craftbook-templates/da/dashboard-spec/art.json +13 -0
  233. package/data/craftbook-templates/da/dashboard-spec/logo.webp +0 -0
  234. package/data/craftbook-templates/da/dashboard-spec/manifest.json +1 -0
  235. package/data/craftbook-templates/da/data-dictionary/art.json +13 -0
  236. package/data/craftbook-templates/da/data-dictionary/logo.webp +0 -0
  237. package/data/craftbook-templates/da/data-dictionary/manifest.json +1 -0
  238. package/data/craftbook-templates/da/data-export-migrate/art.json +13 -0
  239. package/data/craftbook-templates/da/data-export-migrate/logo.webp +0 -0
  240. package/data/craftbook-templates/da/data-export-migrate/manifest.json +1 -0
  241. package/data/craftbook-templates/da/data-join-merge/art.json +13 -0
  242. package/data/craftbook-templates/da/data-join-merge/logo.webp +0 -0
  243. package/data/craftbook-templates/da/data-join-merge/manifest.json +1 -0
  244. package/data/craftbook-templates/da/data-pipeline-etl/art.json +12 -0
  245. package/data/craftbook-templates/da/data-pipeline-etl/logo.webp +0 -0
  246. package/data/craftbook-templates/da/data-pipeline-etl/manifest.json +1 -0
  247. package/data/craftbook-templates/da/data-quality-audit/art.json +12 -0
  248. package/data/craftbook-templates/da/data-quality-audit/logo.webp +0 -0
  249. package/data/craftbook-templates/da/data-quality-audit/manifest.json +1 -0
  250. package/data/craftbook-templates/da/data-to-report/art.json +13 -0
  251. package/data/craftbook-templates/da/data-to-report/logo.webp +0 -0
  252. package/data/craftbook-templates/da/data-to-report/manifest.json +1 -0
  253. package/data/craftbook-templates/da/data-viz-page/art.json +13 -0
  254. package/data/craftbook-templates/da/data-viz-page/logo.webp +0 -0
  255. package/data/craftbook-templates/da/data-viz-page/manifest.json +1 -0
  256. package/data/craftbook-templates/da/dataset-clean/art.json +13 -0
  257. package/data/craftbook-templates/da/dataset-clean/logo.webp +0 -0
  258. package/data/craftbook-templates/da/dataset-clean/manifest.json +1 -0
  259. package/data/craftbook-templates/db/db-index-tuning/art.json +13 -0
  260. package/data/craftbook-templates/db/db-index-tuning/logo.webp +0 -0
  261. package/data/craftbook-templates/db/db-index-tuning/manifest.json +1 -0
  262. package/data/craftbook-templates/de/deep-security-review/art.json +12 -0
  263. package/data/craftbook-templates/de/deep-security-review/logo.webp +0 -0
  264. package/data/craftbook-templates/de/deep-security-review/manifest.json +1 -0
  265. package/data/craftbook-templates/de/deep-security-review/versions/1.1.0/craftbook.json +201 -0
  266. package/data/craftbook-templates/de/deep-security-review/versions/1.1.0/test.json +157 -0
  267. package/data/craftbook-templates/de/dependency-audit/art.json +12 -0
  268. package/data/craftbook-templates/de/dependency-audit/logo.webp +0 -0
  269. package/data/craftbook-templates/de/dependency-audit/manifest.json +1 -0
  270. package/data/craftbook-templates/de/deploy-checklist/art.json +13 -0
  271. package/data/craftbook-templates/de/deploy-checklist/logo.webp +0 -0
  272. package/data/craftbook-templates/de/deploy-checklist/manifest.json +1 -0
  273. package/data/craftbook-templates/de/design-review/art.json +13 -0
  274. package/data/craftbook-templates/de/design-review/logo.webp +0 -0
  275. package/data/craftbook-templates/de/design-review/manifest.json +1 -0
  276. package/data/craftbook-templates/de/design-system-consultation/art.json +13 -0
  277. package/data/craftbook-templates/de/design-system-consultation/logo.webp +0 -0
  278. package/data/craftbook-templates/de/design-system-consultation/manifest.json +1 -0
  279. package/data/craftbook-templates/di/diagram-from-text/art.json +13 -0
  280. package/data/craftbook-templates/di/diagram-from-text/logo.webp +0 -0
  281. package/data/craftbook-templates/di/diagram-from-text/manifest.json +1 -0
  282. package/data/craftbook-templates/di/digest-from-feeds/art.json +13 -0
  283. package/data/craftbook-templates/di/digest-from-feeds/logo.webp +0 -0
  284. package/data/craftbook-templates/di/digest-from-feeds/manifest.json +1 -0
  285. package/data/craftbook-templates/do/doc-intake-pipeline/art.json +13 -0
  286. package/data/craftbook-templates/do/doc-intake-pipeline/logo.webp +0 -0
  287. package/data/craftbook-templates/do/doc-intake-pipeline/manifest.json +1 -0
  288. package/data/craftbook-templates/do/doc-rewrite/art.json +13 -0
  289. package/data/craftbook-templates/do/doc-rewrite/logo.webp +0 -0
  290. package/data/craftbook-templates/do/doc-rewrite/manifest.json +1 -0
  291. package/data/craftbook-templates/do/dockerize-app/art.json +12 -0
  292. package/data/craftbook-templates/do/dockerize-app/logo.webp +0 -0
  293. package/data/craftbook-templates/do/dockerize-app/manifest.json +1 -0
  294. package/data/craftbook-templates/do/docs-site/art.json +13 -0
  295. package/data/craftbook-templates/do/docs-site/logo.webp +0 -0
  296. package/data/craftbook-templates/do/docs-site/manifest.json +1 -0
  297. package/data/craftbook-templates/do/documentation-drift-review/art.json +13 -0
  298. package/data/craftbook-templates/do/documentation-drift-review/logo.webp +0 -0
  299. package/data/craftbook-templates/do/documentation-drift-review/manifest.json +1 -0
  300. package/data/craftbook-templates/dr/drive-wrap-up/art.json +13 -0
  301. package/data/craftbook-templates/dr/drive-wrap-up/logo.webp +0 -0
  302. package/data/craftbook-templates/dr/drive-wrap-up/manifest.json +1 -0
  303. package/data/craftbook-templates/du/due-diligence-brief/art.json +13 -0
  304. package/data/craftbook-templates/du/due-diligence-brief/logo.webp +0 -0
  305. package/data/craftbook-templates/du/due-diligence-brief/manifest.json +1 -0
  306. package/data/craftbook-templates/eb/ebook-compile/art.json +13 -0
  307. package/data/craftbook-templates/eb/ebook-compile/logo.webp +0 -0
  308. package/data/craftbook-templates/eb/ebook-compile/manifest.json +1 -0
  309. package/data/craftbook-templates/ed/edit-notes/art.json +13 -0
  310. package/data/craftbook-templates/ed/edit-notes/logo.webp +0 -0
  311. package/data/craftbook-templates/ed/edit-notes/manifest.json +1 -0
  312. package/data/craftbook-templates/em/email-sequence/art.json +13 -0
  313. package/data/craftbook-templates/em/email-sequence/logo.webp +0 -0
  314. package/data/craftbook-templates/em/email-sequence/manifest.json +1 -0
  315. package/data/craftbook-templates/em/email-template/art.json +13 -0
  316. package/data/craftbook-templates/em/email-template/logo.webp +0 -0
  317. package/data/craftbook-templates/em/email-template/manifest.json +1 -0
  318. package/data/craftbook-templates/en/engineering-retrospective/art.json +12 -0
  319. package/data/craftbook-templates/en/engineering-retrospective/logo.webp +0 -0
  320. package/data/craftbook-templates/en/engineering-retrospective/manifest.json +1 -0
  321. package/data/craftbook-templates/ep/episode-plan/art.json +13 -0
  322. package/data/craftbook-templates/ep/episode-plan/logo.webp +0 -0
  323. package/data/craftbook-templates/ep/episode-plan/manifest.json +1 -0
  324. package/data/craftbook-templates/es/escalation-playbook/art.json +12 -0
  325. package/data/craftbook-templates/es/escalation-playbook/logo.webp +0 -0
  326. package/data/craftbook-templates/es/escalation-playbook/manifest.json +1 -0
  327. package/data/craftbook-templates/ev/evidence-brief/art.json +13 -0
  328. package/data/craftbook-templates/ev/evidence-brief/logo.webp +0 -0
  329. package/data/craftbook-templates/ev/evidence-brief/manifest.json +1 -0
  330. package/data/craftbook-templates/ex/executive-level-review/art.json +13 -0
  331. package/data/craftbook-templates/ex/executive-level-review/logo.webp +0 -0
  332. package/data/craftbook-templates/ex/executive-level-review/manifest.json +1 -0
  333. package/data/craftbook-templates/ex/expense-categorize/art.json +12 -0
  334. package/data/craftbook-templates/ex/expense-categorize/logo.webp +0 -0
  335. package/data/craftbook-templates/ex/expense-categorize/manifest.json +1 -0
  336. package/data/craftbook-templates/fa/fact-check/art.json +12 -0
  337. package/data/craftbook-templates/fa/fact-check/logo.webp +0 -0
  338. package/data/craftbook-templates/fa/fact-check/manifest.json +1 -0
  339. package/data/craftbook-templates/fa/family-story-chapter/art.json +13 -0
  340. package/data/craftbook-templates/fa/family-story-chapter/logo.webp +0 -0
  341. package/data/craftbook-templates/fa/family-story-chapter/manifest.json +1 -0
  342. package/data/craftbook-templates/fa/faq-from-docs/art.json +13 -0
  343. package/data/craftbook-templates/fa/faq-from-docs/logo.webp +0 -0
  344. package/data/craftbook-templates/fa/faq-from-docs/manifest.json +1 -0
  345. package/data/craftbook-templates/fa/favicon-set/art.json +13 -0
  346. package/data/craftbook-templates/fa/favicon-set/logo.webp +0 -0
  347. package/data/craftbook-templates/fa/favicon-set/manifest.json +1 -0
  348. package/data/craftbook-templates/fe/feature-flag-release/art.json +13 -0
  349. package/data/craftbook-templates/fe/feature-flag-release/logo.webp +0 -0
  350. package/data/craftbook-templates/fe/feature-flag-release/manifest.json +1 -0
  351. package/data/craftbook-templates/fe/feature-flag-rollout/art.json +13 -0
  352. package/data/craftbook-templates/fe/feature-flag-rollout/logo.webp +0 -0
  353. package/data/craftbook-templates/fe/feature-flag-rollout/manifest.json +1 -0
  354. package/data/craftbook-templates/fe/feedback-widget/art.json +13 -0
  355. package/data/craftbook-templates/fe/feedback-widget/logo.webp +0 -0
  356. package/data/craftbook-templates/fe/feedback-widget/manifest.json +1 -0
  357. package/data/craftbook-templates/fo/folder-to-audio/art.json +13 -0
  358. package/data/craftbook-templates/fo/folder-to-audio/logo.webp +0 -0
  359. package/data/craftbook-templates/fo/folder-to-audio/manifest.json +1 -0
  360. package/data/craftbook-templates/fo/forecast-model/art.json +13 -0
  361. package/data/craftbook-templates/fo/forecast-model/logo.webp +0 -0
  362. package/data/craftbook-templates/fo/forecast-model/manifest.json +1 -0
  363. package/data/craftbook-templates/fo/form-fill-batch/art.json +13 -0
  364. package/data/craftbook-templates/fo/form-fill-batch/logo.webp +0 -0
  365. package/data/craftbook-templates/fo/form-fill-batch/manifest.json +1 -0
  366. package/data/craftbook-templates/fo/form-wizard/art.json +13 -0
  367. package/data/craftbook-templates/fo/form-wizard/logo.webp +0 -0
  368. package/data/craftbook-templates/fo/form-wizard/manifest.json +1 -0
  369. package/data/craftbook-templates/fr/freeze-scope/art.json +13 -0
  370. package/data/craftbook-templates/fr/freeze-scope/logo.webp +0 -0
  371. package/data/craftbook-templates/fr/freeze-scope/manifest.json +1 -0
  372. package/data/craftbook-templates/fr/freeze-scope/versions/1.1.0/craftbook.json +48 -0
  373. package/data/craftbook-templates/fr/freeze-scope/versions/1.1.0/test.json +110 -0
  374. package/data/craftbook-templates/ga/game-with-screens/art.json +13 -0
  375. package/data/craftbook-templates/ga/game-with-screens/logo.webp +0 -0
  376. package/data/craftbook-templates/ga/game-with-screens/manifest.json +1 -0
  377. package/data/craftbook-templates/gl/glossary-build/art.json +13 -0
  378. package/data/craftbook-templates/gl/glossary-build/logo.webp +0 -0
  379. package/data/craftbook-templates/gl/glossary-build/manifest.json +1 -0
  380. package/data/craftbook-templates/gr/graphql-api/art.json +13 -0
  381. package/data/craftbook-templates/gr/graphql-api/logo.webp +0 -0
  382. package/data/craftbook-templates/gr/graphql-api/manifest.json +1 -0
  383. package/data/craftbook-templates/gr/grpc-service/art.json +13 -0
  384. package/data/craftbook-templates/gr/grpc-service/logo.webp +0 -0
  385. package/data/craftbook-templates/gr/grpc-service/manifest.json +1 -0
  386. package/data/craftbook-templates/ha/handbook-section/art.json +13 -0
  387. package/data/craftbook-templates/ha/handbook-section/logo.webp +0 -0
  388. package/data/craftbook-templates/ha/handbook-section/manifest.json +1 -0
  389. package/data/craftbook-templates/he/hero-image/art.json +13 -0
  390. package/data/craftbook-templates/he/hero-image/logo.webp +0 -0
  391. package/data/craftbook-templates/he/hero-image/manifest.json +1 -0
  392. package/data/craftbook-templates/ho/holiday-card-run/art.json +13 -0
  393. package/data/craftbook-templates/ho/holiday-card-run/logo.webp +0 -0
  394. package/data/craftbook-templates/ho/holiday-card-run/manifest.json +1 -0
  395. package/data/craftbook-templates/ho/hotfix-flow/art.json +13 -0
  396. package/data/craftbook-templates/ho/hotfix-flow/logo.webp +0 -0
  397. package/data/craftbook-templates/ho/hotfix-flow/manifest.json +1 -0
  398. package/data/craftbook-templates/ht/html-arcade-game/art.json +13 -0
  399. package/data/craftbook-templates/ht/html-arcade-game/logo.webp +0 -0
  400. package/data/craftbook-templates/ht/html-arcade-game/manifest.json +1 -0
  401. package/data/craftbook-templates/ht/html-puzzle-game/art.json +13 -0
  402. package/data/craftbook-templates/ht/html-puzzle-game/logo.webp +0 -0
  403. package/data/craftbook-templates/ht/html-puzzle-game/manifest.json +1 -0
  404. package/data/craftbook-templates/ic/icon-pack/art.json +13 -0
  405. package/data/craftbook-templates/ic/icon-pack/logo.webp +0 -0
  406. package/data/craftbook-templates/ic/icon-pack/manifest.json +1 -0
  407. package/data/craftbook-templates/id/idea-office-hours/art.json +12 -0
  408. package/data/craftbook-templates/id/idea-office-hours/logo.webp +0 -0
  409. package/data/craftbook-templates/id/idea-office-hours/manifest.json +1 -0
  410. package/data/craftbook-templates/id/idle-clicker-game/art.json +13 -0
  411. package/data/craftbook-templates/id/idle-clicker-game/logo.webp +0 -0
  412. package/data/craftbook-templates/id/idle-clicker-game/manifest.json +1 -0
  413. package/data/craftbook-templates/im/image-batch-edit/art.json +12 -0
  414. package/data/craftbook-templates/im/image-batch-edit/logo.webp +0 -0
  415. package/data/craftbook-templates/im/image-batch-edit/manifest.json +1 -0
  416. package/data/craftbook-templates/im/image-dedup-cluster/art.json +13 -0
  417. package/data/craftbook-templates/im/image-dedup-cluster/logo.webp +0 -0
  418. package/data/craftbook-templates/im/image-dedup-cluster/manifest.json +1 -0
  419. package/data/craftbook-templates/im/image-palette-extract/art.json +13 -0
  420. package/data/craftbook-templates/im/image-palette-extract/logo.webp +0 -0
  421. package/data/craftbook-templates/im/image-palette-extract/manifest.json +1 -0
  422. package/data/craftbook-templates/im/image-seo-rename/art.json +13 -0
  423. package/data/craftbook-templates/im/image-seo-rename/logo.webp +0 -0
  424. package/data/craftbook-templates/im/image-seo-rename/manifest.json +1 -0
  425. package/data/craftbook-templates/im/image-set-index/art.json +13 -0
  426. package/data/craftbook-templates/im/image-set-index/logo.webp +0 -0
  427. package/data/craftbook-templates/im/image-set-index/manifest.json +1 -0
  428. package/data/craftbook-templates/in/inbox-triage/art.json +13 -0
  429. package/data/craftbook-templates/in/inbox-triage/logo.webp +0 -0
  430. package/data/craftbook-templates/in/inbox-triage/manifest.json +1 -0
  431. package/data/craftbook-templates/in/incident-comms-templates/art.json +12 -0
  432. package/data/craftbook-templates/in/incident-comms-templates/logo.webp +0 -0
  433. package/data/craftbook-templates/in/incident-comms-templates/manifest.json +1 -0
  434. package/data/craftbook-templates/in/incident-postmortem/art.json +12 -0
  435. package/data/craftbook-templates/in/incident-postmortem/logo.webp +0 -0
  436. package/data/craftbook-templates/in/incident-postmortem/manifest.json +1 -0
  437. package/data/craftbook-templates/in/insurance-inventory/art.json +13 -0
  438. package/data/craftbook-templates/in/insurance-inventory/logo.webp +0 -0
  439. package/data/craftbook-templates/in/insurance-inventory/manifest.json +1 -0
  440. package/data/craftbook-templates/in/interactive-quiz/art.json +13 -0
  441. package/data/craftbook-templates/in/interactive-quiz/logo.webp +0 -0
  442. package/data/craftbook-templates/in/interactive-quiz/manifest.json +1 -0
  443. package/data/craftbook-templates/in/investigate/art.json +12 -0
  444. package/data/craftbook-templates/in/investigate/logo.webp +0 -0
  445. package/data/craftbook-templates/in/investigate/manifest.json +1 -0
  446. package/data/craftbook-templates/in/investigate/versions/1.1.0/craftbook.json +81 -0
  447. package/data/craftbook-templates/in/investigate/versions/1.1.0/test.json +122 -0
  448. package/data/craftbook-templates/in/investigate-root-cause/art.json +12 -0
  449. package/data/craftbook-templates/in/investigate-root-cause/logo.webp +0 -0
  450. package/data/craftbook-templates/in/investigate-root-cause/manifest.json +1 -0
  451. package/data/craftbook-templates/in/invitation-design/art.json +13 -0
  452. package/data/craftbook-templates/in/invitation-design/logo.webp +0 -0
  453. package/data/craftbook-templates/in/invitation-design/manifest.json +1 -0
  454. package/data/craftbook-templates/in/invoice-generator/art.json +13 -0
  455. package/data/craftbook-templates/in/invoice-generator/logo.webp +0 -0
  456. package/data/craftbook-templates/in/invoice-generator/manifest.json +1 -0
  457. package/data/craftbook-templates/in/invoice-run/art.json +13 -0
  458. package/data/craftbook-templates/in/invoice-run/logo.webp +0 -0
  459. package/data/craftbook-templates/in/invoice-run/manifest.json +1 -0
  460. package/data/craftbook-templates/in/invoice-run/versions/1.1.0/craftbook.json +168 -0
  461. package/data/craftbook-templates/in/invoice-run/versions/1.1.0/test.json +140 -0
  462. package/data/craftbook-templates/index.json +1 -1
  463. package/data/craftbook-templates/it/item-intake/art.json +13 -0
  464. package/data/craftbook-templates/it/item-intake/logo.webp +0 -0
  465. package/data/craftbook-templates/it/item-intake/manifest.json +1 -0
  466. package/data/craftbook-templates/ju/juice-pass/art.json +13 -0
  467. package/data/craftbook-templates/ju/juice-pass/logo.webp +0 -0
  468. package/data/craftbook-templates/ju/juice-pass/manifest.json +1 -0
  469. package/data/craftbook-templates/kn/knowledge-base-article/art.json +13 -0
  470. package/data/craftbook-templates/kn/knowledge-base-article/logo.webp +0 -0
  471. package/data/craftbook-templates/kn/knowledge-base-article/manifest.json +1 -0
  472. package/data/craftbook-templates/kp/kpi-scorecard/art.json +13 -0
  473. package/data/craftbook-templates/kp/kpi-scorecard/logo.webp +0 -0
  474. package/data/craftbook-templates/kp/kpi-scorecard/manifest.json +1 -0
  475. package/data/craftbook-templates/la/landing-copy/art.json +13 -0
  476. package/data/craftbook-templates/la/landing-copy/logo.webp +0 -0
  477. package/data/craftbook-templates/la/landing-copy/manifest.json +1 -0
  478. package/data/craftbook-templates/la/landing-page/art.json +13 -0
  479. package/data/craftbook-templates/la/landing-page/logo.webp +0 -0
  480. package/data/craftbook-templates/la/landing-page/manifest.json +1 -0
  481. package/data/craftbook-templates/le/lead-enrichment/art.json +12 -0
  482. package/data/craftbook-templates/le/lead-enrichment/logo.webp +0 -0
  483. package/data/craftbook-templates/le/lead-enrichment/manifest.json +1 -0
  484. package/data/craftbook-templates/li/library-package/art.json +13 -0
  485. package/data/craftbook-templates/li/library-package/logo.webp +0 -0
  486. package/data/craftbook-templates/li/library-package/manifest.json +1 -0
  487. package/data/craftbook-templates/li/literature-review/art.json +13 -0
  488. package/data/craftbook-templates/li/literature-review/logo.webp +0 -0
  489. package/data/craftbook-templates/li/literature-review/manifest.json +1 -0
  490. package/data/craftbook-templates/li/live-browser-qa/art.json +12 -0
  491. package/data/craftbook-templates/li/live-browser-qa/logo.webp +0 -0
  492. package/data/craftbook-templates/li/live-browser-qa/manifest.json +1 -0
  493. package/data/craftbook-templates/lo/localize-content/art.json +12 -0
  494. package/data/craftbook-templates/lo/localize-content/logo.webp +0 -0
  495. package/data/craftbook-templates/lo/localize-content/manifest.json +1 -0
  496. package/data/craftbook-templates/lo/logo-set/art.json +13 -0
  497. package/data/craftbook-templates/lo/logo-set/logo.webp +0 -0
  498. package/data/craftbook-templates/lo/logo-set/manifest.json +1 -0
  499. package/data/craftbook-templates/ma/market-scan/art.json +13 -0
  500. package/data/craftbook-templates/ma/market-scan/logo.webp +0 -0
  501. package/data/craftbook-templates/ma/market-scan/manifest.json +1 -0
  502. package/data/craftbook-templates/me/meeting-minutes/art.json +13 -0
  503. package/data/craftbook-templates/me/meeting-minutes/logo.webp +0 -0
  504. package/data/craftbook-templates/me/meeting-minutes/manifest.json +1 -0
  505. package/data/craftbook-templates/me/meeting-notes-to-actions/art.json +13 -0
  506. package/data/craftbook-templates/me/meeting-notes-to-actions/logo.webp +0 -0
  507. package/data/craftbook-templates/me/meeting-notes-to-actions/manifest.json +1 -0
  508. package/data/craftbook-templates/me/meeting-prep-brief/art.json +13 -0
  509. package/data/craftbook-templates/me/meeting-prep-brief/logo.webp +0 -0
  510. package/data/craftbook-templates/me/meeting-prep-brief/manifest.json +1 -0
  511. package/data/craftbook-templates/me/meeting-summary-audio/art.json +13 -0
  512. package/data/craftbook-templates/me/meeting-summary-audio/logo.webp +0 -0
  513. package/data/craftbook-templates/me/meeting-summary-audio/manifest.json +1 -0
  514. package/data/craftbook-templates/me/memory-prompt-session/art.json +13 -0
  515. package/data/craftbook-templates/me/memory-prompt-session/logo.webp +0 -0
  516. package/data/craftbook-templates/me/memory-prompt-session/manifest.json +1 -0
  517. package/data/craftbook-templates/me/message-queue-consumer/art.json +13 -0
  518. package/data/craftbook-templates/me/message-queue-consumer/logo.webp +0 -0
  519. package/data/craftbook-templates/me/message-queue-consumer/manifest.json +1 -0
  520. package/data/craftbook-templates/mi/micro-game-jam/art.json +13 -0
  521. package/data/craftbook-templates/mi/micro-game-jam/logo.webp +0 -0
  522. package/data/craftbook-templates/mi/micro-game-jam/manifest.json +1 -0
  523. package/data/craftbook-templates/mo/mock-interview/art.json +13 -0
  524. package/data/craftbook-templates/mo/mock-interview/logo.webp +0 -0
  525. package/data/craftbook-templates/mo/mock-interview/manifest.json +1 -0
  526. package/data/craftbook-templates/mo/mod-scaffold/art.json +13 -0
  527. package/data/craftbook-templates/mo/mod-scaffold/logo.webp +0 -0
  528. package/data/craftbook-templates/mo/mod-scaffold/manifest.json +1 -0
  529. package/data/craftbook-templates/mo/monitor-and-alert/art.json +13 -0
  530. package/data/craftbook-templates/mo/monitor-and-alert/logo.webp +0 -0
  531. package/data/craftbook-templates/mo/monitor-and-alert/manifest.json +1 -0
  532. package/data/craftbook-templates/mo/month-close/art.json +13 -0
  533. package/data/craftbook-templates/mo/month-close/logo.webp +0 -0
  534. package/data/craftbook-templates/mo/month-close/manifest.json +1 -0
  535. package/data/craftbook-templates/mo/monthly-recording-review/art.json +12 -0
  536. package/data/craftbook-templates/mo/monthly-recording-review/logo.webp +0 -0
  537. package/data/craftbook-templates/mo/monthly-recording-review/manifest.json +1 -0
  538. package/data/craftbook-templates/mo/moodboard/art.json +13 -0
  539. package/data/craftbook-templates/mo/moodboard/logo.webp +0 -0
  540. package/data/craftbook-templates/mo/moodboard/manifest.json +1 -0
  541. package/data/craftbook-templates/mo/morning-brief/art.json +13 -0
  542. package/data/craftbook-templates/mo/morning-brief/logo.webp +0 -0
  543. package/data/craftbook-templates/mo/morning-brief/manifest.json +1 -0
  544. package/data/craftbook-templates/mo/morning-report/art.json +13 -0
  545. package/data/craftbook-templates/mo/morning-report/logo.webp +0 -0
  546. package/data/craftbook-templates/mo/morning-report/manifest.json +1 -0
  547. package/data/craftbook-templates/mu/music-metadata-tag/art.json +13 -0
  548. package/data/craftbook-templates/mu/music-metadata-tag/logo.webp +0 -0
  549. package/data/craftbook-templates/mu/music-metadata-tag/manifest.json +1 -0
  550. package/data/craftbook-templates/na/narrated-slideshow/art.json +13 -0
  551. package/data/craftbook-templates/na/narrated-slideshow/logo.webp +0 -0
  552. package/data/craftbook-templates/na/narrated-slideshow/manifest.json +1 -0
  553. package/data/craftbook-templates/ne/newsletter-issue/art.json +13 -0
  554. package/data/craftbook-templates/ne/newsletter-issue/logo.webp +0 -0
  555. package/data/craftbook-templates/ne/newsletter-issue/manifest.json +1 -0
  556. package/data/craftbook-templates/no/notification-router/art.json +13 -0
  557. package/data/craftbook-templates/no/notification-router/logo.webp +0 -0
  558. package/data/craftbook-templates/no/notification-router/manifest.json +1 -0
  559. package/data/craftbook-templates/oc/ocr-extract/art.json +13 -0
  560. package/data/craftbook-templates/oc/ocr-extract/logo.webp +0 -0
  561. package/data/craftbook-templates/oc/ocr-extract/manifest.json +1 -0
  562. package/data/craftbook-templates/of/offer-compare/art.json +13 -0
  563. package/data/craftbook-templates/of/offer-compare/logo.webp +0 -0
  564. package/data/craftbook-templates/of/offer-compare/manifest.json +1 -0
  565. package/data/craftbook-templates/of/office-hours/art.json +12 -0
  566. package/data/craftbook-templates/of/office-hours/logo.webp +0 -0
  567. package/data/craftbook-templates/of/office-hours/manifest.json +1 -0
  568. package/data/craftbook-templates/of/office-hours/versions/1.1.0/craftbook.json +48 -0
  569. package/data/craftbook-templates/of/office-hours/versions/1.1.0/test.json +118 -0
  570. package/data/craftbook-templates/on/onboarding-checklist/art.json +13 -0
  571. package/data/craftbook-templates/on/onboarding-checklist/logo.webp +0 -0
  572. package/data/craftbook-templates/on/onboarding-checklist/manifest.json +1 -0
  573. package/data/craftbook-templates/on/onboarding-flow/art.json +13 -0
  574. package/data/craftbook-templates/on/onboarding-flow/logo.webp +0 -0
  575. package/data/craftbook-templates/on/onboarding-flow/manifest.json +1 -0
  576. package/data/craftbook-templates/on/oncall-handoff/art.json +12 -0
  577. package/data/craftbook-templates/on/oncall-handoff/logo.webp +0 -0
  578. package/data/craftbook-templates/on/oncall-handoff/manifest.json +1 -0
  579. package/data/craftbook-templates/on/one-pager/art.json +13 -0
  580. package/data/craftbook-templates/on/one-pager/logo.webp +0 -0
  581. package/data/craftbook-templates/on/one-pager/manifest.json +1 -0
  582. package/data/craftbook-templates/op/ops-runbook/art.json +13 -0
  583. package/data/craftbook-templates/op/ops-runbook/logo.webp +0 -0
  584. package/data/craftbook-templates/op/ops-runbook/manifest.json +1 -0
  585. package/data/craftbook-templates/pa/page-spread/art.json +13 -0
  586. package/data/craftbook-templates/pa/page-spread/logo.webp +0 -0
  587. package/data/craftbook-templates/pa/page-spread/manifest.json +1 -0
  588. package/data/craftbook-templates/pa/parser-grammar/art.json +13 -0
  589. package/data/craftbook-templates/pa/parser-grammar/logo.webp +0 -0
  590. package/data/craftbook-templates/pa/parser-grammar/manifest.json +1 -0
  591. package/data/craftbook-templates/pe/perf-audit/art.json +12 -0
  592. package/data/craftbook-templates/pe/perf-audit/logo.webp +0 -0
  593. package/data/craftbook-templates/pe/perf-audit/manifest.json +1 -0
  594. package/data/craftbook-templates/pe/perf-optimization/art.json +12 -0
  595. package/data/craftbook-templates/pe/perf-optimization/logo.webp +0 -0
  596. package/data/craftbook-templates/pe/perf-optimization/manifest.json +1 -0
  597. package/data/craftbook-templates/pe/pest-diagnosis/art.json +13 -0
  598. package/data/craftbook-templates/pe/pest-diagnosis/logo.webp +0 -0
  599. package/data/craftbook-templates/pe/pest-diagnosis/manifest.json +1 -0
  600. package/data/craftbook-templates/ph/photo-cull/art.json +13 -0
  601. package/data/craftbook-templates/ph/photo-cull/logo.webp +0 -0
  602. package/data/craftbook-templates/ph/photo-cull/manifest.json +1 -0
  603. package/data/craftbook-templates/ph/physics-toy/art.json +13 -0
  604. package/data/craftbook-templates/ph/physics-toy/logo.webp +0 -0
  605. package/data/craftbook-templates/ph/physics-toy/manifest.json +1 -0
  606. package/data/craftbook-templates/pi/pitch-deck/art.json +13 -0
  607. package/data/craftbook-templates/pi/pitch-deck/logo.webp +0 -0
  608. package/data/craftbook-templates/pi/pitch-deck/manifest.json +1 -0
  609. package/data/craftbook-templates/pl/plan/art.json +12 -0
  610. package/data/craftbook-templates/pl/plan/logo.webp +0 -0
  611. package/data/craftbook-templates/pl/plan/manifest.json +1 -0
  612. package/data/craftbook-templates/pl/playtest-report/art.json +12 -0
  613. package/data/craftbook-templates/pl/playtest-report/logo.webp +0 -0
  614. package/data/craftbook-templates/pl/playtest-report/manifest.json +1 -0
  615. package/data/craftbook-templates/po/podcast-chaptering/art.json +13 -0
  616. package/data/craftbook-templates/po/podcast-chaptering/logo.webp +0 -0
  617. package/data/craftbook-templates/po/podcast-chaptering/manifest.json +1 -0
  618. package/data/craftbook-templates/po/portfolio-site/art.json +13 -0
  619. package/data/craftbook-templates/po/portfolio-site/logo.webp +0 -0
  620. package/data/craftbook-templates/po/portfolio-site/manifest.json +1 -0
  621. package/data/craftbook-templates/po/powerpoint-deck/art.json +13 -0
  622. package/data/craftbook-templates/po/powerpoint-deck/logo.webp +0 -0
  623. package/data/craftbook-templates/po/powerpoint-deck/manifest.json +1 -0
  624. package/data/craftbook-templates/po/powerpoint-deck/versions/1.1.0/craftbook.json +128 -0
  625. package/data/craftbook-templates/po/powerpoint-deck/versions/1.1.0/test.json +97 -0
  626. package/data/craftbook-templates/pr/pr-security-review/art.json +12 -0
  627. package/data/craftbook-templates/pr/pr-security-review/logo.webp +0 -0
  628. package/data/craftbook-templates/pr/pr-security-review/manifest.json +1 -0
  629. package/data/craftbook-templates/pr/practice-exam/art.json +12 -0
  630. package/data/craftbook-templates/pr/practice-exam/logo.webp +0 -0
  631. package/data/craftbook-templates/pr/practice-exam/manifest.json +1 -0
  632. package/data/craftbook-templates/pr/practice-session/art.json +13 -0
  633. package/data/craftbook-templates/pr/practice-session/logo.webp +0 -0
  634. package/data/craftbook-templates/pr/practice-session/manifest.json +1 -0
  635. package/data/craftbook-templates/pr/pre-departure-countdown/art.json +13 -0
  636. package/data/craftbook-templates/pr/pre-departure-countdown/logo.webp +0 -0
  637. package/data/craftbook-templates/pr/pre-departure-countdown/manifest.json +1 -0
  638. package/data/craftbook-templates/pr/press-release/art.json +13 -0
  639. package/data/craftbook-templates/pr/press-release/logo.webp +0 -0
  640. package/data/craftbook-templates/pr/press-release/manifest.json +1 -0
  641. package/data/craftbook-templates/pr/price-tracker/art.json +13 -0
  642. package/data/craftbook-templates/pr/price-tracker/logo.webp +0 -0
  643. package/data/craftbook-templates/pr/price-tracker/manifest.json +1 -0
  644. package/data/craftbook-templates/pr/pricing-page/art.json +13 -0
  645. package/data/craftbook-templates/pr/pricing-page/logo.webp +0 -0
  646. package/data/craftbook-templates/pr/pricing-page/manifest.json +1 -0
  647. package/data/craftbook-templates/pr/product-descriptions/art.json +13 -0
  648. package/data/craftbook-templates/pr/product-descriptions/logo.webp +0 -0
  649. package/data/craftbook-templates/pr/product-descriptions/manifest.json +1 -0
  650. package/data/craftbook-templates/pr/proposal-sow/art.json +13 -0
  651. package/data/craftbook-templates/pr/proposal-sow/logo.webp +0 -0
  652. package/data/craftbook-templates/pr/proposal-sow/manifest.json +1 -0
  653. package/data/craftbook-templates/pu/pull-request-review/art.json +12 -0
  654. package/data/craftbook-templates/pu/pull-request-review/logo.webp +0 -0
  655. package/data/craftbook-templates/pu/pull-request-review/manifest.json +1 -0
  656. package/data/craftbook-templates/pu/pull-request-review/versions/1.1.0/craftbook.json +118 -0
  657. package/data/craftbook-templates/pu/pull-request-review/versions/1.1.0/test.json +160 -0
  658. package/data/craftbook-templates/pu/puzzle-pack-layout/art.json +13 -0
  659. package/data/craftbook-templates/pu/puzzle-pack-layout/logo.webp +0 -0
  660. package/data/craftbook-templates/pu/puzzle-pack-layout/manifest.json +1 -0
  661. package/data/craftbook-templates/pw/pwa-offline/art.json +13 -0
  662. package/data/craftbook-templates/pw/pwa-offline/logo.webp +0 -0
  663. package/data/craftbook-templates/pw/pwa-offline/manifest.json +1 -0
  664. package/data/craftbook-templates/qa/qa/art.json +12 -0
  665. package/data/craftbook-templates/qa/qa/logo.webp +0 -0
  666. package/data/craftbook-templates/qa/qa/manifest.json +1 -0
  667. package/data/craftbook-templates/qu/quarterly-summary/art.json +13 -0
  668. package/data/craftbook-templates/qu/quarterly-summary/logo.webp +0 -0
  669. package/data/craftbook-templates/qu/quarterly-summary/manifest.json +1 -0
  670. package/data/craftbook-templates/re/reading-list/art.json +13 -0
  671. package/data/craftbook-templates/re/reading-list/logo.webp +0 -0
  672. package/data/craftbook-templates/re/reading-list/manifest.json +1 -0
  673. package/data/craftbook-templates/re/receipt-intake/art.json +13 -0
  674. package/data/craftbook-templates/re/receipt-intake/logo.webp +0 -0
  675. package/data/craftbook-templates/re/receipt-intake/manifest.json +1 -0
  676. package/data/craftbook-templates/re/receipt-ocr-ledger/art.json +13 -0
  677. package/data/craftbook-templates/re/receipt-ocr-ledger/logo.webp +0 -0
  678. package/data/craftbook-templates/re/receipt-ocr-ledger/manifest.json +1 -0
  679. package/data/craftbook-templates/re/recipe-capture/art.json +12 -0
  680. package/data/craftbook-templates/re/recipe-capture/logo.webp +0 -0
  681. package/data/craftbook-templates/re/recipe-capture/manifest.json +1 -0
  682. package/data/craftbook-templates/re/record-a-relative/art.json +13 -0
  683. package/data/craftbook-templates/re/record-a-relative/logo.webp +0 -0
  684. package/data/craftbook-templates/re/record-a-relative/manifest.json +1 -0
  685. package/data/craftbook-templates/re/recurring-invoice-run/art.json +13 -0
  686. package/data/craftbook-templates/re/recurring-invoice-run/logo.webp +0 -0
  687. package/data/craftbook-templates/re/recurring-invoice-run/manifest.json +1 -0
  688. package/data/craftbook-templates/re/refactor-module/art.json +12 -0
  689. package/data/craftbook-templates/re/refactor-module/logo.webp +0 -0
  690. package/data/craftbook-templates/re/refactor-module/manifest.json +1 -0
  691. package/data/craftbook-templates/re/regex-builder/art.json +12 -0
  692. package/data/craftbook-templates/re/regex-builder/logo.webp +0 -0
  693. package/data/craftbook-templates/re/regex-builder/manifest.json +1 -0
  694. package/data/craftbook-templates/re/release-announcement/art.json +13 -0
  695. package/data/craftbook-templates/re/release-announcement/logo.webp +0 -0
  696. package/data/craftbook-templates/re/release-announcement/manifest.json +1 -0
  697. package/data/craftbook-templates/re/release-notes/art.json +13 -0
  698. package/data/craftbook-templates/re/release-notes/logo.webp +0 -0
  699. package/data/craftbook-templates/re/release-notes/manifest.json +1 -0
  700. package/data/craftbook-templates/re/release-pipeline-ci/art.json +13 -0
  701. package/data/craftbook-templates/re/release-pipeline-ci/logo.webp +0 -0
  702. package/data/craftbook-templates/re/release-pipeline-ci/manifest.json +1 -0
  703. package/data/craftbook-templates/re/release-readiness-review/art.json +13 -0
  704. package/data/craftbook-templates/re/release-readiness-review/logo.webp +0 -0
  705. package/data/craftbook-templates/re/release-readiness-review/manifest.json +1 -0
  706. package/data/craftbook-templates/re/reliability-review/art.json +12 -0
  707. package/data/craftbook-templates/re/reliability-review/logo.webp +0 -0
  708. package/data/craftbook-templates/re/reliability-review/manifest.json +1 -0
  709. package/data/craftbook-templates/re/report-pdf/art.json +13 -0
  710. package/data/craftbook-templates/re/report-pdf/logo.webp +0 -0
  711. package/data/craftbook-templates/re/report-pdf/manifest.json +1 -0
  712. package/data/craftbook-templates/re/research-report/art.json +13 -0
  713. package/data/craftbook-templates/re/research-report/logo.webp +0 -0
  714. package/data/craftbook-templates/re/research-report/manifest.json +1 -0
  715. package/data/craftbook-templates/re/research-to-document/art.json +13 -0
  716. package/data/craftbook-templates/re/research-to-document/logo.webp +0 -0
  717. package/data/craftbook-templates/re/research-to-document/manifest.json +1 -0
  718. package/data/craftbook-templates/re/research-to-document/versions/1.1.0/craftbook.json +158 -0
  719. package/data/craftbook-templates/re/research-to-document/versions/1.1.0/test.json +97 -0
  720. package/data/craftbook-templates/re/rest-api/art.json +13 -0
  721. package/data/craftbook-templates/re/rest-api/logo.webp +0 -0
  722. package/data/craftbook-templates/re/rest-api/manifest.json +1 -0
  723. package/data/craftbook-templates/re/resume-cv/art.json +13 -0
  724. package/data/craftbook-templates/re/resume-cv/logo.webp +0 -0
  725. package/data/craftbook-templates/re/resume-cv/manifest.json +1 -0
  726. package/data/craftbook-templates/re/reviewer-loop/art.json +12 -0
  727. package/data/craftbook-templates/re/reviewer-loop/logo.webp +0 -0
  728. package/data/craftbook-templates/re/reviewer-loop/manifest.json +1 -0
  729. package/data/craftbook-templates/ro/rollback-plan/art.json +13 -0
  730. package/data/craftbook-templates/ro/rollback-plan/logo.webp +0 -0
  731. package/data/craftbook-templates/ro/rollback-plan/manifest.json +1 -0
  732. package/data/craftbook-templates/ro/root-cause-investigation/art.json +12 -0
  733. package/data/craftbook-templates/ro/root-cause-investigation/logo.webp +0 -0
  734. package/data/craftbook-templates/ro/root-cause-investigation/manifest.json +1 -0
  735. package/data/craftbook-templates/ro/rough-cut-assembly/art.json +13 -0
  736. package/data/craftbook-templates/ro/rough-cut-assembly/logo.webp +0 -0
  737. package/data/craftbook-templates/ro/rough-cut-assembly/manifest.json +1 -0
  738. package/data/craftbook-templates/ru/runbook/art.json +12 -0
  739. package/data/craftbook-templates/ru/runbook/logo.webp +0 -0
  740. package/data/craftbook-templates/ru/runbook/manifest.json +1 -0
  741. package/data/craftbook-templates/sc/schema-migration/art.json +13 -0
  742. package/data/craftbook-templates/sc/schema-migration/logo.webp +0 -0
  743. package/data/craftbook-templates/sc/schema-migration/manifest.json +1 -0
  744. package/data/craftbook-templates/sc/scrape-to-structured/art.json +13 -0
  745. package/data/craftbook-templates/sc/scrape-to-structured/logo.webp +0 -0
  746. package/data/craftbook-templates/sc/scrape-to-structured/manifest.json +1 -0
  747. package/data/craftbook-templates/sc/script-automation/art.json +12 -0
  748. package/data/craftbook-templates/sc/script-automation/logo.webp +0 -0
  749. package/data/craftbook-templates/sc/script-automation/manifest.json +1 -0
  750. package/data/craftbook-templates/sd/sdk-wrapper/art.json +13 -0
  751. package/data/craftbook-templates/sd/sdk-wrapper/logo.webp +0 -0
  752. package/data/craftbook-templates/sd/sdk-wrapper/manifest.json +1 -0
  753. package/data/craftbook-templates/se/seasonal-maintenance-sweep/art.json +13 -0
  754. package/data/craftbook-templates/se/seasonal-maintenance-sweep/logo.webp +0 -0
  755. package/data/craftbook-templates/se/seasonal-maintenance-sweep/manifest.json +1 -0
  756. package/data/craftbook-templates/se/security-architecture-review/art.json +12 -0
  757. package/data/craftbook-templates/se/security-architecture-review/logo.webp +0 -0
  758. package/data/craftbook-templates/se/security-architecture-review/manifest.json +1 -0
  759. package/data/craftbook-templates/se/security-architecture-review/versions/1.1.0/craftbook.json +28 -0
  760. package/data/craftbook-templates/se/security-architecture-review/versions/1.1.0/test.json +110 -0
  761. package/data/craftbook-templates/se/seo-meta-pack/art.json +13 -0
  762. package/data/craftbook-templates/se/seo-meta-pack/logo.webp +0 -0
  763. package/data/craftbook-templates/se/seo-meta-pack/manifest.json +1 -0
  764. package/data/craftbook-templates/sh/ship/art.json +12 -0
  765. package/data/craftbook-templates/sh/ship/logo.webp +0 -0
  766. package/data/craftbook-templates/sh/ship/manifest.json +1 -0
  767. package/data/craftbook-templates/sh/ship/versions/1.1.0/craftbook.json +137 -0
  768. package/data/craftbook-templates/sh/ship/versions/1.1.0/test.json +225 -0
  769. package/data/craftbook-templates/so/social-thread/art.json +13 -0
  770. package/data/craftbook-templates/so/social-thread/logo.webp +0 -0
  771. package/data/craftbook-templates/so/social-thread/manifest.json +1 -0
  772. package/data/craftbook-templates/so/source-quality-audit/art.json +12 -0
  773. package/data/craftbook-templates/so/source-quality-audit/logo.webp +0 -0
  774. package/data/craftbook-templates/so/source-quality-audit/manifest.json +1 -0
  775. package/data/craftbook-templates/sp/spa-dashboard/art.json +13 -0
  776. package/data/craftbook-templates/sp/spa-dashboard/logo.webp +0 -0
  777. package/data/craftbook-templates/sp/spa-dashboard/manifest.json +1 -0
  778. package/data/craftbook-templates/sp/spec-authoring/art.json +13 -0
  779. package/data/craftbook-templates/sp/spec-authoring/logo.webp +0 -0
  780. package/data/craftbook-templates/sp/spec-authoring/manifest.json +1 -0
  781. package/data/craftbook-templates/sp/spec-doc/art.json +13 -0
  782. package/data/craftbook-templates/sp/spec-doc/logo.webp +0 -0
  783. package/data/craftbook-templates/sp/spec-doc/manifest.json +1 -0
  784. package/data/craftbook-templates/sp/spreadsheet-model/art.json +13 -0
  785. package/data/craftbook-templates/sp/spreadsheet-model/logo.webp +0 -0
  786. package/data/craftbook-templates/sp/spreadsheet-model/manifest.json +1 -0
  787. package/data/craftbook-templates/sp/sprite-sheet/art.json +13 -0
  788. package/data/craftbook-templates/sp/sprite-sheet/logo.webp +0 -0
  789. package/data/craftbook-templates/sp/sprite-sheet/manifest.json +1 -0
  790. package/data/craftbook-templates/sq/sql-analysis/art.json +13 -0
  791. package/data/craftbook-templates/sq/sql-analysis/logo.webp +0 -0
  792. package/data/craftbook-templates/sq/sql-analysis/manifest.json +1 -0
  793. package/data/craftbook-templates/st/standup-summary/art.json +13 -0
  794. package/data/craftbook-templates/st/standup-summary/logo.webp +0 -0
  795. package/data/craftbook-templates/st/standup-summary/manifest.json +1 -0
  796. package/data/craftbook-templates/st/state-machine/art.json +12 -0
  797. package/data/craftbook-templates/st/state-machine/logo.webp +0 -0
  798. package/data/craftbook-templates/st/state-machine/manifest.json +1 -0
  799. package/data/craftbook-templates/st/status-report/art.json +13 -0
  800. package/data/craftbook-templates/st/status-report/logo.webp +0 -0
  801. package/data/craftbook-templates/st/status-report/manifest.json +1 -0
  802. package/data/craftbook-templates/su/subscription-audit/art.json +12 -0
  803. package/data/craftbook-templates/su/subscription-audit/logo.webp +0 -0
  804. package/data/craftbook-templates/su/subscription-audit/manifest.json +1 -0
  805. package/data/craftbook-templates/su/subtitle-generator/art.json +13 -0
  806. package/data/craftbook-templates/su/subtitle-generator/logo.webp +0 -0
  807. package/data/craftbook-templates/su/subtitle-generator/manifest.json +1 -0
  808. package/data/craftbook-templates/su/summarize-long/art.json +13 -0
  809. package/data/craftbook-templates/su/summarize-long/logo.webp +0 -0
  810. package/data/craftbook-templates/su/summarize-long/manifest.json +1 -0
  811. package/data/craftbook-templates/su/survey-analysis/art.json +13 -0
  812. package/data/craftbook-templates/su/survey-analysis/logo.webp +0 -0
  813. package/data/craftbook-templates/su/survey-analysis/manifest.json +1 -0
  814. package/data/craftbook-templates/sv/svg-animation/art.json +13 -0
  815. package/data/craftbook-templates/sv/svg-animation/logo.webp +0 -0
  816. package/data/craftbook-templates/sv/svg-animation/manifest.json +1 -0
  817. package/data/craftbook-templates/ta/tailor-resume/art.json +13 -0
  818. package/data/craftbook-templates/ta/tailor-resume/logo.webp +0 -0
  819. package/data/craftbook-templates/ta/tailor-resume/manifest.json +1 -0
  820. package/data/craftbook-templates/te/technical-documentation/art.json +13 -0
  821. package/data/craftbook-templates/te/technical-documentation/logo.webp +0 -0
  822. package/data/craftbook-templates/te/technical-documentation/manifest.json +1 -0
  823. package/data/craftbook-templates/te/test-coverage-review/art.json +12 -0
  824. package/data/craftbook-templates/te/test-coverage-review/logo.webp +0 -0
  825. package/data/craftbook-templates/te/test-coverage-review/manifest.json +1 -0
  826. package/data/craftbook-templates/te/test-suite-backfill/art.json +12 -0
  827. package/data/craftbook-templates/te/test-suite-backfill/logo.webp +0 -0
  828. package/data/craftbook-templates/te/test-suite-backfill/manifest.json +1 -0
  829. package/data/craftbook-templates/th/thank-you-batch/art.json +13 -0
  830. package/data/craftbook-templates/th/thank-you-batch/logo.webp +0 -0
  831. package/data/craftbook-templates/th/thank-you-batch/manifest.json +1 -0
  832. package/data/craftbook-templates/th/thank-you-sweep/art.json +13 -0
  833. package/data/craftbook-templates/th/thank-you-sweep/logo.webp +0 -0
  834. package/data/craftbook-templates/th/thank-you-sweep/manifest.json +1 -0
  835. package/data/craftbook-templates/th/threat-model/art.json +13 -0
  836. package/data/craftbook-templates/th/threat-model/logo.webp +0 -0
  837. package/data/craftbook-templates/th/threat-model/manifest.json +1 -0
  838. package/data/craftbook-templates/th/thumbnail-generator/art.json +13 -0
  839. package/data/craftbook-templates/th/thumbnail-generator/logo.webp +0 -0
  840. package/data/craftbook-templates/th/thumbnail-generator/manifest.json +1 -0
  841. package/data/craftbook-templates/ti/tileset-batch/art.json +13 -0
  842. package/data/craftbook-templates/ti/tileset-batch/logo.webp +0 -0
  843. package/data/craftbook-templates/ti/tileset-batch/manifest.json +1 -0
  844. package/data/craftbook-templates/to/tone-rewrite/art.json +13 -0
  845. package/data/craftbook-templates/to/tone-rewrite/logo.webp +0 -0
  846. package/data/craftbook-templates/to/tone-rewrite/manifest.json +1 -0
  847. package/data/craftbook-templates/to/topic-explainer/art.json +13 -0
  848. package/data/craftbook-templates/to/topic-explainer/logo.webp +0 -0
  849. package/data/craftbook-templates/to/topic-explainer/manifest.json +1 -0
  850. package/data/craftbook-templates/tr/transcribe-and-shownotes/art.json +13 -0
  851. package/data/craftbook-templates/tr/transcribe-and-shownotes/logo.webp +0 -0
  852. package/data/craftbook-templates/tr/transcribe-and-shownotes/manifest.json +1 -0
  853. package/data/craftbook-templates/tr/transcribe-audio/art.json +13 -0
  854. package/data/craftbook-templates/tr/transcribe-audio/logo.webp +0 -0
  855. package/data/craftbook-templates/tr/transcribe-audio/manifest.json +1 -0
  856. package/data/craftbook-templates/tr/transcribe-index/art.json +13 -0
  857. package/data/craftbook-templates/tr/transcribe-index/logo.webp +0 -0
  858. package/data/craftbook-templates/tr/transcribe-index/manifest.json +1 -0
  859. package/data/craftbook-templates/ty/type-safety-pass/art.json +12 -0
  860. package/data/craftbook-templates/ty/type-safety-pass/logo.webp +0 -0
  861. package/data/craftbook-templates/ty/type-safety-pass/manifest.json +1 -0
  862. package/data/craftbook-templates/ve/version-bump/art.json +13 -0
  863. package/data/craftbook-templates/ve/version-bump/logo.webp +0 -0
  864. package/data/craftbook-templates/ve/version-bump/manifest.json +1 -0
  865. package/data/craftbook-templates/vi/video-storyboard/art.json +13 -0
  866. package/data/craftbook-templates/vi/video-storyboard/logo.webp +0 -0
  867. package/data/craftbook-templates/vi/video-storyboard/manifest.json +1 -0
  868. package/data/craftbook-templates/vi/visit-prep/art.json +13 -0
  869. package/data/craftbook-templates/vi/visit-prep/logo.webp +0 -0
  870. package/data/craftbook-templates/vi/visit-prep/manifest.json +1 -0
  871. package/data/craftbook-templates/vo/voiceover-script/art.json +13 -0
  872. package/data/craftbook-templates/vo/voiceover-script/logo.webp +0 -0
  873. package/data/craftbook-templates/vo/voiceover-script/manifest.json +1 -0
  874. package/data/craftbook-templates/we/weak-spot-drill/art.json +13 -0
  875. package/data/craftbook-templates/we/weak-spot-drill/logo.webp +0 -0
  876. package/data/craftbook-templates/we/weak-spot-drill/manifest.json +1 -0
  877. package/data/craftbook-templates/we/web-app-crud/art.json +13 -0
  878. package/data/craftbook-templates/we/web-app-crud/logo.webp +0 -0
  879. package/data/craftbook-templates/we/web-app-crud/manifest.json +1 -0
  880. package/data/craftbook-templates/we/web-component/art.json +13 -0
  881. package/data/craftbook-templates/we/web-component/logo.webp +0 -0
  882. package/data/craftbook-templates/we/web-component/manifest.json +1 -0
  883. package/data/craftbook-templates/we/webhook-handler/art.json +13 -0
  884. package/data/craftbook-templates/we/webhook-handler/logo.webp +0 -0
  885. package/data/craftbook-templates/we/webhook-handler/manifest.json +1 -0
  886. package/data/craftbook-templates/we/week-plan/art.json +13 -0
  887. package/data/craftbook-templates/we/week-plan/logo.webp +0 -0
  888. package/data/craftbook-templates/we/week-plan/manifest.json +1 -0
  889. package/data/craftbook-templates/we/weekly-menu-plan/art.json +13 -0
  890. package/data/craftbook-templates/we/weekly-menu-plan/logo.webp +0 -0
  891. package/data/craftbook-templates/we/weekly-menu-plan/manifest.json +1 -0
  892. package/data/craftbook-templates/we/weekly-pipeline-review/art.json +13 -0
  893. package/data/craftbook-templates/we/weekly-pipeline-review/logo.webp +0 -0
  894. package/data/craftbook-templates/we/weekly-pipeline-review/manifest.json +1 -0
  895. package/data/craftbook-templates/we/weekly-review/art.json +13 -0
  896. package/data/craftbook-templates/we/weekly-review/logo.webp +0 -0
  897. package/data/craftbook-templates/we/weekly-review/manifest.json +1 -0
  898. package/data/craftbook-templates/we/weekly-walkthrough/art.json +13 -0
  899. package/data/craftbook-templates/we/weekly-walkthrough/logo.webp +0 -0
  900. package/data/craftbook-templates/we/weekly-walkthrough/manifest.json +1 -0
  901. package/data/craftbook-templates/wh/whitepaper/art.json +13 -0
  902. package/data/craftbook-templates/wh/whitepaper/logo.webp +0 -0
  903. package/data/craftbook-templates/wh/whitepaper/manifest.json +1 -0
  904. package/data/craftbook-templates/ye/year-in-review/art.json +13 -0
  905. package/data/craftbook-templates/ye/year-in-review/logo.webp +0 -0
  906. package/data/craftbook-templates/ye/year-in-review/manifest.json +1 -0
  907. package/data/craftbook-templates/yo/youtube-chapters-seo/art.json +13 -0
  908. package/data/craftbook-templates/yo/youtube-chapters-seo/logo.webp +0 -0
  909. package/data/craftbook-templates/yo/youtube-chapters-seo/manifest.json +1 -0
  910. package/data/gezel-templates/ch/chess-player/manifest.json +20 -0
  911. package/data/gezel-templates/ch/chess-player/versions/1.0.0/about.md +21 -0
  912. package/data/gezel-templates/ch/chess-player/versions/1.0.0/manifest.json +10 -0
  913. package/data/gezel-templates/go/go-player/manifest.json +22 -0
  914. package/data/gezel-templates/go/go-player/versions/1.0.0/about.md +22 -0
  915. package/data/gezel-templates/go/go-player/versions/1.0.0/manifest.json +10 -0
  916. package/data/gezel-templates/index.json +1 -1
  917. package/data/project-types/ch/chess/manifest.json +20 -0
  918. package/data/project-types/ch/chess/versions/1.0.0/about.md +9 -0
  919. package/data/project-types/ch/chess/versions/1.0.0/game.json +127 -0
  920. package/data/project-types/ch/chess/versions/1.0.0/manifest.json +180 -0
  921. package/data/project-types/ch/chess/versions/1.0.0/mission.md +8 -0
  922. package/data/project-types/ch/chess/versions/1.0.0/pages/board/index.html +574 -0
  923. package/data/project-types/go/go/manifest.json +22 -0
  924. package/data/project-types/go/go/versions/1.0.0/about.md +9 -0
  925. package/data/project-types/go/go/versions/1.0.0/game.json +103 -0
  926. package/data/project-types/go/go/versions/1.0.0/manifest.json +166 -0
  927. package/data/project-types/go/go/versions/1.0.0/mission.md +8 -0
  928. package/data/project-types/go/go/versions/1.0.0/pages/board/index.html +637 -0
  929. package/data/project-types/index.json +1 -1
  930. package/package.json +2 -1
  931. package/schemas/chat-model-version.schema.json +27 -0
  932. package/schemas/craftbook-doc.schema.json +12 -0
  933. package/schemas/craftbook-template-version.schema.json +12 -0
  934. package/schemas/craftbook-test.schema.json +12 -0
@@ -16,6 +16,7 @@
16
16
  "maintainer": {
17
17
  "name": "Gezel"
18
18
  },
19
+ "logo": "logo.webp",
19
20
  "license": "MIT",
20
21
  "yankedVersions": [],
21
22
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "plan-coordinate",
6
+ "accents": [
7
+ "ochre",
8
+ "sage",
9
+ "muted indigo"
10
+ ],
11
+ "sourceSummary": "Write a professional, AP-style press release ready to send to journalists: it first locks the news angle, the five W's, the approved quote(s), and the boilerplate, then drafts the release in the standard format — dateline, inverted-pyramid lede, supporting body, quotes, boilerplate, and media contact — then a review…",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "analyze-measure",
6
+ "accents": [
7
+ "muted indigo",
8
+ "ochre",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Build a price tracker that records the price of one or more products/SKUs each time it runs, appending a timestamped history so you can see trends, drops, and the lowest price seen.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "build-code",
6
+ "accents": [
7
+ "muted indigo",
8
+ "terracotta",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Build a single pricing or plan-comparison page with tiered plan cards, a feature comparison, a highlighted recommended plan, and optionally a monthly/annual toggle that updates prices.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -16,6 +16,7 @@
16
16
  "maintainer": {
17
17
  "name": "Gezel"
18
18
  },
19
+ "logo": "logo.webp",
19
20
  "license": "MIT",
20
21
  "yankedVersions": [],
21
22
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "communicate-market",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "dusty rose",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Generate consistent, on-brand product descriptions in bulk from a list of products and their attributes: it first locks the brand voice, the field schema (title, short blurb, long description, bullet features, SEO meta), and a worked exemplar, then drafts every product to that exact template so the whole catalog reads…",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "write-publish",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "muted indigo",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Draft a client proposal or statement of work that wins the deal and prevents scope creep — covering objectives, scope, deliverables, timeline/milestones, pricing, assumptions, and acceptance criteria.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "inspect-review",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "sage"
9
+ ],
10
+ "sourceSummary": "Staff-engineer-style PR review.",
11
+ "styleReference": "accessibility-audit-1910"
12
+ }
@@ -12,6 +12,7 @@
12
12
  "maintainer": {
13
13
  "name": "Gezel"
14
14
  },
15
+ "logo": "logo.webp",
15
16
  "license": "MIT",
16
17
  "yankedVersions": [],
17
18
  "workflow": "review"
@@ -0,0 +1,118 @@
1
+ {
2
+ "id": "pull-request-review",
3
+ "name": "Pull Request Review",
4
+ "description": "Staff-engineer-style code review. Five steps:\n\n1. **Load PR context** — figure out which PR, fetch metadata + diff\n2. **Scan diff** — pattern-based first-pass + judgment-based second-pass\n3. **Raise findings** or **Approve** — branches on whether issues were found\n4. **Summary** — stamp a final verdict to task notes\n\nPorted from gstack's `/review`. The bash-driven preamble (gstack-config,\ngstack-learnings-search, gstack-telemetry-log) is replaced by:\n\n- The `pr-context.ts` script loads PR metadata via `github_pr_view`/`github_pr_diff`\n- `diff-scan.ts` applies the safety/quality patterns from gstack's\n `review/checklist.md` (SQL, secrets, `any`, console.log, etc.)\n- Memory (via `save_memory` / `search_memory`) replaces gstack's\n `learnings.jsonl` — search prior reviews for \"have we seen this\n pattern before?\"\n\nThe branches behavior: `diff-scan` stamps `clean: boolean` into the\nrun output; the **Scan diff** step routes to **Approve** when clean and\nto **Raise findings** otherwise.\n\nThis craftbook needs the github toolset configured (PAT) — without it,\nthe PR-fetch tools error and the craftbook surfaces an actionable\nmessage to the user.\n",
5
+ "entryStepId": "load-pr",
6
+ "triggers": [
7
+ "review this pr",
8
+ "code review",
9
+ "check my diff",
10
+ "review the changes"
11
+ ],
12
+ "requirements": [
13
+ {
14
+ "kind": "github"
15
+ },
16
+ {
17
+ "kind": "non-main-branch"
18
+ }
19
+ ],
20
+ "toolsets": [
21
+ {
22
+ "toolsetId": "github",
23
+ "optional": true,
24
+ "autoAllow": true,
25
+ "reason": "read PR metadata and post review comments without a prompt per call"
26
+ }
27
+ ],
28
+ "paramSchema": {
29
+ "type": "object",
30
+ "properties": {
31
+ "focus": {
32
+ "type": "string",
33
+ "title": "Review focus",
34
+ "description": "Optional area to emphasize, e.g. security, performance, tests."
35
+ },
36
+ "intensity": {
37
+ "type": "string",
38
+ "title": "Intensity",
39
+ "enum": [
40
+ "low",
41
+ "medium",
42
+ "high"
43
+ ],
44
+ "default": "medium",
45
+ "squisq": {
46
+ "control": "segmented"
47
+ },
48
+ "description": "How deep to go on the diff walk."
49
+ }
50
+ }
51
+ },
52
+ "steps": [
53
+ {
54
+ "id": "load-pr",
55
+ "name": "Load PR context",
56
+ "description": "Resolve which PR to review (current branch's open PR by default) and fetch its metadata + the unified diff. Writes pr.number, pr.title, pr.head into the task notes.",
57
+ "prompt": "**For this task you are a reviewer, not an author.** Your job here is to read changes and post feedback — NOT to write new code. If your default persona is a developer/builder, set the ship-the-scaffold instinct aside for this task. You won't `write_file` for this craftbook; you'll read PRs and post comments.\n\n**Your first action this turn:** call `github_pr_list` (no args). The result tells you which PR to review.\n\n1. If the user's chat message names a PR number, skip the list and use that.\n2. Otherwise, take the first PR from `github_pr_list`. If multiple match the current branch, call `ask_user_question` to disambiguate.\n3. Once you have the number, call `run_script({ name: \"pr-context\", input: { number } })` — it stamps the PR metadata + diff into the run output.\n4. `write_task_note({ ref, content })` with the PR title + URL so the next step has the anchor.\n\nDo NOT call `read_task_notes` to find the procedure — it's right here in this prompt. The notes only carry user input + prior step output; the **what to do** is in this step.",
58
+ "suggestedRole": "reviewer",
59
+ "onExit": {
60
+ "name": "pr-context",
61
+ "autoAdvanceWhen": {
62
+ "op": "ok"
63
+ }
64
+ },
65
+ "next": "scan-diff"
66
+ },
67
+ {
68
+ "id": "scan-diff",
69
+ "name": "Scan diff",
70
+ "description": "Walk the diff applying the safety/quality checklist. The diff-scan script returns a structured findings array.",
71
+ "prompt": "Run the `diff-scan` script. It fetches the PR diff via `github_pr_diff` and applies a pattern-based first-pass — SQL safety, unguarded `any`, console.log left in, secrets-in-source-shaped strings, missing test coverage for new files. Read its output carefully.\n\nThen do your own pass: use `github_pr_files` to walk individual files and apply judgment for things the pattern scan can't catch — naming, abstraction quality, error handling, edge cases. Take notes via `write_task_note`.\n\nAt the end of this step, you should know: did you find issues worth surfacing? Set `findings: <number>` in your output.",
72
+ "suggestedRole": "reviewer",
73
+ "gate": {
74
+ "at": "completion",
75
+ "scripts": [
76
+ {
77
+ "name": "diff-gate",
78
+ "scope": "craftbook"
79
+ }
80
+ ],
81
+ "onReject": "scan-diff",
82
+ "maxAttempts": 3
83
+ },
84
+ "next": "raise-findings"
85
+ },
86
+ {
87
+ "id": "raise-findings",
88
+ "name": "Raise findings",
89
+ "description": "Surface concrete issues with file:line citations. Use `github_pr_comment` to post the structured summary to the PR.",
90
+ "prompt": "For each finding, write a short paragraph:\n\n- **What** (one sentence describing the issue)\n- **Where** (file:line — the model citation hyperlink form, file_path:line)\n- **Why it matters** (one sentence)\n- **Suggested fix** (one line or a small diff)\n\nGroup findings by severity: must-fix (correctness, security, data-loss risk), should-fix (clarity, edge cases, missing tests), nit (style, naming).\n\nPost the summary via `github_pr_comment` with the PR number from step 1. Then advance to summary.",
91
+ "suggestedRole": "reviewer",
92
+ "next": "summary"
93
+ },
94
+ {
95
+ "id": "approve",
96
+ "name": "Approve",
97
+ "description": "Clean PR — write a brief approval note. Don't gold-plate.",
98
+ "prompt": "The diff scan came up clean. Write a one-paragraph approval note: what the PR does, why it looks good, anything worth flagging as 'consider for a follow-up' (but not blocking). Post via `github_pr_comment`. Advance to summary.",
99
+ "suggestedRole": "reviewer",
100
+ "next": "summary"
101
+ },
102
+ {
103
+ "id": "summary",
104
+ "name": "Summary",
105
+ "description": "Stamp a final summary into the task notes for the user.",
106
+ "prompt": "Write a one-paragraph summary of the review to the task notes via `write_task_note`. Include:\n\n- The PR (#number — title)\n- The verdict (approved | needs changes)\n- The number of findings broken down by severity\n- A link to the posted PR comment\n\nThen report DONE.",
107
+ "suggestedRole": "reviewer",
108
+ "terminal": true
109
+ }
110
+ ],
111
+ "scripts": {
112
+ "pr-context": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'pr-context',\n description:\n 'Resolve which PR to review and fetch its metadata + unified diff. Stamps {number, title, headRef, baseRef, diffChars} so the next step has the anchor.',\n inputs: {\n number: {\n type: 'number',\n description: 'PR number to review. Omit to pick the open PR matching the current branch.',\n integer: true,\n },\n },\n outputs: {\n number: { type: 'number', description: 'Resolved PR number.' },\n title: { type: 'string', description: 'PR title.' },\n headRef: { type: 'string', description: 'PR head branch.' },\n baseRef: { type: 'string', description: 'PR base branch.' },\n url: { type: 'string', description: 'PR URL.' },\n diffChars: { type: 'number', description: 'Length of the fetched diff body in chars.' },\n },\n requires: ['network'],\n});\n\ninterface PrSummary {\n number: number;\n title: string;\n author: string;\n headRef: string;\n baseRef: string;\n draft: boolean;\n updatedAt: string;\n url: string;\n}\n\nasync function resolvePr(input: { number?: number }): Promise<PrSummary> {\n if (input.number) {\n const view = await gezel.mcp.call('github_pr_view', { number: input.number });\n if (typeof view !== 'string') throw new Error('github_pr_view returned an unexpected shape');\n const headLine = view.split('\\n')[0] ?? '';\n const titleMatch = /^#(\\d+) — (.+)$/.exec(headLine);\n if (!titleMatch) throw new Error(`could not parse github_pr_view output: ${headLine}`);\n return {\n number: Number(titleMatch[1]),\n title: titleMatch[2]!,\n author: '?',\n headRef: '',\n baseRef: '',\n draft: false,\n updatedAt: '',\n url: '',\n };\n }\n const listing = await gezel.mcp.call('github_pr_list', {});\n if (typeof listing !== 'string') throw new Error('github_pr_list returned an unexpected shape');\n const firstLine = listing.split('\\n\\n')[0] ?? '';\n const m = /^#(\\d+) — (.+?) \\((.+?), (.+?) → (.+?)(?:, draft)?\\)/.exec(firstLine);\n if (!m) {\n throw new Error(\n `couldn't pick a PR — github_pr_list returned no open PRs or unexpected shape:\\n${listing.slice(0, 200)}`,\n );\n }\n return {\n number: Number(m[1]),\n title: m[2]!,\n author: m[3]!,\n headRef: m[4]!,\n baseRef: m[5]!,\n draft: firstLine.includes('draft'),\n updatedAt: '',\n url: '',\n };\n}\n\nasync function main(): Promise<void> {\n const input = gezel.input as { number?: number };\n const pr = await resolvePr(input);\n gezel.log(`Resolved PR #${pr.number} — \"${pr.title}\"`);\n const diff = await gezel.mcp.call('github_pr_diff', { number: pr.number });\n const diffStr = typeof diff === 'string' ? diff : '';\n gezel.output({\n number: pr.number,\n title: pr.title,\n headRef: pr.headRef,\n baseRef: pr.baseRef,\n url: pr.url,\n diffChars: diffStr.length,\n });\n}\n\nawait main();\n",
113
+ "diff-scan": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'diff-scan',\n description:\n 'Pattern-scan a PR diff for common safety/quality issues — SQL concat, unguarded any, console.log leftovers, secret-shaped strings, missing tests. Stamps {findings[], clean: boolean}.',\n inputs: {\n number: { type: 'number', description: 'PR number.', integer: true, required: true },\n },\n outputs: {\n findings: {\n type: 'array',\n description: 'Issues found, each with file, line, severity, kind, snippet.',\n itemType: 'object',\n },\n clean: { type: 'boolean', description: 'True iff no must-fix or should-fix findings.' },\n },\n requires: ['network'],\n});\n\ntype Severity = 'must-fix' | 'should-fix' | 'nit';\n\ninterface Finding {\n file: string;\n line: number;\n severity: Severity;\n kind: string;\n snippet: string;\n}\n\nconst RULES: Array<{\n kind: string;\n severity: Severity;\n regex: RegExp;\n description: string;\n}> = [\n {\n kind: 'sql-concat',\n severity: 'must-fix',\n regex: /(query|sql|execute)\\s*\\(\\s*[\"'`][^\"'`]*\\$\\{|\\b\\+\\s*req\\.(query|body|params)\\./i,\n description: 'String-concatenated SQL or user input flowing into a query.',\n },\n {\n kind: 'console-leftover',\n severity: 'nit',\n regex: /^\\+.*\\bconsole\\.(log|warn|error|debug)\\b/,\n description: 'console.* call left in production code.',\n },\n {\n kind: 'secret-shape',\n severity: 'must-fix',\n regex: /(api[_-]?key|secret|token|password)\\s*[:=]\\s*[\"'][A-Za-z0-9+/=_-]{16,}[\"']/i,\n description: 'String-literal that looks like a hard-coded credential.',\n },\n {\n kind: 'unguarded-any',\n severity: 'should-fix',\n regex: /:\\s*any\\b(?!\\[)|<any>/,\n description: \"Explicit `any` — confirm it's the minimum-friction choice, not a bypass.\",\n },\n {\n kind: 'todo-marker',\n severity: 'nit',\n regex: /^\\+.*\\b(TODO|FIXME|XXX)\\b/,\n description: 'TODO/FIXME left behind. Either resolve or open an issue.',\n },\n {\n kind: 'force-unwrap',\n severity: 'should-fix',\n regex: /^\\+.*![.\\s]/,\n description: 'Non-null assertion (`!`) — confirm the invariant or add a guard.',\n },\n];\n\ninterface ParsedHunk {\n file: string;\n baseLine: number;\n text: string;\n}\n\nfunction* iterHunks(diff: string): Generator<ParsedHunk> {\n let currentFile = '';\n let inHunk = false;\n let baseLine = 0;\n const lines = diff.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const ln = lines[i]!;\n const fileMatch = /^\\+\\+\\+ b\\/(.+)$/.exec(ln);\n if (fileMatch) {\n currentFile = fileMatch[1]!;\n inHunk = false;\n continue;\n }\n const hunkMatch = /^@@ -\\d+(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/.exec(ln);\n if (hunkMatch) {\n baseLine = Number(hunkMatch[1]);\n inHunk = true;\n continue;\n }\n if (!inHunk || !currentFile) continue;\n if (ln.startsWith('+') && !ln.startsWith('+++')) {\n yield { file: currentFile, baseLine, text: ln };\n baseLine++;\n } else if (!ln.startsWith('-')) {\n baseLine++;\n }\n }\n}\n\nasync function main(): Promise<void> {\n const input = gezel.input as { number: number };\n const diff = await gezel.mcp.call('github_pr_diff', { number: input.number });\n if (typeof diff !== 'string') {\n throw new Error('github_pr_diff returned an unexpected shape');\n }\n const findings: Finding[] = [];\n for (const hunk of iterHunks(diff)) {\n for (const rule of RULES) {\n if (rule.regex.test(hunk.text)) {\n findings.push({\n file: hunk.file,\n line: hunk.baseLine,\n severity: rule.severity,\n kind: rule.kind,\n snippet: hunk.text.slice(1, 140),\n });\n }\n }\n }\n const blocking = findings.filter((f) => f.severity !== 'nit');\n gezel.log(`Scanned diff: ${findings.length} finding(s), ${blocking.length} blocking`);\n gezel.output({ findings, clean: blocking.length === 0 });\n}\n\nawait main();\n",
114
+ "diff-gate": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'diff-gate',\n description:\n 'Gate for the scan-diff phase: runs diff-scan and routes the review — a clean diff approves straight to the approve step; findings approve to raise-findings with the findings carried in the handoff.',\n kind: 'gate',\n outputs: {\n decision: { type: 'string', description: \"'approve' (the scan itself succeeding is the bar).\" },\n message: { type: 'string', description: 'One-line scan summary.' },\n },\n // Nested script execution inherits diff-scan's needs; the scan itself\n // declares 'network'.\n requires: ['network'],\n});\n\ninterface ScanOutput {\n clean: boolean;\n findings?: Array<{ severity?: string; note?: string; file?: string }>;\n}\n\n// Gate-as-router: the step \"completing\" means the scan ran — the JUDGMENT\n// here is which branch the review takes next, expressed as approve+goto.\n// A scan failure rejects (fail-closed) so a broken scan never silently\n// approves a PR.\nconst result = await gezel.script.run<ScanOutput>('diff-scan');\nif (result.status !== 'ok' || !result.output) {\n gezel.output({\n decision: 'reject',\n message: `diff-scan failed (${result.error ?? 'no output'}) — fix the scan inputs (is the PR context loaded?) and advance again.`,\n });\n} else if (result.output.clean) {\n gezel.output({\n decision: 'approve',\n goto: 'approve',\n message: 'diff-scan found no must-fix or should-fix issues',\n handoff: { message: 'Automated diff scan came back clean — proceed to approval.' },\n });\n} else {\n const findings = result.output.findings ?? [];\n const top = findings\n .slice(0, 5)\n .map((f) => `- [${f.severity ?? 'note'}] ${f.file ?? ''} ${f.note ?? ''}`.trim())\n .join('\\n');\n gezel.output({\n decision: 'approve',\n goto: 'raise-findings',\n message: `diff-scan flagged ${findings.length} finding(s)`,\n handoff: {\n message: `Automated diff scan flagged ${findings.length} finding(s) to raise on the PR:\\n${top}`,\n params: { findingCount: findings.length },\n },\n });\n}\n"
115
+ },
116
+ "version": "1.1.0",
117
+ "releasedAt": "2026-07-28T00:00:00Z"
118
+ }
@@ -0,0 +1,160 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Pull-request style code review with citations",
4
+ "objective": "Measure the PR-review task class with a seeded codebase review requiring concrete findings, severity, file citations, and no prose-as-deliverable failure.",
5
+ "tags": [
6
+ "external"
7
+ ],
8
+ "prompt": "Theres a fake ops service wired up for this so nothing real gets touched — the endpoints are in mocks/services.md, and the ready-made mock-probe script talks to them for you. Can you run the automation against it and write up how it went in automation.md?",
9
+ "setup": {
10
+ "projectName": "Pull Request Review Eval",
11
+ "files": [
12
+ {
13
+ "path": "source/brief.md",
14
+ "content": "# Pull Request Review Eval Brief\n\nClient: Boreal Desk, a home-office accessories company.\nAudience: operations leads who need an artifact they can use this week.\n\nFixed source facts for grounding:\n- The returns desk pilot covered 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- The top unresolved complaint is status silence after photo submission.\n- Required next actions are automated status emails, barcode-exception training, and a weekly Finance exception export.\n\nUse these facts when the task asks for prose, analysis, copy, UI content, or test data. Do not use live web services, real credentials, or current outside data.\n\nCraftbook under test: pull-request-review - Pull Request Review.\n"
15
+ }
16
+ ],
17
+ "worker": {
18
+ "name": "Jules",
19
+ "role": "Developer"
20
+ }
21
+ },
22
+ "mocks": [
23
+ {
24
+ "kind": "http",
25
+ "id": "ops",
26
+ "description": "Fake operations service for this eval. GET /api/bookings/open lists the open work items; POST /api/bookings/dry-run records a simulated submission and returns DRY_RUN_OK.",
27
+ "credential": {
28
+ "name": "mock.ops"
29
+ },
30
+ "routes": [
31
+ {
32
+ "method": "GET",
33
+ "path": "/api/bookings/open",
34
+ "body": {
35
+ "items": [
36
+ "BKG-1001",
37
+ "BKG-1002",
38
+ "BKG-1003"
39
+ ]
40
+ }
41
+ },
42
+ {
43
+ "method": "POST",
44
+ "path": "/api/bookings/dry-run",
45
+ "status": 201,
46
+ "body": {
47
+ "status": "DRY_RUN_OK",
48
+ "recorded": 3
49
+ }
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "kind": "webhook",
55
+ "id": "notify",
56
+ "description": "Notification receiver. POST a JSON completion notice here when the run finishes.",
57
+ "path": "/hooks/notify"
58
+ },
59
+ {
60
+ "kind": "cli",
61
+ "id": "probe",
62
+ "description": "Provenance-trusted project script `mock-probe` that exercises the fake ops service through http.authed and returns the raw responses.",
63
+ "shim": {
64
+ "path": "scripts/mock-probe.ts",
65
+ "content": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'mock-probe',\n description:\n 'Probe the live fake ops service for this eval: lists the open work items and records a dry-run submission. Outputs the raw JSON responses as evidence for the write-up.',\n inputs: {},\n outputs: {\n open: { type: 'string', description: 'Raw JSON body from the open-items listing.' },\n dryRun: { type: 'string', description: 'Raw JSON body from the dry-run submission.' },\n },\n requires: ['workspace.read', 'network', 'credential:mock.ops'],\n});\n\nconst services = JSON.parse(await gezel.fs.read('mocks/services.json'));\nconst base = (id) => {\n const service = services.find((entry) => entry.id === id);\n if (!service) throw new Error(`mock service \"${id}\" is not listed in mocks/services.json`);\n return service.baseUrl;\n};\n\nconst open = await gezel.http.authed(`${base('ops')}/api/bookings/open`, {\n credential: 'mock.ops',\n});\nif (!open.ok) throw new Error(`open-items listing failed: ${open.status} ${open.body}`);\n\nconst dryRun = await gezel.http.authed(`${base('ops')}/api/bookings/dry-run`, {\n credential: 'mock.ops',\n method: 'POST',\n body: JSON.stringify({ items: JSON.parse(open.body).items, mode: 'dry-run' }),\n});\nif (!dryRun.ok) throw new Error(`dry-run submission failed: ${dryRun.status} ${dryRun.body}`);\n\ngezel.output({ open: open.body, dryRun: dryRun.body });\n"
66
+ }
67
+ }
68
+ ],
69
+ "success": {
70
+ "summary": "automation.md is grounded in live fake-service responses: the open items were actually listed and a dry-run actually recorded (request-log assertions), with safety guards and signals described.",
71
+ "deliverables": [
72
+ {
73
+ "path": "automation.md",
74
+ "kind": "markdown-report",
75
+ "minBytes": 900,
76
+ "checks": [
77
+ {
78
+ "kind": "contains",
79
+ "file": "automation.md",
80
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
81
+ "flags": "i"
82
+ },
83
+ {
84
+ "kind": "contains",
85
+ "file": "automation.md",
86
+ "pattern": "DRY_RUN_OK|dry-run|dry run",
87
+ "flags": "i"
88
+ },
89
+ {
90
+ "kind": "contains",
91
+ "file": "automation.md",
92
+ "pattern": "fake-ci|fake-github|/api/bookings",
93
+ "flags": "i"
94
+ },
95
+ {
96
+ "kind": "contains",
97
+ "file": "automation.md",
98
+ "pattern": "no real|credentials|safety|guard",
99
+ "flags": "i"
100
+ },
101
+ {
102
+ "kind": "contains",
103
+ "file": "automation.md",
104
+ "pattern": "success|failure|retry|abort",
105
+ "flags": "i"
106
+ }
107
+ ]
108
+ }
109
+ ],
110
+ "mocks": [
111
+ {
112
+ "service": "ops",
113
+ "minRequests": 2,
114
+ "requiredPaths": [
115
+ "^/api/bookings/open$",
116
+ "^/api/bookings/dry-run$"
117
+ ]
118
+ }
119
+ ]
120
+ },
121
+ "rubric": {
122
+ "artifact": {
123
+ "path": "automation.md",
124
+ "kind": "markdown"
125
+ },
126
+ "axes": [
127
+ {
128
+ "name": "safety",
129
+ "description": "Dry-run posture is explicit: no real credentials, clear stop-before-side-effect boundary."
130
+ },
131
+ {
132
+ "name": "mapping",
133
+ "description": "Fake endpoints/commands are mapped completely to the workflow steps."
134
+ },
135
+ {
136
+ "name": "signals",
137
+ "description": "Success, failure, retry, and abort conditions are all defined."
138
+ },
139
+ {
140
+ "name": "containment",
141
+ "description": "The plan cannot accidentally reach a real service from a mock context."
142
+ }
143
+ ]
144
+ },
145
+ "qualityFocus": [
146
+ "evidence-grounded review",
147
+ "file citations",
148
+ "review deliverable persistence"
149
+ ],
150
+ "extensions": {
151
+ "legacySimulators": [
152
+ {
153
+ "id": "pull-request-review-fake-service-fixture",
154
+ "kind": "data-source",
155
+ "status": "implemented",
156
+ "description": "Seeded local fake service contract replacing live CLIs, HTTP APIs, credentials, and side effects."
157
+ }
158
+ ]
159
+ }
160
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "write-publish",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "muted indigo",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Bind the month's puzzles into one print-ready pack: a cover, a page per puzzle, and the solutions gathered in the back where they belong — the thing that lands on the kitchen table and disappears into pencil marks.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "build-code",
6
+ "accents": [
7
+ "muted indigo",
8
+ "terracotta",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Build an installable Progressive Web App that works offline — an HTML app shell, a web app manifest, and a service worker that caches the shell so it loads with no network.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "inspect-review",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "sage"
9
+ ],
10
+ "sourceSummary": "Live UI QA pass with a real browser.",
11
+ "styleReference": "accessibility-audit-1910"
12
+ }
@@ -12,6 +12,7 @@
12
12
  "maintainer": {
13
13
  "name": "Gezel"
14
14
  },
15
+ "logo": "logo.webp",
15
16
  "license": "MIT",
16
17
  "yankedVersions": [],
17
18
  "workflow": "qa"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "write-publish",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "muted indigo",
9
+ "sage"
10
+ ],
11
+ "sourceSummary": "Close the quarter the way your accountant wishes everyone did: totals by category computed from the ledger entries themselves, the missing-documentation list naming each entry that lacks its paperwork, and the estimated-payment reminder in plain words.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -16,6 +16,7 @@
16
16
  "maintainer": {
17
17
  "name": "Gezel"
18
18
  },
19
+ "logo": "logo.webp",
19
20
  "license": "MIT",
20
21
  "yankedVersions": [],
21
22
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "research-learn",
6
+ "accents": [
7
+ "sage",
8
+ "muted indigo",
9
+ "terracotta"
10
+ ],
11
+ "sourceSummary": "Curate an annotated reading list on a topic for a defined reader: a planner sets the reader, their goal, and the selection and ordering criteria, then a researcher curates and annotates each pick with why it matters, what it covers, and a suggested reading order.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -15,6 +15,7 @@
15
15
  "maintainer": {
16
16
  "name": "Gezel"
17
17
  },
18
+ "logo": "logo.webp",
18
19
  "license": "MIT",
19
20
  "yankedVersions": [],
20
21
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "operate-maintain",
6
+ "accents": [
7
+ "sage",
8
+ "ochre",
9
+ "muted terracotta"
10
+ ],
11
+ "sourceSummary": "Empty the shoebox inbox properly: every waiting receipt becomes a dated, categorized ledger entry that names its source file, likely duplicates get flagged instead of double-counted, and the genuinely ambiguous ones become owner questions instead of guesses.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }
@@ -16,6 +16,7 @@
16
16
  "maintainer": {
17
17
  "name": "Gezel"
18
18
  },
19
+ "logo": "logo.webp",
19
20
  "license": "MIT",
20
21
  "yankedVersions": [],
21
22
  "workflow": "build-loop"
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "design-media",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "sage",
9
+ "muted indigo"
10
+ ],
11
+ "sourceSummary": "Turn a folder of receipt photos/PDFs into a clean expense ledger: OCR each receipt, extract vendor, date, line items, tax, and total, assign an expense category, and reconcile that each extracted total matches its line items.",
12
+ "styleReference": "accessibility-audit-1910"
13
+ }