@bendyline/gilde 0.1.51 → 0.1.52
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.
- package/authoring/chat-models/nanbeige4.2-3b-q4.json +133 -0
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/na/nanbeige4.2-3b-q4/manifest.json +138 -0
- package/data/chat-models/na/nanbeige4.2-3b-q4/versions/1.0.0/manifest.json +14 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/craftbook.json +278 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/test.json +118 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/test.json +189 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/craftbook.json +616 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/test.json +228 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/test.json +108 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.3/test.json +147 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/craftbook.json +381 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/test.json +157 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/test.json +123 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/craftbook.json +278 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/test.json +192 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/craftbook.json +600 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/test.json +290 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/test.json +139 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/craftbook.json +265 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/craftbook.json +259 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/craftbook.json +370 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/test.json +221 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.3/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/craftbook.json +324 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/test.json +296 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/test.json +108 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.3/test.json +118 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +294 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.2/craftbook.json +329 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.2/test.json +164 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/craftbook.json +620 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/test.json +376 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/craftbook.json +728 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/test.json +221 -0
- package/data/craftbook-templates/bu/build-loop/versions/1.1.1/craftbook.json +139 -0
- package/data/craftbook-templates/bu/build-loop/versions/1.1.1/test.json +121 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/test.json +106 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/craftbook.json +64 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/test.json +110 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.3/test.json +112 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/test.json +105 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/craftbook.json +279 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/test.json +155 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/craftbook.json +184 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/test.json +98 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/test.json +143 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/craftbook.json +256 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +178 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/craftbook.json +286 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/craftbook.json +585 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/test.json +225 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/test.json +152 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/craftbook.json +283 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/test.json +128 -0
- package/data/craftbook-templates/co/code-review/versions/1.0.1/craftbook.json +229 -0
- package/data/craftbook-templates/co/code-review/versions/1.0.1/test.json +249 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/test.json +119 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/test.json +122 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +1 -1
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/craftbook.json +603 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/test.json +252 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/test.json +229 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/craftbook.json +272 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/craftbook.json +286 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/test.json +109 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.3/test.json +148 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/craftbook.json +273 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/test.json +119 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/craftbook.json +518 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/test.json +160 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/test.json +120 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/test.json +152 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/craftbook.json +335 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/test.json +169 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/craftbook.json +233 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.3/test.json +105 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/craftbook.json +339 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/test.json +187 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/test.json +207 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/craftbook.json +301 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/craftbook.json +211 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/test.json +102 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/test.json +101 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/craftbook.json +281 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/test.json +329 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.3/test.json +98 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/test.json +117 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/craftbook.json +212 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/test.json +95 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/craftbook.json +378 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/test.json +184 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/craftbook.json +275 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/test.json +111 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/craftbook.json +619 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/test.json +235 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/craftbook.json +627 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/test.json +201 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/test.json +135 -0
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/craftbook.json +321 -0
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/test.json +161 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/craftbook.json +312 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +146 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/craftbook.json +577 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/test.json +191 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/craftbook.json +606 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/craftbook.json +184 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/test.json +111 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/craftbook.json +284 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/craftbook.json +324 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/test.json +162 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/craftbook.json +716 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/test.json +239 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/craftbook.json +96 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/test.json +131 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/craftbook.json +306 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/craftbook.json +281 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/test.json +92 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/craftbook.json +365 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +128 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/craftbook.json +605 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/test.json +220 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/craftbook.json +337 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/test.json +176 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/craftbook.json +571 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/test.json +141 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.2/craftbook.json +295 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.2/test.json +180 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/test.json +109 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.3/craftbook.json +240 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.3/craftbook.json +354 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.3/test.json +140 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/craftbook.json +228 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/test.json +116 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.3/craftbook.json +348 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.3/craftbook.json +284 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.3/test.json +213 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/test.json +187 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +112 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/craftbook.json +229 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/craftbook.json +270 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/test.json +136 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +294 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/test.json +197 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/test.json +120 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/craftbook.json +241 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/test.json +225 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +250 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/craftbook.json +324 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/test.json +86 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/craftbook.json +242 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/test.json +120 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/of/office-hours/versions/1.1.1/craftbook.json +150 -0
- package/data/craftbook-templates/of/office-hours/versions/1.1.1/test.json +118 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/craftbook.json +197 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.3/test.json +132 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/craftbook.json +320 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/test.json +162 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/craftbook.json +695 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/test.json +235 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +122 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.1/craftbook.json +222 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.1/test.json +91 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +111 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/craftbook.json +589 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/test.json +240 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/craftbook.json +273 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/craftbook.json +296 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +117 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.3/test.json +356 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/test.json +150 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/craftbook.json +348 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/craftbook.json +432 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/test.json +141 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/craftbook.json +233 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/test.json +123 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/test.json +116 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +149 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.2/craftbook.json +295 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +128 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.1/craftbook.json +693 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.1/test.json +241 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.3/craftbook.json +290 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.3/test.json +202 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/craftbook.json +358 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.4/craftbook.json +336 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.4/test.json +111 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/craftbook.json +317 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/test.json +110 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.3/test.json +115 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.3/craftbook.json +317 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.3/test.json +98 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.3/craftbook.json +388 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.3/test.json +243 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.4/test.json +387 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/craftbook.json +144 -0
- package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/test.json +135 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/craftbook.json +290 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/craftbook.json +595 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/craftbook.json +302 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +137 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.3/test.json +118 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/craftbook.json +619 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/test.json +225 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/craftbook.json +274 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/test.json +90 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/craftbook.json +608 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/test.json +157 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.1/craftbook.json +301 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.1/test.json +225 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.2/craftbook.json +233 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +158 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/craftbook.json +610 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/test.json +162 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/test.json +160 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/craftbook.json +271 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/craftbook.json +264 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/craftbook.json +226 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/craftbook.json +582 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/test.json +174 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/craftbook.json +320 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/craftbook.json +590 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/test.json +195 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/test.json +144 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +142 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/craftbook.json +321 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/test.json +101 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/craftbook.json +329 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/test.json +154 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.2/craftbook.json +139 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.2/test.json +141 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/craftbook.json +589 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/test.json +221 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.1/craftbook.json +604 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.1/test.json +206 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.1/craftbook.json +322 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.1/test.json +92 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/craftbook.json +291 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +124 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.3/test.json +258 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/craftbook.json +271 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/test.json +103 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +86 -0
- package/schemas/craftbook-template-version.schema.json +86 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Batch-Fill Forms from a Dataset smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Batch-Fill Forms from a Dataset craftbook using the external generic harness.",
|
|
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": "Batch-Fill Forms from a Dataset Eval",
|
|
11
|
+
"about": "Self-contained eval project for form-fill-batch. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/automation.md.",
|
|
12
|
+
"missionObjectives": "Use the Batch-Fill Forms from a Dataset craftbook/template, read the seeded local fixtures, and write automation.md without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Batch-Fill Forms from a Dataset 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: form-fill-batch - Batch-Fill Forms from a Dataset.\n"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"worker": {
|
|
20
|
+
"name": "Jules",
|
|
21
|
+
"role": "Developer"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"mocks": [
|
|
25
|
+
{
|
|
26
|
+
"kind": "http",
|
|
27
|
+
"id": "ops",
|
|
28
|
+
"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.",
|
|
29
|
+
"credential": {
|
|
30
|
+
"name": "mock.ops"
|
|
31
|
+
},
|
|
32
|
+
"routes": [
|
|
33
|
+
{
|
|
34
|
+
"method": "GET",
|
|
35
|
+
"path": "/api/bookings/open",
|
|
36
|
+
"body": {
|
|
37
|
+
"items": [
|
|
38
|
+
"BKG-1001",
|
|
39
|
+
"BKG-1002",
|
|
40
|
+
"BKG-1003"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"method": "POST",
|
|
46
|
+
"path": "/api/bookings/dry-run",
|
|
47
|
+
"status": 201,
|
|
48
|
+
"body": {
|
|
49
|
+
"status": "DRY_RUN_OK",
|
|
50
|
+
"recorded": 3
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "webhook",
|
|
57
|
+
"id": "notify",
|
|
58
|
+
"description": "Notification receiver. POST a JSON completion notice here when the run finishes.",
|
|
59
|
+
"path": "/hooks/notify"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "cli",
|
|
63
|
+
"id": "probe",
|
|
64
|
+
"description": "Provenance-trusted project script `mock-probe` that exercises the fake ops service through http.authed and returns the raw responses.",
|
|
65
|
+
"shim": {
|
|
66
|
+
"path": "scripts/mock-probe.ts",
|
|
67
|
+
"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"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"success": {
|
|
72
|
+
"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.",
|
|
73
|
+
"deliverables": [
|
|
74
|
+
{
|
|
75
|
+
"path": "automation.md",
|
|
76
|
+
"kind": "markdown-report",
|
|
77
|
+
"minBytes": 900,
|
|
78
|
+
"checks": [
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "automation.md",
|
|
82
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
83
|
+
"flags": "i"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "contains",
|
|
87
|
+
"file": "automation.md",
|
|
88
|
+
"pattern": "DRY_RUN_OK|dry-run|dry run",
|
|
89
|
+
"flags": "i"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"kind": "contains",
|
|
93
|
+
"file": "automation.md",
|
|
94
|
+
"pattern": "fake-ci|fake-github|/api/bookings",
|
|
95
|
+
"flags": "i"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"kind": "contains",
|
|
99
|
+
"file": "automation.md",
|
|
100
|
+
"pattern": "no real|credentials|safety|guard",
|
|
101
|
+
"flags": "i"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"kind": "contains",
|
|
105
|
+
"file": "automation.md",
|
|
106
|
+
"pattern": "success|failure|retry|abort",
|
|
107
|
+
"flags": "i"
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"mocks": [
|
|
113
|
+
{
|
|
114
|
+
"service": "ops",
|
|
115
|
+
"minRequests": 2,
|
|
116
|
+
"requiredPaths": [
|
|
117
|
+
"^/api/bookings/open$",
|
|
118
|
+
"^/api/bookings/dry-run$"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"rubric": {
|
|
124
|
+
"artifact": {
|
|
125
|
+
"path": "automation.md",
|
|
126
|
+
"kind": "markdown"
|
|
127
|
+
},
|
|
128
|
+
"axes": [
|
|
129
|
+
{
|
|
130
|
+
"name": "safety",
|
|
131
|
+
"description": "Dry-run posture is explicit: no real credentials, clear stop-before-side-effect boundary."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "mapping",
|
|
135
|
+
"description": "Fake endpoints/commands are mapped completely to the workflow steps."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "signals",
|
|
139
|
+
"description": "Success, failure, retry, and abort conditions are all defined."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "containment",
|
|
143
|
+
"description": "The plan cannot accidentally reach a real service from a mock context."
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"qualityFocus": [
|
|
148
|
+
"dry-run safety",
|
|
149
|
+
"fake tool mapping",
|
|
150
|
+
"side-effect containment"
|
|
151
|
+
],
|
|
152
|
+
"extensions": {
|
|
153
|
+
"legacySimulators": [
|
|
154
|
+
{
|
|
155
|
+
"id": "form-fill-batch-fake-service-fixture",
|
|
156
|
+
"kind": "data-source",
|
|
157
|
+
"status": "implemented",
|
|
158
|
+
"description": "Seeded local fake service contract replacing live CLIs, HTTP APIs, credentials, and side effects."
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "form-wizard",
|
|
3
|
+
"name": "Multi-Step Form Wizard",
|
|
4
|
+
"description": "Build a single-file multi-step form wizard — a signup, checkout, survey, or onboarding form split across steps with a progress indicator, per-step validation, back/next navigation, and a final review-and-submit. Designs the step flow, fields per step, and validation rules first, then implements stateful navigation that preserves entered data across steps. Wizards break when going back loses data or a step advances with invalid input, so the flow-design phase locks the field-per-step map and validation before any markup.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Flow design (designer) — steps, fields per step, validation, progress → gated on artifact `{{workPath}}/flow-design.md` (markdown-notes)\n2. Build (developer) — implement index.html with stateful step navigation → gated on `index.html` (html-page)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
|
|
5
|
+
"entryStepId": "flow-design",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"multi step form",
|
|
8
|
+
"form wizard",
|
|
9
|
+
"checkout flow",
|
|
10
|
+
"survey form",
|
|
11
|
+
"step by step form",
|
|
12
|
+
"onboarding form"
|
|
13
|
+
],
|
|
14
|
+
"paramSchema": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"workPath": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"title": "Working folder",
|
|
20
|
+
"description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
|
|
21
|
+
"default": "{{task.dir}}"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"steps": [
|
|
26
|
+
{
|
|
27
|
+
"id": "flow-design",
|
|
28
|
+
"name": "Flow design",
|
|
29
|
+
"description": "steps, fields per step, validation, progress",
|
|
30
|
+
"prompt": "Design the wizard flow. (1) Enumerate the steps in order and the fields collected on each (with types: text, email, select, radio). (2) Define per-field validation rules and the exact error messages. (3) Specify navigation: Next validates the current step before advancing; Back preserves all entered data; a progress indicator shows current step of N. (4) Define the final review step that summarizes all answers before submit, and the success state. (5) Write an acceptance-criteria checklist of 6-8 items, e.g. 'Next is blocked until the current step is valid', 'Back preserves entered values', 'the progress indicator reflects the current step', 'the review step shows every answer', 'submit shows a success state', 'invalid fields show their error', 'no console errors'. Write to {{workPath}}/flow-design.md and via write_task_note. No HTML yet.\n\nThe deliverable `{{workPath}}/flow-design.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
31
|
+
"suggestedRole": "designer",
|
|
32
|
+
"advanceWhen": {
|
|
33
|
+
"file": "{{workPath}}/flow-design.md",
|
|
34
|
+
"minBytes": 1,
|
|
35
|
+
"sniff": "nonempty",
|
|
36
|
+
"artifact": true
|
|
37
|
+
},
|
|
38
|
+
"gate": {
|
|
39
|
+
"at": "completion",
|
|
40
|
+
"checks": [
|
|
41
|
+
{
|
|
42
|
+
"kind": "minBytes",
|
|
43
|
+
"file": "{{workPath}}/flow-design.md",
|
|
44
|
+
"bytes": 120,
|
|
45
|
+
"artifact": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"kind": "sniff",
|
|
49
|
+
"file": "{{workPath}}/flow-design.md",
|
|
50
|
+
"sniff": "nonempty",
|
|
51
|
+
"artifact": true
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"onReject": "flow-design",
|
|
55
|
+
"maxAttempts": 3
|
|
56
|
+
},
|
|
57
|
+
"next": "build",
|
|
58
|
+
"toolPolicy": {
|
|
59
|
+
"disallowBuiltinToolsets": [
|
|
60
|
+
"ai-apps",
|
|
61
|
+
"archives",
|
|
62
|
+
"audio",
|
|
63
|
+
"browser-automation",
|
|
64
|
+
"code-execution",
|
|
65
|
+
"craftbooks",
|
|
66
|
+
"data-tables",
|
|
67
|
+
"entity-intel",
|
|
68
|
+
"git",
|
|
69
|
+
"image-intel",
|
|
70
|
+
"images",
|
|
71
|
+
"role-delegation",
|
|
72
|
+
"role-delegation-escalation",
|
|
73
|
+
"security-intel",
|
|
74
|
+
"team-management",
|
|
75
|
+
"videos",
|
|
76
|
+
"web",
|
|
77
|
+
"workspace-fs-write"
|
|
78
|
+
],
|
|
79
|
+
"outputMedium": "artifact",
|
|
80
|
+
"additionalOutputMedia": [
|
|
81
|
+
"task-note"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "build",
|
|
87
|
+
"name": "Build",
|
|
88
|
+
"description": "implement index.html with stateful step navigation",
|
|
89
|
+
"prompt": "Implement index.html with inline CSS/JS to the flow design. (1) Render all steps but show only the active one; track current step and a form-data object. (2) On Next, validate the current step's fields; block advance and show inline errors if invalid; otherwise save values and advance. (3) On Back, go to the previous step with all values intact (re-populate inputs from the data object). (4) Render a progress indicator (step N of M or a bar). (5) Build the final review step summarizing every answer, and a submit that shows a success message. Style it cleanly and responsively. Vanilla JS, no CDN. On a loop-back, fix only the named gaps without regressing passing criteria. write_task_note the path and passing criteria.",
|
|
90
|
+
"suggestedRole": "developer",
|
|
91
|
+
"advanceWhen": {
|
|
92
|
+
"file": "index.html",
|
|
93
|
+
"minBytes": 1,
|
|
94
|
+
"sniff": "html-complete"
|
|
95
|
+
},
|
|
96
|
+
"gate": {
|
|
97
|
+
"at": "completion",
|
|
98
|
+
"checks": [
|
|
99
|
+
{
|
|
100
|
+
"kind": "minBytes",
|
|
101
|
+
"file": "index.html",
|
|
102
|
+
"bytes": 800
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"kind": "htmlLint",
|
|
106
|
+
"file": "index.html"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"scripts": [
|
|
110
|
+
{
|
|
111
|
+
"name": "checkHtmlComplete",
|
|
112
|
+
"scope": "standard",
|
|
113
|
+
"inputs": {
|
|
114
|
+
"file": "index.html"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"onReject": "build",
|
|
119
|
+
"maxAttempts": 4
|
|
120
|
+
},
|
|
121
|
+
"next": "evaluate",
|
|
122
|
+
"toolPolicy": {
|
|
123
|
+
"disallowBuiltinToolsets": [
|
|
124
|
+
"ai-apps",
|
|
125
|
+
"archives",
|
|
126
|
+
"artifacts",
|
|
127
|
+
"audio",
|
|
128
|
+
"browser-automation",
|
|
129
|
+
"code-execution",
|
|
130
|
+
"craftbooks",
|
|
131
|
+
"data-tables",
|
|
132
|
+
"entity-intel",
|
|
133
|
+
"git",
|
|
134
|
+
"image-intel",
|
|
135
|
+
"images",
|
|
136
|
+
"role-delegation",
|
|
137
|
+
"role-delegation-escalation",
|
|
138
|
+
"security-intel",
|
|
139
|
+
"team-management",
|
|
140
|
+
"videos",
|
|
141
|
+
"web"
|
|
142
|
+
],
|
|
143
|
+
"outputMedium": "workspace",
|
|
144
|
+
"additionalOutputMedia": [
|
|
145
|
+
"task-note"
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "evaluate",
|
|
151
|
+
"name": "Evaluate",
|
|
152
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
153
|
+
"prompt": "Walk the whole wizard. Open index.html if possible: try to advance with invalid input, fill steps, go Back and forward to confirm data is kept, reach the review, and submit. Check EACH criterion from {{workPath}}/flow-design.md and write PASS/FAIL with a reason: is Next blocked when invalid, does Back preserve values, does the progress indicator update, does review show every answer, does submit succeed, zero console errors? Going Back and losing entered data is a FAIL — loop back to build.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"build\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
154
|
+
"suggestedRole": "reviewer",
|
|
155
|
+
"consumes": [
|
|
156
|
+
{
|
|
157
|
+
"file": "index.html"
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"next": "build",
|
|
161
|
+
"toolPolicy": {
|
|
162
|
+
"disallowBuiltinToolsets": [
|
|
163
|
+
"ai-apps",
|
|
164
|
+
"archives",
|
|
165
|
+
"artifacts",
|
|
166
|
+
"audio",
|
|
167
|
+
"browser-automation",
|
|
168
|
+
"code-execution",
|
|
169
|
+
"craftbooks",
|
|
170
|
+
"data-tables",
|
|
171
|
+
"entity-intel",
|
|
172
|
+
"git",
|
|
173
|
+
"image-intel",
|
|
174
|
+
"images",
|
|
175
|
+
"role-delegation",
|
|
176
|
+
"role-delegation-escalation",
|
|
177
|
+
"security-intel",
|
|
178
|
+
"team-management",
|
|
179
|
+
"videos",
|
|
180
|
+
"web",
|
|
181
|
+
"workspace-fs-write"
|
|
182
|
+
],
|
|
183
|
+
"outputMedium": "task-note"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "finish",
|
|
188
|
+
"name": "Finish",
|
|
189
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
190
|
+
"prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
|
|
191
|
+
"suggestedRole": "developer",
|
|
192
|
+
"terminal": true,
|
|
193
|
+
"toolPolicy": {
|
|
194
|
+
"disallowBuiltinToolsets": [
|
|
195
|
+
"ai-apps",
|
|
196
|
+
"archives",
|
|
197
|
+
"artifacts",
|
|
198
|
+
"audio",
|
|
199
|
+
"browser-automation",
|
|
200
|
+
"code-execution",
|
|
201
|
+
"craftbooks",
|
|
202
|
+
"data-tables",
|
|
203
|
+
"entity-intel",
|
|
204
|
+
"git",
|
|
205
|
+
"image-intel",
|
|
206
|
+
"images",
|
|
207
|
+
"role-delegation",
|
|
208
|
+
"role-delegation-escalation",
|
|
209
|
+
"security-intel",
|
|
210
|
+
"team-management",
|
|
211
|
+
"videos",
|
|
212
|
+
"web",
|
|
213
|
+
"workspace-fs-write"
|
|
214
|
+
],
|
|
215
|
+
"outputMedium": "task-note"
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"version": "1.0.3",
|
|
220
|
+
"releasedAt": "2026-09-01T20:00:00Z",
|
|
221
|
+
"minGezelVersion": "1.26233"
|
|
222
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Stateful multi-step signup form",
|
|
4
|
+
"objective": "Run the form-wizard template on a self-contained interactive HTML task with static gates for navigation, validation, progress, review, and success states.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"external"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "In the `Form Wizard Eval` project, build a self-contained `index.html` for a three-step volunteer signup wizard: Contact, Preferences, Review. It must block Next on invalid required fields, preserve entered data when Back is used, show progress, render a review step with every answer, and show a success state on submit. Vanilla HTML/CSS/JS only, no external assets or build step.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Form Wizard Eval",
|
|
11
|
+
"about": "Self-contained eval project for the form-wizard craftbook. The only deliverable is workspace/index.html.",
|
|
12
|
+
"missionObjectives": "Build a three-step wizard with validation, Back preserving state, progress, review, submit success, and no external dependencies.",
|
|
13
|
+
"files": [],
|
|
14
|
+
"worker": {
|
|
15
|
+
"name": "Fenna",
|
|
16
|
+
"role": "Developer"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"mocks": [],
|
|
20
|
+
"success": {
|
|
21
|
+
"summary": "workspace/index.html is a complete interactive page with substantial JS/CSS and visible wizard-state vocabulary.",
|
|
22
|
+
"deliverables": [
|
|
23
|
+
{
|
|
24
|
+
"path": "index.html",
|
|
25
|
+
"kind": "html-page",
|
|
26
|
+
"minBytes": 2600,
|
|
27
|
+
"checks": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "cssMinBytes",
|
|
30
|
+
"bytes": 500,
|
|
31
|
+
"file": "index.html"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"kind": "jsParses",
|
|
35
|
+
"file": "index.html"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"kind": "contains",
|
|
39
|
+
"file": "index.html",
|
|
40
|
+
"pattern": "next|continue",
|
|
41
|
+
"flags": "i"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"kind": "contains",
|
|
45
|
+
"file": "index.html",
|
|
46
|
+
"pattern": "back|previous",
|
|
47
|
+
"flags": "i"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "contains",
|
|
51
|
+
"file": "index.html",
|
|
52
|
+
"pattern": "review|summary",
|
|
53
|
+
"flags": "i"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "contains",
|
|
57
|
+
"file": "index.html",
|
|
58
|
+
"pattern": "progress|step\\s+\\d",
|
|
59
|
+
"flags": "i"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "contains",
|
|
63
|
+
"file": "index.html",
|
|
64
|
+
"pattern": "success|submitted|thank",
|
|
65
|
+
"flags": "i"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"rubric": {
|
|
72
|
+
"artifact": {
|
|
73
|
+
"path": "index.html",
|
|
74
|
+
"kind": "html"
|
|
75
|
+
},
|
|
76
|
+
"axes": [
|
|
77
|
+
{
|
|
78
|
+
"name": "safety",
|
|
79
|
+
"description": "Dry-run posture is explicit: no real credentials, clear stop-before-side-effect boundary."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "mapping",
|
|
83
|
+
"description": "Fake endpoints/commands are mapped completely to the workflow steps."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "signals",
|
|
87
|
+
"description": "Success, failure, retry, and abort conditions are all defined."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "containment",
|
|
91
|
+
"description": "The plan cannot accidentally reach a real service from a mock context."
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"qualityFocus": [
|
|
96
|
+
"stateful UI",
|
|
97
|
+
"static HTML gates",
|
|
98
|
+
"craftbook prompt routing"
|
|
99
|
+
],
|
|
100
|
+
"extensions": {
|
|
101
|
+
"legacySimulators": [
|
|
102
|
+
{
|
|
103
|
+
"id": "form-wizard-fake-service-fixture",
|
|
104
|
+
"kind": "data-source",
|
|
105
|
+
"status": "implemented",
|
|
106
|
+
"description": "Seeded local fake service contract replacing live CLIs, HTTP APIs, credentials, and side effects."
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "freeze-scope",
|
|
3
|
+
"name": "Freeze Scope",
|
|
4
|
+
"description": "Confine Gezel’s built-in workspace mutation surface to one directory. Direct file writes, patches, renames, deletes, directory creation, copies, and archive extraction are allowed only inside the chosen boundary. Built-in code/package executors whose write targets cannot be proven are blocked until the task ends. Custom project-type and third-party tools are outside this hook contract and must not be used while frozen.",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
9
|
+
"plan": "Step 1 agrees the boundary with the user and records it at `.gezel/freeze.json`. From then on the PreToolUse hook checks every built-in workspace mutation destination and denies paths outside the frozen directory. It also fails closed on built-in code/package executors whose filesystem effects are not declared. Custom project-type and third-party tools are explicitly out of contract and must not be called while frozen (the state file itself stays writable so the boundary can be adjusted deliberately).",
|
|
10
|
+
"entryStepId": "set-boundary",
|
|
11
|
+
"triggers": [
|
|
12
|
+
"freeze scope",
|
|
13
|
+
"only touch",
|
|
14
|
+
"stay inside",
|
|
15
|
+
"lock edits to"
|
|
16
|
+
],
|
|
17
|
+
"command": "freeze-scope",
|
|
18
|
+
"hooks": [
|
|
19
|
+
{
|
|
20
|
+
"phase": "PreToolUse",
|
|
21
|
+
"matcher": "^(write_file|append_to_file|replace_in_file|replace_lines|apply_patch|insert_at_marker|copy_artifact_to_workspace|make_dir|delete_path|rename|extract_archive|npm_install|run_package_script|run_npx|run_nodejs_script|derive_file|run_playwright_script|run_installed_script|apply_project_type)$",
|
|
22
|
+
"script": {
|
|
23
|
+
"name": "check-freeze",
|
|
24
|
+
"scope": "craftbook"
|
|
25
|
+
},
|
|
26
|
+
"label": "freeze: write-boundary check"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"steps": [
|
|
30
|
+
{
|
|
31
|
+
"id": "set-boundary",
|
|
32
|
+
"name": "Agree the frozen directory",
|
|
33
|
+
"prompt": "Confirm with the user which single workspace directory edits are allowed in — use `ask_user_question` if the kickoff didn’t name one. Then record it by writing `.gezel/freeze.json` with exactly:\n\n```json\n{ \"dir\": \"<workspace-relative-directory>\" }\n```\n\nUse a relative path with no leading `./` and no trailing slash (e.g. `src/billing`). Tell the user the freeze is on and advance.",
|
|
34
|
+
"suggestedRole": "planner",
|
|
35
|
+
"next": "frozen",
|
|
36
|
+
"toolPolicy": {
|
|
37
|
+
"disallowBuiltinToolsets": [
|
|
38
|
+
"ai-apps",
|
|
39
|
+
"archives",
|
|
40
|
+
"artifacts",
|
|
41
|
+
"audio",
|
|
42
|
+
"browser-automation",
|
|
43
|
+
"code-execution",
|
|
44
|
+
"craftbooks",
|
|
45
|
+
"data-tables",
|
|
46
|
+
"entity-intel",
|
|
47
|
+
"git",
|
|
48
|
+
"image-intel",
|
|
49
|
+
"images",
|
|
50
|
+
"role-delegation",
|
|
51
|
+
"role-delegation-escalation",
|
|
52
|
+
"security-intel",
|
|
53
|
+
"team-management",
|
|
54
|
+
"videos",
|
|
55
|
+
"web",
|
|
56
|
+
"workspace-fs-write"
|
|
57
|
+
],
|
|
58
|
+
"outputMedium": "none"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "frozen",
|
|
63
|
+
"name": "Freeze active",
|
|
64
|
+
"prompt": "The built-in write boundary is active: direct file mutations outside the frozen directory are denied automatically — you will see the denial as a tool error naming the boundary. Opaque built-in execution tools (`npm_install`, package/npx/Node/Playwright/installed scripts, `derive_file`, and project-type application) are blocked because their extra write targets cannot be proven. Custom project-type and third-party tools are not covered by this hook and must not be called while frozen. Work with direct workspace tools inside the directory. If the work genuinely needs an executor, custom tool, or outside path, do NOT fight the boundary: explain why and let the user widen `.gezel/freeze.json` or end this task.",
|
|
65
|
+
"suggestedRole": "developer",
|
|
66
|
+
"terminal": true,
|
|
67
|
+
"toolPolicy": {
|
|
68
|
+
"disallowBuiltinToolsets": [
|
|
69
|
+
"ai-apps",
|
|
70
|
+
"archives",
|
|
71
|
+
"artifacts",
|
|
72
|
+
"audio",
|
|
73
|
+
"craftbooks",
|
|
74
|
+
"data-tables",
|
|
75
|
+
"entity-intel",
|
|
76
|
+
"git",
|
|
77
|
+
"image-intel",
|
|
78
|
+
"images",
|
|
79
|
+
"role-delegation",
|
|
80
|
+
"role-delegation-escalation",
|
|
81
|
+
"security-intel",
|
|
82
|
+
"team-management",
|
|
83
|
+
"videos",
|
|
84
|
+
"web",
|
|
85
|
+
"workspace-fs-write"
|
|
86
|
+
],
|
|
87
|
+
"outputMedium": "none"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"scripts": {
|
|
92
|
+
"check-freeze": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'check-freeze',\n description: 'Block workspace writes outside the frozen directory (freeze scope).',\n inputs: {\n toolName: { type: 'string', description: 'Matched MCP tool name.', required: true },\n args: { type: 'json', description: 'Tool arguments.', required: true },\n phase: { type: 'string', description: 'Hook phase.', required: true },\n },\n outputs: {\n decision: { type: 'string', description: 'allow | deny' },\n message: { type: 'string', description: 'Reason shown on deny.' },\n },\n requires: ['workspace.read'],\n});\n\nconst STATE_FILE = '.gezel/freeze.json';\n\nfunction normalize(p: string): string {\n return p.replace(/\\\\/g, '/').replace(/\\/{2,}/g, '/').replace(/^\\.\\//, '').replace(/\\/$/, '');\n}\n\nasync function main(): Promise<void> {\n const input = gezel.input as { toolName?: unknown; args?: Record<string, unknown> };\n const toolName = String(input.toolName ?? '');\n const args = input.args ?? {};\n\n let frozenDir = '';\n try {\n const raw = await gezel.fs.read(STATE_FILE);\n frozenDir = normalize(String(JSON.parse(raw).dir ?? ''));\n } catch {\n // Not configured yet (the setup step writes it) — allow everything.\n gezel.output({ decision: 'allow', message: '' });\n return;\n }\n if (!frozenDir) {\n gezel.output({ decision: 'allow', message: '' });\n return;\n }\n\n // Arbitrary code and project-type application can write paths that are not\n // declared in their tool arguments. Fail closed: direct file tools remain\n // available inside the boundary, while opaque executors must wait until\n // the freeze is lifted.\n const unboundedWriteTools = new Set([\n 'npm_install',\n 'run_package_script',\n 'run_npx',\n 'run_nodejs_script',\n 'derive_file',\n 'run_playwright_script',\n 'run_installed_script',\n 'apply_project_type',\n ]);\n if (unboundedWriteTools.has(toolName)) {\n gezel.output({\n decision: 'deny',\n message:\n '[freeze] ' + toolName + ' can write undeclared paths, so it is blocked while freeze scope is active. Use direct workspace tools inside \"' + frozenDir + '/\", or end the freeze before running code.',\n });\n return;\n }\n\n // Only write destinations count. Source paths may live elsewhere and are\n // safe to read (copy_artifact_to_workspace and extract_archive).\n const candidateKeys =\n toolName === 'rename'\n ? ['fromPath', 'toPath']\n : toolName === 'copy_artifact_to_workspace'\n ? ['dest']\n : toolName === 'extract_archive'\n ? ['outputPath']\n : ['path'];\n const candidates = candidateKeys\n .map((key) => (args as Record<string, unknown>)[key])\n .filter((value): value is string => typeof value === 'string' && value.length > 0)\n .map(normalize);\n if (candidates.length === 0) {\n gezel.output({\n decision: 'deny',\n message: '[freeze] This write call did not expose a destination path, so its boundary cannot be verified.',\n });\n return;\n }\n\n for (const candidate of candidates) {\n const inside = candidate === frozenDir || candidate.startsWith(frozenDir + '/');\n const isStateFile = candidate === normalize(STATE_FILE);\n if (candidate.includes('..')) {\n gezel.output({ decision: 'deny', message: '[freeze] Path escapes are blocked while freeze scope is active.' });\n return;\n }\n if (!inside && !isStateFile) {\n gezel.output({\n decision: 'deny',\n message:\n '[freeze] Writes are frozen to \"' + frozenDir + '/\" — \"' + candidate + '\" is outside it. Finish the scoped work first, or end the freeze-scope task to lift the boundary.',\n });\n return;\n }\n }\n gezel.output({ decision: 'allow', message: '' });\n}\n\nawait main();\n"
|
|
93
|
+
},
|
|
94
|
+
"version": "1.3.1",
|
|
95
|
+
"releasedAt": "2026-09-01T20:00:00Z"
|
|
96
|
+
}
|