@vm0/cli 9.174.3 → 9.175.1
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/{chunk-HS5QLAW2.js → chunk-23CPS6PB.js} +19 -7
- package/{chunk-HS5QLAW2.js.map → chunk-23CPS6PB.js.map} +1 -1
- package/index.js +9 -9
- package/package.json +1 -1
- package/zero.js +526 -153
- package/zero.js.map +1 -1
package/zero.js
CHANGED
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
withErrorHandler,
|
|
146
146
|
zeroAgentCustomSkillNameSchema,
|
|
147
147
|
zeroTokenAllowsFeatureSwitch
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-23CPS6PB.js";
|
|
149
149
|
import {
|
|
150
150
|
__toESM,
|
|
151
151
|
init_esm_shims
|
|
@@ -7519,770 +7519,896 @@ var RESOURCE_REGISTRY = [
|
|
|
7519
7519
|
kind: "template",
|
|
7520
7520
|
name: "Dashboard",
|
|
7521
7521
|
description: "Admin or analytics dashboard in a single HTML file with fixed sidebar, top bar, KPI cards, and one or two charts.",
|
|
7522
|
-
source: { path: "design-templates/dashboard" }
|
|
7522
|
+
source: { path: "design-templates/dashboard" },
|
|
7523
|
+
targets: ["dashboard-design"]
|
|
7523
7524
|
},
|
|
7524
7525
|
{
|
|
7525
7526
|
id: "template:finance-report",
|
|
7526
7527
|
kind: "template",
|
|
7527
7528
|
name: "Finance Report",
|
|
7528
7529
|
description: "Quarterly or monthly financial report with masthead KPIs, revenue and burn charts, P&L summary, highlights, and outlook.",
|
|
7529
|
-
source: { path: "design-templates/finance-report" }
|
|
7530
|
+
source: { path: "design-templates/finance-report" },
|
|
7531
|
+
targets: ["report"]
|
|
7530
7532
|
},
|
|
7531
7533
|
{
|
|
7532
7534
|
id: "template:docs-page",
|
|
7533
7535
|
kind: "template",
|
|
7534
7536
|
name: "Docs Page",
|
|
7535
7537
|
description: "Documentation page with inline-start navigation, scrollable article body, and inline-end table of contents.",
|
|
7536
|
-
source: { path: "design-templates/docs-page" }
|
|
7538
|
+
source: { path: "design-templates/docs-page" },
|
|
7539
|
+
targets: ["docs-design"]
|
|
7537
7540
|
},
|
|
7538
7541
|
{
|
|
7539
7542
|
id: "template:mobile-app",
|
|
7540
7543
|
kind: "template",
|
|
7541
7544
|
name: "Mobile App Design",
|
|
7542
7545
|
description: "Mobile app screen rendered inside a pixel-accurate iPhone 15 Pro frame using reusable screen archetypes.",
|
|
7543
|
-
source: { path: "design-templates/mobile-app" }
|
|
7546
|
+
source: { path: "design-templates/mobile-app" },
|
|
7547
|
+
targets: ["mobile-app-design"]
|
|
7544
7548
|
},
|
|
7545
7549
|
{
|
|
7546
7550
|
id: "template:html-ppt-graphify-dark-graph",
|
|
7547
7551
|
kind: "template",
|
|
7548
7552
|
name: "Graphify Dark Graph",
|
|
7549
7553
|
description: "Dark knowledge-graph deck with midnight gradients, force-graph cover visuals, command-line highlights, and glass-morphism cards.",
|
|
7550
|
-
source: { path: "design-templates/html-ppt-graphify-dark-graph" }
|
|
7554
|
+
source: { path: "design-templates/html-ppt-graphify-dark-graph" },
|
|
7555
|
+
targets: ["presentation"]
|
|
7551
7556
|
},
|
|
7552
7557
|
{
|
|
7553
7558
|
id: "template:html-ppt-zhangzara-retro-zine",
|
|
7554
7559
|
kind: "template",
|
|
7555
7560
|
name: "Zhangzara Retro Zine",
|
|
7556
7561
|
description: "Retro editorial zine presentation template with expressive composition, tactile paper energy, and bold magazine-like rhythm.",
|
|
7557
|
-
source: { path: "design-templates/html-ppt-zhangzara-retro-zine" }
|
|
7562
|
+
source: { path: "design-templates/html-ppt-zhangzara-retro-zine" },
|
|
7563
|
+
targets: ["presentation", "poster"]
|
|
7558
7564
|
},
|
|
7559
7565
|
{
|
|
7560
7566
|
id: "template:weekly-update",
|
|
7561
7567
|
kind: "template",
|
|
7562
7568
|
name: "Weekly Update",
|
|
7563
7569
|
description: "Single-file horizontal-swipe weekly team update deck for shipped work, in-flight work, blockers, metrics, and asks.",
|
|
7564
|
-
source: { path: "design-templates/weekly-update" }
|
|
7570
|
+
source: { path: "design-templates/weekly-update" },
|
|
7571
|
+
targets: ["report", "presentation"]
|
|
7565
7572
|
},
|
|
7566
7573
|
{
|
|
7567
7574
|
id: "template:web-prototype-taste-editorial",
|
|
7568
7575
|
kind: "template",
|
|
7569
7576
|
name: "Taste Editorial Web Prototype",
|
|
7570
7577
|
description: "Editorial-minimalist web prototype with warm monochrome canvas, serif display type, hairline borders, pastel chips, and ambient micro-motion.",
|
|
7571
|
-
source: { path: "design-templates/web-prototype-taste-editorial" }
|
|
7578
|
+
source: { path: "design-templates/web-prototype-taste-editorial" },
|
|
7579
|
+
targets: ["website"]
|
|
7572
7580
|
},
|
|
7573
7581
|
{
|
|
7574
7582
|
id: "template:audio-jingle",
|
|
7575
7583
|
kind: "template",
|
|
7576
7584
|
name: "Audio Jingle",
|
|
7577
7585
|
description: "Audio generation skill \u2014 jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file\u2026",
|
|
7578
|
-
source: { path: "design-templates/audio-jingle" }
|
|
7586
|
+
source: { path: "design-templates/audio-jingle" },
|
|
7587
|
+
targets: ["intro-video"]
|
|
7579
7588
|
},
|
|
7580
7589
|
{
|
|
7581
7590
|
id: "template:blog-post",
|
|
7582
7591
|
kind: "template",
|
|
7583
7592
|
name: "Blog Post",
|
|
7584
7593
|
description: "A long-form article / blog post \u2014 masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts.",
|
|
7585
|
-
source: { path: "design-templates/blog-post" }
|
|
7594
|
+
source: { path: "design-templates/blog-post" },
|
|
7595
|
+
targets: ["website"]
|
|
7586
7596
|
},
|
|
7587
7597
|
{
|
|
7588
7598
|
id: "template:clinical-case-report",
|
|
7589
7599
|
kind: "template",
|
|
7590
7600
|
name: "Clinical Case Report",
|
|
7591
7601
|
description: "Structured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans.",
|
|
7592
|
-
source: { path: "design-templates/clinical-case-report" }
|
|
7602
|
+
source: { path: "design-templates/clinical-case-report" },
|
|
7603
|
+
targets: ["report"]
|
|
7593
7604
|
},
|
|
7594
7605
|
{
|
|
7595
7606
|
id: "template:critique",
|
|
7596
7607
|
kind: "template",
|
|
7597
7608
|
name: "Critique",
|
|
7598
7609
|
description: "Run a 5-dimension expert design review on any HTML artifact in the project \u2014 Philosophy / Visual hierarchy / Detail / Functionality / Innovation, each scored 0\u201310. Outputs a single self-contained HTML report with a radar chart, evidence\u2026",
|
|
7599
|
-
source: { path: "design-templates/critique" }
|
|
7610
|
+
source: { path: "design-templates/critique" },
|
|
7611
|
+
targets: [
|
|
7612
|
+
"website",
|
|
7613
|
+
"dashboard-design",
|
|
7614
|
+
"presentation",
|
|
7615
|
+
"report",
|
|
7616
|
+
"docs-design",
|
|
7617
|
+
"poster",
|
|
7618
|
+
"mobile-app-design"
|
|
7619
|
+
]
|
|
7600
7620
|
},
|
|
7601
7621
|
{
|
|
7602
7622
|
id: "template:dating-web",
|
|
7603
7623
|
kind: "template",
|
|
7604
7624
|
name: "Dating Web",
|
|
7605
7625
|
description: "A consumer-feeling dating / matchmaking dashboard \u2014 left rail navigation, ticker bar of community signals, headline KPIs, a 30-day mutual-matches bar chart, and a match-rate trend block. Editorial typography, restrained accent.",
|
|
7606
|
-
source: { path: "design-templates/dating-web" }
|
|
7626
|
+
source: { path: "design-templates/dating-web" },
|
|
7627
|
+
targets: ["website"]
|
|
7607
7628
|
},
|
|
7608
7629
|
{
|
|
7609
7630
|
id: "template:dcf-valuation",
|
|
7610
7631
|
kind: "template",
|
|
7611
7632
|
name: "Dcf Valuation",
|
|
7612
7633
|
description: "Discounted cash flow valuation and intrinsic value analysis for public companies.",
|
|
7613
|
-
source: { path: "design-templates/dcf-valuation" }
|
|
7634
|
+
source: { path: "design-templates/dcf-valuation" },
|
|
7635
|
+
targets: ["report"]
|
|
7614
7636
|
},
|
|
7615
7637
|
{
|
|
7616
7638
|
id: "template:digital-eguide",
|
|
7617
7639
|
kind: "template",
|
|
7618
7640
|
name: "Digital Eguide",
|
|
7619
7641
|
description: `A two-spread digital e-guide preview \u2014 page 1 is a cover (display title, author, "What's inside" stats, table of contents teaser); page 2 is a spread (lesson body with pull-quote and a step list). Lifestyle / creator brand tone.`,
|
|
7620
|
-
source: { path: "design-templates/digital-eguide" }
|
|
7642
|
+
source: { path: "design-templates/digital-eguide" },
|
|
7643
|
+
targets: ["website", "docs-design"]
|
|
7621
7644
|
},
|
|
7622
7645
|
{
|
|
7623
7646
|
id: "template:email-marketing",
|
|
7624
7647
|
kind: "template",
|
|
7625
7648
|
name: "Email Marketing",
|
|
7626
7649
|
description: "A brand product-launch email \u2014 masthead with wordmark, hero image block, headline lockup with skewed-italic accent, body copy, primary CTA, and a specifications grid. Pure HTML email layout (centered single column, table fallback).",
|
|
7627
|
-
source: { path: "design-templates/email-marketing" }
|
|
7650
|
+
source: { path: "design-templates/email-marketing" },
|
|
7651
|
+
targets: ["website"]
|
|
7628
7652
|
},
|
|
7629
7653
|
{
|
|
7630
7654
|
id: "template:eng-runbook",
|
|
7631
7655
|
kind: "template",
|
|
7632
7656
|
name: "Eng Runbook",
|
|
7633
7657
|
description: "An engineering runbook \u2014 service overview, alerts table, dashboards links, common procedures with copy-pasteable commands, on-call rotation, and an incident-response checklist.",
|
|
7634
|
-
source: { path: "design-templates/eng-runbook" }
|
|
7658
|
+
source: { path: "design-templates/eng-runbook" },
|
|
7659
|
+
targets: ["docs-design"]
|
|
7635
7660
|
},
|
|
7636
7661
|
{
|
|
7637
7662
|
id: "template:flowai-live-dashboard-template",
|
|
7638
7663
|
kind: "template",
|
|
7639
7664
|
name: "Flowai Live Dashboard Template",
|
|
7640
7665
|
description: "FlowAI team-management dashboard \u2014 three tabs (Members, Details, Activity Log), KPI row, role chart, presence sparklines, contributor panel, light/dark, CSV export, single HTML.",
|
|
7641
|
-
source: { path: "design-templates/flowai-live-dashboard-template" }
|
|
7666
|
+
source: { path: "design-templates/flowai-live-dashboard-template" },
|
|
7667
|
+
targets: ["dashboard-design"]
|
|
7642
7668
|
},
|
|
7643
7669
|
{
|
|
7644
7670
|
id: "template:gamified-app",
|
|
7645
7671
|
kind: "template",
|
|
7646
7672
|
name: "Gamified App",
|
|
7647
7673
|
description: "A multi-frame gamified mobile-app prototype \u2014 three phone frames on a dark showcase stage. Frame 1: cover / poster, Frame 2: today's quests with XP ribbons and a level bar, Frame 3: quest detail. Vivid quest tiles, level ribbon, bottom t\u2026",
|
|
7648
|
-
source: { path: "design-templates/gamified-app" }
|
|
7674
|
+
source: { path: "design-templates/gamified-app" },
|
|
7675
|
+
targets: ["website", "mobile-app-design"]
|
|
7649
7676
|
},
|
|
7650
7677
|
{
|
|
7651
7678
|
id: "template:github-dashboard",
|
|
7652
7679
|
kind: "template",
|
|
7653
7680
|
name: "Github Dashboard",
|
|
7654
7681
|
description: "GitHub repository analytics dashboard \u2014 stars, forks, contributors, issues, pull requests, recent activity, and top contributors.",
|
|
7655
|
-
source: { path: "design-templates/github-dashboard" }
|
|
7682
|
+
source: { path: "design-templates/github-dashboard" },
|
|
7683
|
+
targets: ["dashboard-design"]
|
|
7656
7684
|
},
|
|
7657
7685
|
{
|
|
7658
7686
|
id: "template:guizang-ppt",
|
|
7659
7687
|
kind: "template",
|
|
7660
7688
|
name: "Guizang PPT",
|
|
7661
7689
|
description: "\u7535\u5B50\u6742\u5FD7 \xD7 \u7535\u5B50\u58A8\u6C34\u98CE\u683C\u7684\u6A2A\u5411\u7FFB\u9875\u7F51\u9875 PPT \u2014 WebGL \u6D41\u4F53\u80CC\u666F\u3001\u886C\u7EBF\u6807\u9898\u3001\u7AE0\u8282\u5E55\u5C01\u3001\u6570\u636E\u5927\u5B57\u62A5\u3001\u56FE\u7247\u7F51\u683C\u3002\u9002\u5408\u5206\u4EAB / \u6F14\u8BB2 / \u53D1\u5E03\u4F1A / \u6742\u5FD7\u98CE PPT\u3002",
|
|
7662
|
-
source: { path: "design-templates/guizang-ppt" }
|
|
7690
|
+
source: { path: "design-templates/guizang-ppt" },
|
|
7691
|
+
targets: ["presentation"]
|
|
7663
7692
|
},
|
|
7664
7693
|
{
|
|
7665
7694
|
id: "template:hr-onboarding",
|
|
7666
7695
|
kind: "template",
|
|
7667
7696
|
name: "Hr Onboarding",
|
|
7668
7697
|
description: `A new-hire onboarding plan as a single page \u2014 first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when\u2026" outcomes.`,
|
|
7669
|
-
source: { path: "design-templates/hr-onboarding" }
|
|
7698
|
+
source: { path: "design-templates/hr-onboarding" },
|
|
7699
|
+
targets: ["docs-design"]
|
|
7670
7700
|
},
|
|
7671
7701
|
{
|
|
7672
7702
|
id: "template:html-ppt",
|
|
7673
7703
|
kind: "template",
|
|
7674
7704
|
name: "HTML PPT",
|
|
7675
7705
|
description: "HTML PPT Studio \u2014 static HTML presentations driven by templates. Many styles, layouts, animations, and keyboard navigation for talks, pitches, reports, and \u5C0F\u7EA2\u4E66\u56FE\u6587.",
|
|
7676
|
-
source: { path: "design-templates/html-ppt" }
|
|
7706
|
+
source: { path: "design-templates/html-ppt" },
|
|
7707
|
+
targets: ["presentation"]
|
|
7677
7708
|
},
|
|
7678
7709
|
{
|
|
7679
7710
|
id: "template:html-ppt-course-module",
|
|
7680
7711
|
kind: "template",
|
|
7681
7712
|
name: "HTML PPT Course Module",
|
|
7682
7713
|
description: "Online-course / workshop module deck \u2014 warm paper background + Playfair serif, persistent left sidebar of learning objectives, MCQ self-check page. Use for teaching modules, training materials, workshop slides.",
|
|
7683
|
-
source: { path: "design-templates/html-ppt-course-module" }
|
|
7714
|
+
source: { path: "design-templates/html-ppt-course-module" },
|
|
7715
|
+
targets: ["presentation"]
|
|
7684
7716
|
},
|
|
7685
7717
|
{
|
|
7686
7718
|
id: "template:html-ppt-dir-key-nav-minimal",
|
|
7687
7719
|
kind: "template",
|
|
7688
7720
|
name: "HTML PPT Dir Key Nav Minimal",
|
|
7689
7721
|
description: "\u6781\u7B80\u65B9\u5411\u952E keynote \u2014 \u6BCF\u9875\u72EC\u7ACB\u5355\u8272\u80CC\u666F\u3001160px display \u6807\u9898\u30014px accent \u7EBF\u3001\u7BAD\u5934 \u2192 \u524D\u7F00 Mono \u5217\u8868\u3001\u2190 \u2192 kbd \u63D0\u793A\u3002\u9002\u5408 keynote\u3001launch\u3001\u516C\u5F00\u6F14\u8BB2\u3002",
|
|
7690
|
-
source: { path: "design-templates/html-ppt-dir-key-nav-minimal" }
|
|
7722
|
+
source: { path: "design-templates/html-ppt-dir-key-nav-minimal" },
|
|
7723
|
+
targets: ["presentation"]
|
|
7691
7724
|
},
|
|
7692
7725
|
{
|
|
7693
7726
|
id: "template:html-ppt-hermes-cyber-terminal",
|
|
7694
7727
|
kind: "template",
|
|
7695
7728
|
name: "HTML PPT Hermes Cyber Terminal",
|
|
7696
7729
|
description: "\u6697\u7EC8\u7AEF honest-review deck \u2014 \u9ED1\u5E95 + \u8D5B\u535A\u7F51\u683C + CRT \u6697\u89D2 + \u626B\u63CF\u7EBF\u3001`$ prompt` \u547D\u4EE4\u884C\u6807\u9898\u3001\u8584\u8377\u7EFF\u5927\u5B57\u3001JetBrains Mono\u3001stroke-only \u67F1\u72B6\u56FE\u3002\u9002\u5408 CLI/agent/dev tool \u6D4B\u8BC4\u3002",
|
|
7697
|
-
source: { path: "design-templates/html-ppt-hermes-cyber-terminal" }
|
|
7730
|
+
source: { path: "design-templates/html-ppt-hermes-cyber-terminal" },
|
|
7731
|
+
targets: ["presentation"]
|
|
7698
7732
|
},
|
|
7699
7733
|
{
|
|
7700
7734
|
id: "template:html-ppt-knowledge-arch-blueprint",
|
|
7701
7735
|
kind: "template",
|
|
7702
7736
|
name: "HTML PPT Knowledge Arch Blueprint",
|
|
7703
7737
|
description: "\u5976\u6CB9\u84DD\u56FE\u67B6\u6784 deck \u2014 \u5976\u6CB9\u7EB8\u5E95\u8272 + \u5355\u4E00\u9508\u7EA2\u9AD8\u4EAE\u300148px \u84DD\u56FE\u7F51\u683C\u30012px \u9ED1\u8FB9\u786C\u5361\u7247\u3001pipeline \u6B65\u9AA4\u76D2\u3001\u53F3\u4FA7 insight callout\u3001Playfair \u886C\u7EBF\u5927\u5B57\u3002\u96F6\u6E10\u53D8\u96F6\u8F6F\u9634\u5F71\u3002",
|
|
7704
|
-
source: { path: "design-templates/html-ppt-knowledge-arch-blueprint" }
|
|
7738
|
+
source: { path: "design-templates/html-ppt-knowledge-arch-blueprint" },
|
|
7739
|
+
targets: ["presentation"]
|
|
7705
7740
|
},
|
|
7706
7741
|
{
|
|
7707
7742
|
id: "template:html-ppt-obsidian-claude-gradient",
|
|
7708
7743
|
kind: "template",
|
|
7709
7744
|
name: "HTML PPT Obsidian Claude Gradient",
|
|
7710
7745
|
description: "GitHub \u6697\u7D2B\u6E10\u53D8 deck \u2014 GitHub-dark + \u7D2B\u84DD radial \u73AF\u5883\u5149 + 60px \u7F51\u683C\u3001\u7D2B\u8272 pill \u6807\u7B7E\u3001\u4E09\u8272\u6E10\u53D8\u6807\u9898\u3001GitHub \u98CE\u4EE3\u7801 palette\u3002\u9002\u5408\u5F00\u53D1\u8005\u5DE5\u4F5C\u6D41 / MCP / Agent \u6559\u7A0B\u3002",
|
|
7711
|
-
source: { path: "design-templates/html-ppt-obsidian-claude-gradient" }
|
|
7746
|
+
source: { path: "design-templates/html-ppt-obsidian-claude-gradient" },
|
|
7747
|
+
targets: ["presentation"]
|
|
7712
7748
|
},
|
|
7713
7749
|
{
|
|
7714
7750
|
id: "template:html-ppt-pitch-deck",
|
|
7715
7751
|
kind: "template",
|
|
7716
7752
|
name: "HTML PPT Pitch Deck",
|
|
7717
7753
|
description: "Investor-ready 10-slide HTML pitch deck \u2014 white + blue\u2192purple gradient hero, big numbers, traction bar chart, $4.5M-style ask page.",
|
|
7718
|
-
source: { path: "design-templates/html-ppt-pitch-deck" }
|
|
7754
|
+
source: { path: "design-templates/html-ppt-pitch-deck" },
|
|
7755
|
+
targets: ["presentation"]
|
|
7719
7756
|
},
|
|
7720
7757
|
{
|
|
7721
7758
|
id: "template:html-ppt-presenter-mode-reveal",
|
|
7722
7759
|
kind: "template",
|
|
7723
7760
|
name: "HTML PPT Presenter Mode Reveal",
|
|
7724
7761
|
description: "\u6F14\u8BB2\u8005\u6A21\u5F0F deck \u2014 tokyo-night \u9ED8\u8BA4\u4E3B\u9898\uFF0C5 \u5957\u4E3B\u9898 T \u952E\u5207\u6362\uFF0C\u6BCF\u9875\u5E26 150-300 \u5B57\u9010\u5B57\u7A3F\u793A\u4F8B\uFF0C\u6309 S \u6253\u5F00 CURRENT/NEXT/SCRIPT/TIMER \u56DB\u5F20\u78C1\u5438\u5361\u7247\u3002\u9002\u5408\u63D0\u8BCD\u5668\u573A\u666F\u3002",
|
|
7725
|
-
source: { path: "design-templates/html-ppt-presenter-mode-reveal" }
|
|
7762
|
+
source: { path: "design-templates/html-ppt-presenter-mode-reveal" },
|
|
7763
|
+
targets: ["presentation"]
|
|
7726
7764
|
},
|
|
7727
7765
|
{
|
|
7728
7766
|
id: "template:html-ppt-product-launch",
|
|
7729
7767
|
kind: "template",
|
|
7730
7768
|
name: "HTML PPT Product Launch",
|
|
7731
7769
|
description: "Launch keynote deck \u2014 dark hero + light content, warm orange\u2192peach accent, feature cards, pricing tiers, CTA.",
|
|
7732
|
-
source: { path: "design-templates/html-ppt-product-launch" }
|
|
7770
|
+
source: { path: "design-templates/html-ppt-product-launch" },
|
|
7771
|
+
targets: ["presentation"]
|
|
7733
7772
|
},
|
|
7734
7773
|
{
|
|
7735
7774
|
id: "template:html-ppt-taste-brutalist",
|
|
7736
7775
|
kind: "template",
|
|
7737
7776
|
name: "HTML PPT Taste Brutalist",
|
|
7738
7777
|
description: "16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill `brutal\u2026",
|
|
7739
|
-
source: { path: "design-templates/html-ppt-taste-brutalist" }
|
|
7778
|
+
source: { path: "design-templates/html-ppt-taste-brutalist" },
|
|
7779
|
+
targets: ["presentation"]
|
|
7740
7780
|
},
|
|
7741
7781
|
{
|
|
7742
7782
|
id: "template:html-ppt-taste-editorial",
|
|
7743
7783
|
kind: "template",
|
|
7744
7784
|
name: "HTML PPT Taste Editorial",
|
|
7745
7785
|
description: "16:9 HTML deck in editorial-minimalist taste. Warm cream slides, serif display + grotesque body, hairline rules, monospace meta, generous macro-whitespace, one accent. Distilled from Leonxlnx/taste-skill `minimalist-skill`.",
|
|
7746
|
-
source: { path: "design-templates/html-ppt-taste-editorial" }
|
|
7786
|
+
source: { path: "design-templates/html-ppt-taste-editorial" },
|
|
7787
|
+
targets: ["presentation"]
|
|
7747
7788
|
},
|
|
7748
7789
|
{
|
|
7749
7790
|
id: "template:html-ppt-tech-sharing",
|
|
7750
7791
|
kind: "template",
|
|
7751
7792
|
name: "HTML PPT Tech Sharing",
|
|
7752
7793
|
description: "Conference / internal tech-talk deck \u2014 GitHub-dark, JetBrains Mono, terminal code blocks, agenda + Q&A pages. Use for engineering presentations, internal sharing sessions, conference talks, and code-heavy walkthroughs.",
|
|
7753
|
-
source: { path: "design-templates/html-ppt-tech-sharing" }
|
|
7794
|
+
source: { path: "design-templates/html-ppt-tech-sharing" },
|
|
7795
|
+
targets: ["presentation"]
|
|
7754
7796
|
},
|
|
7755
7797
|
{
|
|
7756
7798
|
id: "template:html-ppt-testing-safety-alert",
|
|
7757
7799
|
kind: "template",
|
|
7758
7800
|
name: "HTML PPT Testing Safety Alert",
|
|
7759
7801
|
description: "\u7EA2\u7425\u73C0\u8B66\u793A deck \u2014 \u9876/\u5E95 45\xB0 \u7EA2\u9ED1 hazard \u6761\u7EB9\u3001\u7EA2\u8272\u5426\u5B9A\u6807\u9898\u3001L1/L2/L3 \u4E09\u6863\u5361\u7247\u3001policy-yaml \u4EE3\u7801\u5757\u3001\u7EA2\u7EFF checklist\u3001\u4E8B\u6545\u5806\u53E0\u67F1\u72B6\u56FE\u3002\u9002\u5408\u5B89\u5168 / \u98CE\u9669 / \u590D\u76D8 / \u7EA2\u961F\u3002",
|
|
7760
|
-
source: { path: "design-templates/html-ppt-testing-safety-alert" }
|
|
7802
|
+
source: { path: "design-templates/html-ppt-testing-safety-alert" },
|
|
7803
|
+
targets: ["presentation"]
|
|
7761
7804
|
},
|
|
7762
7805
|
{
|
|
7763
7806
|
id: "template:html-ppt-weekly-report",
|
|
7764
7807
|
kind: "template",
|
|
7765
7808
|
name: "HTML PPT Weekly Report",
|
|
7766
7809
|
description: "Team weekly / status-update deck \u2014 corporate clarity, 8-cell KPI grid, shipped list, 8-week bar chart, next-week table. Use for \u5468\u62A5, business reviews, team status updates, and exec dashboards.",
|
|
7767
|
-
source: { path: "design-templates/html-ppt-weekly-report" }
|
|
7810
|
+
source: { path: "design-templates/html-ppt-weekly-report" },
|
|
7811
|
+
targets: ["presentation", "report"]
|
|
7768
7812
|
},
|
|
7769
7813
|
{
|
|
7770
7814
|
id: "template:html-ppt-xhs-pastel-card",
|
|
7771
7815
|
kind: "template",
|
|
7772
7816
|
name: "HTML PPT Xhs Pastel Card",
|
|
7773
7817
|
description: "\u67D4\u548C\u9A6C\u5361\u9F99\u6162\u751F\u6D3B deck \u2014 \u5976\u6CB9\u5E95 + \u67D4\u5149 blob\u3001Playfair \u659C\u4F53 + sans \u6B63\u6587\u300128px \u5706\u89D2\u9A6C\u5361\u9F99\u5361\u7247\u3001SVG donut \u56FE\u3001chip+page \u9876\u680F\u3002\u9002\u5408\u751F\u6D3B\u65B9\u5F0F / \u4E2A\u4EBA\u6210\u957F / \u6162\u751F\u6D3B\u5185\u5BB9\u3002",
|
|
7774
|
-
source: { path: "design-templates/html-ppt-xhs-pastel-card" }
|
|
7818
|
+
source: { path: "design-templates/html-ppt-xhs-pastel-card" },
|
|
7819
|
+
targets: ["presentation", "poster"]
|
|
7775
7820
|
},
|
|
7776
7821
|
{
|
|
7777
7822
|
id: "template:html-ppt-xhs-post",
|
|
7778
7823
|
kind: "template",
|
|
7779
7824
|
name: "HTML PPT Xhs Post",
|
|
7780
7825
|
description: "\u5C0F\u7EA2\u4E66 / Instagram \u98CE 9 \u9875 3:4 \u7AD6\u7248\u56FE\u6587\uFF08810\xD71080\uFF09\u2014 \u6696\u8272 pastel\u3001\u865A\u7EBF sticker \u5361\u7247\u3001\u5E95\u90E8\u9875\u7801\u70B9\u70B9\u3002",
|
|
7781
|
-
source: { path: "design-templates/html-ppt-xhs-post" }
|
|
7826
|
+
source: { path: "design-templates/html-ppt-xhs-post" },
|
|
7827
|
+
targets: ["presentation", "poster"]
|
|
7782
7828
|
},
|
|
7783
7829
|
{
|
|
7784
7830
|
id: "template:html-ppt-xhs-white-editorial",
|
|
7785
7831
|
kind: "template",
|
|
7786
7832
|
name: "HTML PPT Xhs White Editorial",
|
|
7787
7833
|
description: "\u767D\u5E95\u6742\u5FD7\u98CE deck \u2014 \u7EAF\u767D + \u9876\u90E8 10 \u8272\u5F69\u8679 bar\u300180-110px display \u6807\u9898\u3001\u7D2B\u2192\u84DD\u2192\u7EFF\u2192\u6A59\u2192\u7C89\u6E10\u53D8\u6587\u5B57\u3001\u9A6C\u5361\u9F99\u8F6F\u5361\u7247\u7EC4\u3001\u9ED1\u5E95\u767D\u5B57 .focus pill\u3002\u5C0F\u7EA2\u4E66\u56FE\u6587 + \u6A2A\u7248 PPT \u53CC\u7528\u3002",
|
|
7788
|
-
source: { path: "design-templates/html-ppt-xhs-white-editorial" }
|
|
7834
|
+
source: { path: "design-templates/html-ppt-xhs-white-editorial" },
|
|
7835
|
+
targets: ["presentation", "poster"]
|
|
7789
7836
|
},
|
|
7790
7837
|
{
|
|
7791
7838
|
id: "template:html-ppt-zhangzara-8-bit-orbit",
|
|
7792
7839
|
kind: "template",
|
|
7793
7840
|
name: "HTML PPT Zhangzara 8 Bit Orbit",
|
|
7794
7841
|
description: "8-Bit Orbit \u2014 pixel-art neon arcade aesthetic on a deep navy void. For cyberpunk, gaming, web3, indie dev tools, hackathon demos that should feel like a CRT screen at 2am.",
|
|
7795
|
-
source: { path: "design-templates/html-ppt-zhangzara-8-bit-orbit" }
|
|
7842
|
+
source: { path: "design-templates/html-ppt-zhangzara-8-bit-orbit" },
|
|
7843
|
+
targets: ["presentation"]
|
|
7796
7844
|
},
|
|
7797
7845
|
{
|
|
7798
7846
|
id: "template:html-ppt-zhangzara-biennale-yellow",
|
|
7799
7847
|
kind: "template",
|
|
7800
7848
|
name: "HTML PPT Zhangzara Biennale Yellow",
|
|
7801
7849
|
description: "Biennale Yellow \u2014 solar yellow on warm parchment with deep indigo serif and sun-glow gradients. For art-biennale posters, museum programmes, curatorial pitches, literary publications.",
|
|
7802
|
-
source: { path: "design-templates/html-ppt-zhangzara-biennale-yellow" }
|
|
7850
|
+
source: { path: "design-templates/html-ppt-zhangzara-biennale-yellow" },
|
|
7851
|
+
targets: ["presentation", "poster"]
|
|
7803
7852
|
},
|
|
7804
7853
|
{
|
|
7805
7854
|
id: "template:html-ppt-zhangzara-block-frame",
|
|
7806
7855
|
kind: "template",
|
|
7807
7856
|
name: "HTML PPT Zhangzara Block Frame",
|
|
7808
7857
|
description: "BlockFrame \u2014 neobrutalist deck with pastel-neon color blocks and chunky black borders. Pop-graphic and design-led for indie SaaS launches, agency credentials, brand redesigns.",
|
|
7809
|
-
source: { path: "design-templates/html-ppt-zhangzara-block-frame" }
|
|
7858
|
+
source: { path: "design-templates/html-ppt-zhangzara-block-frame" },
|
|
7859
|
+
targets: ["presentation"]
|
|
7810
7860
|
},
|
|
7811
7861
|
{
|
|
7812
7862
|
id: "template:html-ppt-zhangzara-blue-professional",
|
|
7813
7863
|
kind: "template",
|
|
7814
7864
|
name: "HTML PPT Zhangzara Blue Professional",
|
|
7815
7865
|
description: "Blue Professional \u2014 cream paper background with electric cobalt blue accents; clean modern professional. For B2B SaaS pitches, consulting deliverables, advisory updates, investor reports.",
|
|
7816
|
-
source: { path: "design-templates/html-ppt-zhangzara-blue-professional" }
|
|
7866
|
+
source: { path: "design-templates/html-ppt-zhangzara-blue-professional" },
|
|
7867
|
+
targets: ["presentation"]
|
|
7817
7868
|
},
|
|
7818
7869
|
{
|
|
7819
7870
|
id: "template:html-ppt-zhangzara-bold-poster",
|
|
7820
7871
|
kind: "template",
|
|
7821
7872
|
name: "HTML PPT Zhangzara Bold Poster",
|
|
7822
7873
|
description: "Bold Poster \u2014 editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent. For magazine-cover brand manifestos and editorial / cultural pitches.",
|
|
7823
|
-
source: { path: "design-templates/html-ppt-zhangzara-bold-poster" }
|
|
7874
|
+
source: { path: "design-templates/html-ppt-zhangzara-bold-poster" },
|
|
7875
|
+
targets: ["presentation", "poster"]
|
|
7824
7876
|
},
|
|
7825
7877
|
{
|
|
7826
7878
|
id: "template:html-ppt-zhangzara-broadside",
|
|
7827
7879
|
kind: "template",
|
|
7828
7880
|
name: "HTML PPT Zhangzara Broadside",
|
|
7829
7881
|
description: "Broadside \u2014 dark editorial canvas with a single fire orange accent and bilingual Latin/Chinese type stack. For manifestos, magazine pitches, design talks, bilingual EN/CN decks.",
|
|
7830
|
-
source: { path: "design-templates/html-ppt-zhangzara-broadside" }
|
|
7882
|
+
source: { path: "design-templates/html-ppt-zhangzara-broadside" },
|
|
7883
|
+
targets: ["presentation"]
|
|
7831
7884
|
},
|
|
7832
7885
|
{
|
|
7833
7886
|
id: "template:html-ppt-zhangzara-capsule",
|
|
7834
7887
|
kind: "template",
|
|
7835
7888
|
name: "HTML PPT Zhangzara Capsule",
|
|
7836
7889
|
description: "Capsule \u2014 modular pill-shaped cards on warm bone with a full pastel-pop palette. For lifestyle brands, creator portfolios, DTC launches, beauty / wellness, agency credentials.",
|
|
7837
|
-
source: { path: "design-templates/html-ppt-zhangzara-capsule" }
|
|
7890
|
+
source: { path: "design-templates/html-ppt-zhangzara-capsule" },
|
|
7891
|
+
targets: ["presentation"]
|
|
7838
7892
|
},
|
|
7839
7893
|
{
|
|
7840
7894
|
id: "template:html-ppt-zhangzara-cartesian",
|
|
7841
7895
|
kind: "template",
|
|
7842
7896
|
name: "HTML PPT Zhangzara Cartesian",
|
|
7843
7897
|
description: "Cartesian \u2014 quiet warm-neutral palette with classical Playfair serifs; tasteful and unhurried. For investment theses, white papers, advisory work, longform research, gallery decks.",
|
|
7844
|
-
source: { path: "design-templates/html-ppt-zhangzara-cartesian" }
|
|
7898
|
+
source: { path: "design-templates/html-ppt-zhangzara-cartesian" },
|
|
7899
|
+
targets: ["presentation"]
|
|
7845
7900
|
},
|
|
7846
7901
|
{
|
|
7847
7902
|
id: "template:html-ppt-zhangzara-cobalt-grid",
|
|
7848
7903
|
kind: "template",
|
|
7849
7904
|
name: "HTML PPT Zhangzara Cobalt Grid",
|
|
7850
7905
|
description: "Cobalt Grid \u2014 electric cobalt italic serifs on a graph-paper canvas with stair-stepped pixel-glitch decorations. For design / research bulletins, art publications, curated trend reports.",
|
|
7851
|
-
source: { path: "design-templates/html-ppt-zhangzara-cobalt-grid" }
|
|
7906
|
+
source: { path: "design-templates/html-ppt-zhangzara-cobalt-grid" },
|
|
7907
|
+
targets: ["presentation"]
|
|
7852
7908
|
},
|
|
7853
7909
|
{
|
|
7854
7910
|
id: "template:html-ppt-zhangzara-coral",
|
|
7855
7911
|
kind: "template",
|
|
7856
7912
|
name: "HTML PPT Zhangzara Coral",
|
|
7857
7913
|
description: "Coral \u2014 cream and coral on near-black, set in oversized Bebas Neue. Warm-graphic editorial for fashion, beauty, fitness, F&B, lifestyle brands, agency credentials.",
|
|
7858
|
-
source: { path: "design-templates/html-ppt-zhangzara-coral" }
|
|
7914
|
+
source: { path: "design-templates/html-ppt-zhangzara-coral" },
|
|
7915
|
+
targets: ["presentation"]
|
|
7859
7916
|
},
|
|
7860
7917
|
{
|
|
7861
7918
|
id: "template:html-ppt-zhangzara-creative-mode",
|
|
7862
7919
|
kind: "template",
|
|
7863
7920
|
name: "HTML PPT Zhangzara Creative Mode",
|
|
7864
7921
|
description: "Creative Mode \u2014 cream paper canvas with confident multi-color accents and Archivo Black display. For creative agency pitches, design studio decks, ad credentials, brand creative reviews.",
|
|
7865
|
-
source: { path: "design-templates/html-ppt-zhangzara-creative-mode" }
|
|
7922
|
+
source: { path: "design-templates/html-ppt-zhangzara-creative-mode" },
|
|
7923
|
+
targets: ["presentation"]
|
|
7866
7924
|
},
|
|
7867
7925
|
{
|
|
7868
7926
|
id: "template:html-ppt-zhangzara-daisy-days",
|
|
7869
7927
|
kind: "template",
|
|
7870
7928
|
name: "HTML PPT Zhangzara Daisy Days",
|
|
7871
7929
|
description: "Daisy Days \u2014 cheerful pastel deck with hand-drawn daisies, stars, and rainbows. Friendly, soft, and warm for educational content, kids and family, wellness, community workshops.",
|
|
7872
|
-
source: { path: "design-templates/html-ppt-zhangzara-daisy-days" }
|
|
7930
|
+
source: { path: "design-templates/html-ppt-zhangzara-daisy-days" },
|
|
7931
|
+
targets: ["presentation"]
|
|
7873
7932
|
},
|
|
7874
7933
|
{
|
|
7875
7934
|
id: "template:html-ppt-zhangzara-editorial-tri-tone",
|
|
7876
7935
|
kind: "template",
|
|
7877
7936
|
name: "HTML PPT Zhangzara Editorial Tri Tone",
|
|
7878
7937
|
description: "Editorial Tri-Tone \u2014 three-color editorial: dusty pink, mustard cream, deep burgundy; Bricolage + Instrument Serif. For fashion-magazine spreads, brand decks, lifestyle media.",
|
|
7879
|
-
source: { path: "design-templates/html-ppt-zhangzara-editorial-tri-tone" }
|
|
7938
|
+
source: { path: "design-templates/html-ppt-zhangzara-editorial-tri-tone" },
|
|
7939
|
+
targets: ["presentation"]
|
|
7880
7940
|
},
|
|
7881
7941
|
{
|
|
7882
7942
|
id: "template:html-ppt-zhangzara-grove",
|
|
7883
7943
|
kind: "template",
|
|
7884
7944
|
name: "HTML PPT Zhangzara Grove",
|
|
7885
7945
|
description: "Grove \u2014 forest-green canvas with cream type, classical Playfair serifs, single rust accent. For sustainability and wellness brands, outdoor products, wineries, advisory deliverables.",
|
|
7886
|
-
source: { path: "design-templates/html-ppt-zhangzara-grove" }
|
|
7946
|
+
source: { path: "design-templates/html-ppt-zhangzara-grove" },
|
|
7947
|
+
targets: ["presentation"]
|
|
7887
7948
|
},
|
|
7888
7949
|
{
|
|
7889
7950
|
id: "template:html-ppt-zhangzara-long-table",
|
|
7890
7951
|
kind: "template",
|
|
7891
7952
|
name: "HTML PPT Zhangzara Long Table",
|
|
7892
7953
|
description: "Long Table \u2014 warm cream and rust-red supper-club aesthetic with bold uppercase grotesk headlines and italic Fraunces. For supper clubs, dinner series, lifestyle and wine brands.",
|
|
7893
|
-
source: { path: "design-templates/html-ppt-zhangzara-long-table" }
|
|
7954
|
+
source: { path: "design-templates/html-ppt-zhangzara-long-table" },
|
|
7955
|
+
targets: ["presentation"]
|
|
7894
7956
|
},
|
|
7895
7957
|
{
|
|
7896
7958
|
id: "template:html-ppt-zhangzara-mat",
|
|
7897
7959
|
kind: "template",
|
|
7898
7960
|
name: "HTML PPT Zhangzara Mat",
|
|
7899
7961
|
description: "Mat \u2014 dark sage canvas with bone paper and burnt-orange accent; mid-century modern with wood undertones. For architecture/interior brands, ceramics, craft, furniture, advisory decks.",
|
|
7900
|
-
source: { path: "design-templates/html-ppt-zhangzara-mat" }
|
|
7962
|
+
source: { path: "design-templates/html-ppt-zhangzara-mat" },
|
|
7963
|
+
targets: ["presentation"]
|
|
7901
7964
|
},
|
|
7902
7965
|
{
|
|
7903
7966
|
id: "template:html-ppt-zhangzara-monochrome",
|
|
7904
7967
|
kind: "template",
|
|
7905
7968
|
name: "HTML PPT Zhangzara Monochrome",
|
|
7906
7969
|
description: "Monochrome \u2014 ivory ledger paper with all-black type; Lora serif headlines, Jost body, no color. For research synthesis, white papers, longform reports, bilingual EN/CN deliverables.",
|
|
7907
|
-
source: { path: "design-templates/html-ppt-zhangzara-monochrome" }
|
|
7970
|
+
source: { path: "design-templates/html-ppt-zhangzara-monochrome" },
|
|
7971
|
+
targets: ["presentation"]
|
|
7908
7972
|
},
|
|
7909
7973
|
{
|
|
7910
7974
|
id: "template:html-ppt-zhangzara-neo-grid-bold",
|
|
7911
7975
|
kind: "template",
|
|
7912
7976
|
name: "HTML PPT Zhangzara Neo Grid Bold",
|
|
7913
7977
|
description: "Neo-Grid Bold \u2014 editorial neo-brutalism with a single neon yellow accent on off-white paper. For design-led pitches, brand work, founder talks, conference keynotes.",
|
|
7914
|
-
source: { path: "design-templates/html-ppt-zhangzara-neo-grid-bold" }
|
|
7978
|
+
source: { path: "design-templates/html-ppt-zhangzara-neo-grid-bold" },
|
|
7979
|
+
targets: ["presentation"]
|
|
7915
7980
|
},
|
|
7916
7981
|
{
|
|
7917
7982
|
id: "template:html-ppt-zhangzara-peoples-platform",
|
|
7918
7983
|
kind: "template",
|
|
7919
7984
|
name: "HTML PPT Zhangzara Peoples Platform",
|
|
7920
7985
|
description: "People's Platform (Block & Bold) \u2014 activist poster energy: blue, orange, red on cream, with Alfa Slab + Caveat Brush. For cultural commentary, manifestos, civic decks, campaign pitches.",
|
|
7921
|
-
source: { path: "design-templates/html-ppt-zhangzara-peoples-platform" }
|
|
7986
|
+
source: { path: "design-templates/html-ppt-zhangzara-peoples-platform" },
|
|
7987
|
+
targets: ["presentation"]
|
|
7922
7988
|
},
|
|
7923
7989
|
{
|
|
7924
7990
|
id: "template:html-ppt-zhangzara-pin-and-paper",
|
|
7925
7991
|
kind: "template",
|
|
7926
7992
|
name: "HTML PPT Zhangzara Pin And Paper",
|
|
7927
7993
|
description: "Pin & Paper \u2014 yellow paper with safety-pin illustrations, ink-blue handwritten Caveat, paper-grain texture. For qualitative research, founder reflections, longform brand stories.",
|
|
7928
|
-
source: { path: "design-templates/html-ppt-zhangzara-pin-and-paper" }
|
|
7994
|
+
source: { path: "design-templates/html-ppt-zhangzara-pin-and-paper" },
|
|
7995
|
+
targets: ["presentation"]
|
|
7929
7996
|
},
|
|
7930
7997
|
{
|
|
7931
7998
|
id: "template:html-ppt-zhangzara-pink-script",
|
|
7932
7999
|
kind: "template",
|
|
7933
8000
|
name: "HTML PPT Zhangzara Pink Script",
|
|
7934
8001
|
description: "Pink Script (After Hours) \u2014 black canvas, hot pink accent, pearl-cream paper, Instrument Serif. Late-night editorial luxury for fashion, creator brands, nightlife, and luxury reveals.",
|
|
7935
|
-
source: { path: "design-templates/html-ppt-zhangzara-pink-script" }
|
|
8002
|
+
source: { path: "design-templates/html-ppt-zhangzara-pink-script" },
|
|
8003
|
+
targets: ["presentation"]
|
|
7936
8004
|
},
|
|
7937
8005
|
{
|
|
7938
8006
|
id: "template:html-ppt-zhangzara-playful",
|
|
7939
8007
|
kind: "template",
|
|
7940
8008
|
name: "HTML PPT Zhangzara Playful",
|
|
7941
8009
|
description: "Playful \u2014 sun-warm peach background with Syne display: a friendly indie launch deck. For creator portfolios, indie product launches, lifestyle brands, small-business pitches.",
|
|
7942
|
-
source: { path: "design-templates/html-ppt-zhangzara-playful" }
|
|
8010
|
+
source: { path: "design-templates/html-ppt-zhangzara-playful" },
|
|
8011
|
+
targets: ["presentation"]
|
|
7943
8012
|
},
|
|
7944
8013
|
{
|
|
7945
8014
|
id: "template:html-ppt-zhangzara-raw-grid",
|
|
7946
8015
|
kind: "template",
|
|
7947
8016
|
name: "HTML PPT Zhangzara Raw Grid",
|
|
7948
8017
|
description: "Raw Grid \u2014 neo-brutalist deck with thick borders, offset shadows, and a pink/sage/ink palette. For founder pitches, accelerator demos, brand decks, indie launches, creator portfolios.",
|
|
7949
|
-
source: { path: "design-templates/html-ppt-zhangzara-raw-grid" }
|
|
8018
|
+
source: { path: "design-templates/html-ppt-zhangzara-raw-grid" },
|
|
8019
|
+
targets: ["presentation"]
|
|
7950
8020
|
},
|
|
7951
8021
|
{
|
|
7952
8022
|
id: "template:html-ppt-zhangzara-retro-windows",
|
|
7953
8023
|
kind: "template",
|
|
7954
8024
|
name: "HTML PPT Zhangzara Retro Windows",
|
|
7955
8025
|
description: "Retro Windows \u2014 Windows 95 chrome: gray title bars, MS Sans Serif, pixel typography, full nostalgia. For retro gaming, Y2K-aesthetic brands, creator portfolios, tech-history talks.",
|
|
7956
|
-
source: { path: "design-templates/html-ppt-zhangzara-retro-windows" }
|
|
8026
|
+
source: { path: "design-templates/html-ppt-zhangzara-retro-windows" },
|
|
8027
|
+
targets: ["presentation"]
|
|
7957
8028
|
},
|
|
7958
8029
|
{
|
|
7959
8030
|
id: "template:html-ppt-zhangzara-sakura-chroma",
|
|
7960
8031
|
kind: "template",
|
|
7961
8032
|
name: "HTML PPT Zhangzara Sakura Chroma",
|
|
7962
8033
|
description: "Sakura Chroma \u2014 vintage Japanese cassette-package aesthetic: cream paper, diagonal rainbow ribbons, condensed bold type, JIS-style spec checkboxes. For analog / kawaii-tech decks.",
|
|
7963
|
-
source: { path: "design-templates/html-ppt-zhangzara-sakura-chroma" }
|
|
8034
|
+
source: { path: "design-templates/html-ppt-zhangzara-sakura-chroma" },
|
|
8035
|
+
targets: ["presentation"]
|
|
7964
8036
|
},
|
|
7965
8037
|
{
|
|
7966
8038
|
id: "template:html-ppt-zhangzara-scatterbrain",
|
|
7967
8039
|
kind: "template",
|
|
7968
8040
|
name: "HTML PPT Zhangzara Scatterbrain",
|
|
7969
8041
|
description: "Scatterbrain \u2014 Post-it inspired: pastel sticky notes, Caveat handwriting, Shrikhand + Zilla Slab. For brainstorms, workshops, creative-agency credentials, ideation pitches.",
|
|
7970
|
-
source: { path: "design-templates/html-ppt-zhangzara-scatterbrain" }
|
|
8042
|
+
source: { path: "design-templates/html-ppt-zhangzara-scatterbrain" },
|
|
8043
|
+
targets: ["presentation"]
|
|
7971
8044
|
},
|
|
7972
8045
|
{
|
|
7973
8046
|
id: "template:html-ppt-zhangzara-signal",
|
|
7974
8047
|
kind: "template",
|
|
7975
8048
|
name: "HTML PPT Zhangzara Signal",
|
|
7976
8049
|
description: "Signal \u2014 deep navy canvas with bone paper and a single muted-gold accent; institutional with quiet weight. For investor decks, board presentations, consulting deliverables, legal briefs.",
|
|
7977
|
-
source: { path: "design-templates/html-ppt-zhangzara-signal" }
|
|
8050
|
+
source: { path: "design-templates/html-ppt-zhangzara-signal" },
|
|
8051
|
+
targets: ["presentation"]
|
|
7978
8052
|
},
|
|
7979
8053
|
{
|
|
7980
8054
|
id: "template:html-ppt-zhangzara-soft-editorial",
|
|
7981
8055
|
kind: "template",
|
|
7982
8056
|
name: "HTML PPT Zhangzara Soft Editorial",
|
|
7983
8057
|
description: "Soft Editorial \u2014 Cormorant Garamond serif on warm paper with sage, blush, and lemon accents. For literary brand stories, gallery decks, advisory deliverables, lifestyle media.",
|
|
7984
|
-
source: { path: "design-templates/html-ppt-zhangzara-soft-editorial" }
|
|
8058
|
+
source: { path: "design-templates/html-ppt-zhangzara-soft-editorial" },
|
|
8059
|
+
targets: ["presentation"]
|
|
7985
8060
|
},
|
|
7986
8061
|
{
|
|
7987
8062
|
id: "template:html-ppt-zhangzara-stencil-tablet",
|
|
7988
8063
|
kind: "template",
|
|
7989
8064
|
name: "HTML PPT Zhangzara Stencil Tablet",
|
|
7990
8065
|
description: "Stencil & Tablet \u2014 bone paper with stencil-cut headlines and a six-color earth palette. Archaeology meets brand: museum decks, art/architecture brands, heritage and craft work.",
|
|
7991
|
-
source: { path: "design-templates/html-ppt-zhangzara-stencil-tablet" }
|
|
8066
|
+
source: { path: "design-templates/html-ppt-zhangzara-stencil-tablet" },
|
|
8067
|
+
targets: ["presentation"]
|
|
7992
8068
|
},
|
|
7993
8069
|
{
|
|
7994
8070
|
id: "template:html-ppt-zhangzara-studio",
|
|
7995
8071
|
kind: "template",
|
|
7996
8072
|
name: "HTML PPT Zhangzara Studio",
|
|
7997
8073
|
description: "Studio \u2014 black canvas with electric-yellow type; high-voltage design studio aesthetic. For studio credentials, creative agency pitches, brand showcases, fashion / sneaker work.",
|
|
7998
|
-
source: { path: "design-templates/html-ppt-zhangzara-studio" }
|
|
8074
|
+
source: { path: "design-templates/html-ppt-zhangzara-studio" },
|
|
8075
|
+
targets: ["presentation"]
|
|
7999
8076
|
},
|
|
8000
8077
|
{
|
|
8001
8078
|
id: "template:html-ppt-zhangzara-vellum",
|
|
8002
8079
|
kind: "template",
|
|
8003
8080
|
name: "HTML PPT Zhangzara Vellum",
|
|
8004
8081
|
description: "Vellum \u2014 deep navy canvas with warm-yellow italic Cormorant serifs and a single dusty teal accent. Quiet, scholarly aesthetic for research synthesis, white papers, advisory work.",
|
|
8005
|
-
source: { path: "design-templates/html-ppt-zhangzara-vellum" }
|
|
8082
|
+
source: { path: "design-templates/html-ppt-zhangzara-vellum" },
|
|
8083
|
+
targets: ["presentation"]
|
|
8006
8084
|
},
|
|
8007
8085
|
{
|
|
8008
8086
|
id: "template:hyperframes",
|
|
8009
8087
|
kind: "template",
|
|
8010
8088
|
name: "Hyperframes",
|
|
8011
8089
|
description: "HTML video composition skill \u2014 captions, voiceover, audio-reactive animation, scene transitions, and timing in HyperFrames HTML. For CLI commands see hyperframes-cli.",
|
|
8012
|
-
source: { path: "design-templates/hyperframes" }
|
|
8090
|
+
source: { path: "design-templates/hyperframes" },
|
|
8091
|
+
targets: ["intro-video"]
|
|
8013
8092
|
},
|
|
8014
8093
|
{
|
|
8015
8094
|
id: "template:ib-pitch-book",
|
|
8016
8095
|
kind: "template",
|
|
8017
8096
|
name: "Ib Pitch Book",
|
|
8018
8097
|
description: "Investment-banking pitch book \u2014 trading comps, precedent transactions, valuation football field, DCF sensitivity, strategic-options matrix. For Board / sell-side discussion materials.",
|
|
8019
|
-
source: { path: "design-templates/ib-pitch-book" }
|
|
8098
|
+
source: { path: "design-templates/ib-pitch-book" },
|
|
8099
|
+
targets: ["report", "presentation"]
|
|
8020
8100
|
},
|
|
8021
8101
|
{
|
|
8022
8102
|
id: "template:image-poster",
|
|
8023
8103
|
kind: "template",
|
|
8024
8104
|
name: "Image Poster",
|
|
8025
8105
|
description: "Single-image generation skill for posters, key art, and editorial illustrations. Defaults to gpt-image-2 but is provider-agnostic \u2014 the same workflow drives Flux, Imagen, or Midjourney via the active upstream tooling. Output is one or mo\u2026",
|
|
8026
|
-
source: { path: "design-templates/image-poster" }
|
|
8106
|
+
source: { path: "design-templates/image-poster" },
|
|
8107
|
+
targets: ["poster"]
|
|
8027
8108
|
},
|
|
8028
8109
|
{
|
|
8029
8110
|
id: "template:invoice",
|
|
8030
8111
|
kind: "template",
|
|
8031
8112
|
name: "Invoice",
|
|
8032
8113
|
description: "A printable invoice page \u2014 sender + recipient block, line items table, tax breakdown, totals, and payment instructions.",
|
|
8033
|
-
source: { path: "design-templates/invoice" }
|
|
8114
|
+
source: { path: "design-templates/invoice" },
|
|
8115
|
+
targets: ["report"]
|
|
8034
8116
|
},
|
|
8035
8117
|
{
|
|
8036
8118
|
id: "template:kami-deck",
|
|
8037
8119
|
kind: "template",
|
|
8038
8120
|
name: "Kami Deck",
|
|
8039
8121
|
description: "Produce a print-grade slide deck in the kami (\u7D19 / \u7EB8) design system \u2014 warm parchment background (or ink-blue for cover / chapter slides), serif at one weight, ink-blue accent \u2264 5% per slide, no italic. Horizontal magazine swipe pagination\u2026",
|
|
8040
|
-
source: { path: "design-templates/kami-deck" }
|
|
8122
|
+
source: { path: "design-templates/kami-deck" },
|
|
8123
|
+
targets: ["presentation"]
|
|
8041
8124
|
},
|
|
8042
8125
|
{
|
|
8043
8126
|
id: "template:kami-landing",
|
|
8044
8127
|
kind: "template",
|
|
8045
8128
|
name: "Kami Landing",
|
|
8046
8129
|
description: "Produce a print-grade single-page kami (\u7D19 / \u7EB8) document \u2014 warm parchment canvas, ink-blue accent, serif at one weight, no italic, no cool grays. The output reads like a professional white paper or studio one-pager, not an app UI. Multili\u2026",
|
|
8047
|
-
source: { path: "design-templates/kami-landing" }
|
|
8130
|
+
source: { path: "design-templates/kami-landing" },
|
|
8131
|
+
targets: ["website"]
|
|
8048
8132
|
},
|
|
8049
8133
|
{
|
|
8050
8134
|
id: "template:kanban-board",
|
|
8051
8135
|
kind: "template",
|
|
8052
8136
|
name: "Kanban Board",
|
|
8053
8137
|
description: "Kanban / task board with columns (To do / In progress / In review / Done), draggable-looking cards, assignee avatars, swimlanes, and a top filter bar.",
|
|
8054
|
-
source: { path: "design-templates/kanban-board" }
|
|
8138
|
+
source: { path: "design-templates/kanban-board" },
|
|
8139
|
+
targets: ["dashboard-design"]
|
|
8055
8140
|
},
|
|
8056
8141
|
{
|
|
8057
8142
|
id: "template:last30days",
|
|
8058
8143
|
kind: "template",
|
|
8059
8144
|
name: "Last30days",
|
|
8060
8145
|
description: "Recent community and social trend research over the last 30 days.",
|
|
8061
|
-
source: { path: "design-templates/last30days" }
|
|
8146
|
+
source: { path: "design-templates/last30days" },
|
|
8147
|
+
targets: ["dashboard-design", "report"]
|
|
8062
8148
|
},
|
|
8063
8149
|
{
|
|
8064
8150
|
id: "template:live-artifact",
|
|
8065
8151
|
kind: "template",
|
|
8066
8152
|
name: "Live Artifact",
|
|
8067
8153
|
description: "Create refreshable, auditable artifacts backed by connector or local data. Trigger when the user asks for live dashboards, refreshable reports, synced views, or reusable data-backed artifacts.",
|
|
8068
|
-
source: { path: "design-templates/live-artifact" }
|
|
8154
|
+
source: { path: "design-templates/live-artifact" },
|
|
8155
|
+
targets: ["dashboard-design", "report", "website"]
|
|
8069
8156
|
},
|
|
8070
8157
|
{
|
|
8071
8158
|
id: "template:live-dashboard",
|
|
8072
8159
|
kind: "template",
|
|
8073
8160
|
name: "Live Dashboard",
|
|
8074
8161
|
description: "Notion-style team dashboard as a Live Artifact \u2014 KPIs, 7-day sparkline, activity feed, and a linked-database task table wired to Notion via Composio. Refreshable, with mock fallback.",
|
|
8075
|
-
source: { path: "design-templates/live-dashboard" }
|
|
8162
|
+
source: { path: "design-templates/live-dashboard" },
|
|
8163
|
+
targets: ["dashboard-design"]
|
|
8076
8164
|
},
|
|
8077
8165
|
{
|
|
8078
8166
|
id: "template:magazine-poster",
|
|
8079
8167
|
kind: "template",
|
|
8080
8168
|
name: "Magazine Poster",
|
|
8081
8169
|
description: "An editorial-style poster \u2014 newsprint paper, dateline, oversized serif headline with a struck-through word and italic accent, a 2-column body block, and 6 numbered sections with annotated pull-quote captions. Reads like a Sunday-paper fu\u2026",
|
|
8082
|
-
source: { path: "design-templates/magazine-poster" }
|
|
8170
|
+
source: { path: "design-templates/magazine-poster" },
|
|
8171
|
+
targets: ["poster"]
|
|
8083
8172
|
},
|
|
8084
8173
|
{
|
|
8085
8174
|
id: "template:meeting-notes",
|
|
8086
8175
|
kind: "template",
|
|
8087
8176
|
name: "Meeting Notes",
|
|
8088
8177
|
description: 'Meeting notes page \u2014 title bar with attendees, agenda checklist, decisions block, action items table with owners + dates, and a "next meeting" footer.',
|
|
8089
|
-
source: { path: "design-templates/meeting-notes" }
|
|
8178
|
+
source: { path: "design-templates/meeting-notes" },
|
|
8179
|
+
targets: ["docs-design"]
|
|
8090
8180
|
},
|
|
8091
8181
|
{
|
|
8092
8182
|
id: "template:mobile-onboarding",
|
|
8093
8183
|
kind: "template",
|
|
8094
8184
|
name: "Mobile Onboarding",
|
|
8095
8185
|
description: "A multi-screen mobile onboarding flow rendered as three phone frames side by side \u2014 splash, value-prop, sign-in. Status bar, swipe dots, primary CTA.",
|
|
8096
|
-
source: { path: "design-templates/mobile-onboarding" }
|
|
8186
|
+
source: { path: "design-templates/mobile-onboarding" },
|
|
8187
|
+
targets: ["mobile-app-design"]
|
|
8097
8188
|
},
|
|
8098
8189
|
{
|
|
8099
8190
|
id: "template:motion-frames",
|
|
8100
8191
|
kind: "template",
|
|
8101
8192
|
name: "Motion Frames",
|
|
8102
8193
|
description: "A single-frame motion-design composition with looping CSS animations \u2014 rotating type ring, animated globe, ticking timer, parallax labels. Renders as a hero video poster you can hand straight to HyperFrames or any keyframe-based exporter.",
|
|
8103
|
-
source: { path: "design-templates/motion-frames" }
|
|
8194
|
+
source: { path: "design-templates/motion-frames" },
|
|
8195
|
+
targets: ["intro-video"]
|
|
8104
8196
|
},
|
|
8105
8197
|
{
|
|
8106
8198
|
id: "template:open-design-landing",
|
|
8107
8199
|
kind: "template",
|
|
8108
8200
|
name: "Editorial Landing",
|
|
8109
8201
|
description: "Single-page editorial landing site in the Atelier Zero visual language (Monocle / Apartamento / \xC9tudes collage). Composes from a typed inputs.json with optional gpt-image-2 assets.",
|
|
8110
|
-
source: { path: "design-templates/open-design-landing" }
|
|
8202
|
+
source: { path: "design-templates/open-design-landing" },
|
|
8203
|
+
targets: ["website"]
|
|
8111
8204
|
},
|
|
8112
8205
|
{
|
|
8113
8206
|
id: "template:open-design-landing-deck",
|
|
8114
8207
|
kind: "template",
|
|
8115
8208
|
name: "Editorial Landing Deck",
|
|
8116
8209
|
description: "Single-file slide deck in the Atelier Zero visual language \u2014 warm-paper, italic-serif emphasis, coral terminating dots, surreal collage. Horizontal swipe + ESC overview grid.",
|
|
8117
|
-
source: { path: "design-templates/open-design-landing-deck" }
|
|
8210
|
+
source: { path: "design-templates/open-design-landing-deck" },
|
|
8211
|
+
targets: ["presentation"]
|
|
8118
8212
|
},
|
|
8119
8213
|
{
|
|
8120
8214
|
id: "template:orbit-general",
|
|
8121
8215
|
kind: "template",
|
|
8122
8216
|
name: "Orbit General",
|
|
8123
8217
|
description: "Open Orbit daily digest \u2014 pulls 24h activity from every connected connector (GitHub, Linear, Notion, Slack, \u2026) into a bento-grid dashboard. Invoked by the Orbit scheduler.",
|
|
8124
|
-
source: { path: "design-templates/orbit-general" }
|
|
8218
|
+
source: { path: "design-templates/orbit-general" },
|
|
8219
|
+
targets: ["dashboard-design"]
|
|
8125
8220
|
},
|
|
8126
8221
|
{
|
|
8127
8222
|
id: "template:orbit-github",
|
|
8128
8223
|
kind: "template",
|
|
8129
8224
|
name: "Orbit Github",
|
|
8130
8225
|
description: "Open Orbit GitHub digest \u2014 24h of PRs, reviews, issues, CI, and merges rendered in GitHub's native Notifications + PR-diff visual language. Invoked by the Orbit scheduler.",
|
|
8131
|
-
source: { path: "design-templates/orbit-github" }
|
|
8226
|
+
source: { path: "design-templates/orbit-github" },
|
|
8227
|
+
targets: ["dashboard-design"]
|
|
8132
8228
|
},
|
|
8133
8229
|
{
|
|
8134
8230
|
id: "template:orbit-gmail",
|
|
8135
8231
|
kind: "template",
|
|
8136
8232
|
name: "Orbit Gmail",
|
|
8137
8233
|
description: "Open Orbit Gmail digest \u2014 24h of inbox activity (replies, mentions, cc, bulk) rendered as the Orbit Daily Digest email inside Gmail's reading view. Invoked by the Orbit scheduler.",
|
|
8138
|
-
source: { path: "design-templates/orbit-gmail" }
|
|
8234
|
+
source: { path: "design-templates/orbit-gmail" },
|
|
8235
|
+
targets: ["dashboard-design"]
|
|
8139
8236
|
},
|
|
8140
8237
|
{
|
|
8141
8238
|
id: "template:orbit-linear",
|
|
8142
8239
|
kind: "template",
|
|
8143
8240
|
name: "Orbit Linear",
|
|
8144
8241
|
description: "Open Orbit Linear digest \u2014 24h of issue movement, status changes, assignments, and cycle progress in Linear's native Inbox + cycle visual language. Invoked by the Orbit scheduler.",
|
|
8145
|
-
source: { path: "design-templates/orbit-linear" }
|
|
8242
|
+
source: { path: "design-templates/orbit-linear" },
|
|
8243
|
+
targets: ["dashboard-design"]
|
|
8146
8244
|
},
|
|
8147
8245
|
{
|
|
8148
8246
|
id: "template:orbit-notion",
|
|
8149
8247
|
kind: "template",
|
|
8150
8248
|
name: "Orbit Notion",
|
|
8151
8249
|
description: "Open Orbit Notion digest \u2014 24h of doc edits, comments, mentions, and database row changes rendered as a native Notion page. Invoked by the Orbit scheduler.",
|
|
8152
|
-
source: { path: "design-templates/orbit-notion" }
|
|
8250
|
+
source: { path: "design-templates/orbit-notion" },
|
|
8251
|
+
targets: ["dashboard-design"]
|
|
8153
8252
|
},
|
|
8154
8253
|
{
|
|
8155
8254
|
id: "template:pm-spec",
|
|
8156
8255
|
kind: "template",
|
|
8157
8256
|
name: "Pm Spec",
|
|
8158
8257
|
description: "Product spec / PRD as a single page \u2014 problem, success metrics, scope, user stories, design notes, rollout plan, open questions.",
|
|
8159
|
-
source: { path: "design-templates/pm-spec" }
|
|
8258
|
+
source: { path: "design-templates/pm-spec" },
|
|
8259
|
+
targets: ["docs-design"]
|
|
8160
8260
|
},
|
|
8161
8261
|
{
|
|
8162
8262
|
id: "template:pricing-page",
|
|
8163
8263
|
kind: "template",
|
|
8164
8264
|
name: "Pricing Page",
|
|
8165
8265
|
description: "A standalone pricing page \u2014 header, plan tiers, feature comparison table, and an FAQ.",
|
|
8166
|
-
source: { path: "design-templates/pricing-page" }
|
|
8266
|
+
source: { path: "design-templates/pricing-page" },
|
|
8267
|
+
targets: ["website"]
|
|
8167
8268
|
},
|
|
8168
8269
|
{
|
|
8169
8270
|
id: "template:replit-deck",
|
|
8170
8271
|
kind: "template",
|
|
8171
8272
|
name: "Replit Deck",
|
|
8172
8273
|
description: "Single-file horizontal-swipe HTML deck in the style of Replit Slides's landing-page template gallery. Eight distinct themes (helix, holm, vance, bevel, world-dark, world-mint, atlas, bluehouse) \u2014 each a complete visual system (palette +\u2026",
|
|
8173
|
-
source: { path: "design-templates/replit-deck" }
|
|
8274
|
+
source: { path: "design-templates/replit-deck" },
|
|
8275
|
+
targets: ["presentation"]
|
|
8174
8276
|
},
|
|
8175
8277
|
{
|
|
8176
8278
|
id: "template:saas-landing",
|
|
8177
8279
|
kind: "template",
|
|
8178
8280
|
name: "Saas Landing",
|
|
8179
8281
|
description: "Single-page SaaS landing with hero, features, social proof, pricing, and CTA. Respects the active DESIGN.md color/typography/layout tokens.",
|
|
8180
|
-
source: { path: "design-templates/saas-landing" }
|
|
8282
|
+
source: { path: "design-templates/saas-landing" },
|
|
8283
|
+
targets: ["website"]
|
|
8181
8284
|
},
|
|
8182
8285
|
{
|
|
8183
8286
|
id: "template:simple-deck",
|
|
8184
8287
|
kind: "template",
|
|
8185
8288
|
name: "Simple Deck",
|
|
8186
8289
|
description: "Single-file horizontal-swipe HTML deck. Built by copying the seed `assets/template.html` (which carries the proven 5-rule iframe nav script) and pasting slide layouts from `references/layouts.md`. Pitch decks, product overviews, study ma\u2026",
|
|
8187
|
-
source: { path: "design-templates/simple-deck" }
|
|
8290
|
+
source: { path: "design-templates/simple-deck" },
|
|
8291
|
+
targets: ["presentation"]
|
|
8188
8292
|
},
|
|
8189
8293
|
{
|
|
8190
8294
|
id: "template:social-carousel",
|
|
8191
8295
|
kind: "template",
|
|
8192
8296
|
name: "Social Carousel",
|
|
8193
8297
|
description: 'A three-card social-media carousel laid out as 1080\xD71080 squares \u2014 three cinematic, on-brand panels with display headlines that connect across the series ("onwards." \u2192 "to the next one." \u2192 "looking ahead."). Each card has a brand mark, a\u2026',
|
|
8194
|
-
source: { path: "design-templates/social-carousel" }
|
|
8298
|
+
source: { path: "design-templates/social-carousel" },
|
|
8299
|
+
targets: ["poster"]
|
|
8195
8300
|
},
|
|
8196
8301
|
{
|
|
8197
8302
|
id: "template:social-media-dashboard",
|
|
8198
8303
|
kind: "template",
|
|
8199
8304
|
name: "Social Media Dashboard",
|
|
8200
8305
|
description: 'Creator-facing social media analytics dashboard in a single HTML file. A platform switcher (X / LinkedIn / YouTube / Instagram), a row of KPI cards (followers, engagement rate, likes, reposts), a follower-growth chart, a "top post this w\u2026',
|
|
8201
|
-
source: { path: "design-templates/social-media-dashboard" }
|
|
8306
|
+
source: { path: "design-templates/social-media-dashboard" },
|
|
8307
|
+
targets: ["dashboard-design"]
|
|
8202
8308
|
},
|
|
8203
8309
|
{
|
|
8204
8310
|
id: "template:social-media-matrix-tracker-template",
|
|
8205
8311
|
kind: "template",
|
|
8206
8312
|
name: "Social Media Matrix Tracker Template",
|
|
8207
8313
|
description: "\u793E\u5A92\u77E9\u9635\u6570\u636E\u8FFD\u8E2A\u9762\u677F\u6A21\u677F\uFF08Social Media Matrix Tracker\uFF09\u3002",
|
|
8208
|
-
source: { path: "design-templates/social-media-matrix-tracker-template" }
|
|
8314
|
+
source: { path: "design-templates/social-media-matrix-tracker-template" },
|
|
8315
|
+
targets: ["dashboard-design"]
|
|
8209
8316
|
},
|
|
8210
8317
|
{
|
|
8211
8318
|
id: "template:sprite-animation",
|
|
8212
8319
|
kind: "template",
|
|
8213
8320
|
name: "Sprite Animation",
|
|
8214
8321
|
description: "A pixel / sprite-style animated explainer slide \u2014 full-bleed cream stage, bold display year, animated pixel-art mascot (e.g. Hanafuda card, mushroom, or 8-bit console), kinetic Japanese display type, ticking timeline ribbon. Reads like a\u2026",
|
|
8215
|
-
source: { path: "design-templates/sprite-animation" }
|
|
8322
|
+
source: { path: "design-templates/sprite-animation" },
|
|
8323
|
+
targets: ["intro-video"]
|
|
8216
8324
|
},
|
|
8217
8325
|
{
|
|
8218
8326
|
id: "template:team-okrs",
|
|
8219
8327
|
kind: "template",
|
|
8220
8328
|
name: "Team Okrs",
|
|
8221
8329
|
description: 'OKR tracker page \u2014 quarter banner, three objectives with their key results as progress bars, owner avatars, status pills, and a "this quarter at a glance" sidebar.',
|
|
8222
|
-
source: { path: "design-templates/team-okrs" }
|
|
8330
|
+
source: { path: "design-templates/team-okrs" },
|
|
8331
|
+
targets: ["docs-design", "dashboard-design"]
|
|
8223
8332
|
},
|
|
8224
8333
|
{
|
|
8225
8334
|
id: "template:trading-analysis-dashboard-template",
|
|
8226
8335
|
kind: "template",
|
|
8227
8336
|
name: "Trading Analysis Dashboard Template",
|
|
8228
8337
|
description: "Professional trading analysis dashboard template (single-file HTML) with light/dark theme switch, dense market panels, chart interactions, demo/live playback, and command palette behavior.",
|
|
8229
|
-
source: { path: "design-templates/trading-analysis-dashboard-template" }
|
|
8338
|
+
source: { path: "design-templates/trading-analysis-dashboard-template" },
|
|
8339
|
+
targets: ["dashboard-design"]
|
|
8230
8340
|
},
|
|
8231
8341
|
{
|
|
8232
8342
|
id: "template:tweaks",
|
|
8233
8343
|
kind: "template",
|
|
8234
8344
|
name: "Tweaks",
|
|
8235
8345
|
description: "Wrap any HTML artifact with a side panel of live, parameterized controls \u2014 accent color, type scale, density, motion, theme \u2014 that rewrite CSS custom properties in real time and persist to localStorage. Lets the user explore variants of\u2026",
|
|
8236
|
-
source: { path: "design-templates/tweaks" }
|
|
8346
|
+
source: { path: "design-templates/tweaks" },
|
|
8347
|
+
targets: [
|
|
8348
|
+
"website",
|
|
8349
|
+
"dashboard-design",
|
|
8350
|
+
"presentation",
|
|
8351
|
+
"report",
|
|
8352
|
+
"docs-design",
|
|
8353
|
+
"poster",
|
|
8354
|
+
"mobile-app-design"
|
|
8355
|
+
]
|
|
8237
8356
|
},
|
|
8238
8357
|
{
|
|
8239
8358
|
id: "template:video-shortform",
|
|
8240
8359
|
kind: "template",
|
|
8241
8360
|
name: "Video Shortform",
|
|
8242
8361
|
description: "Short-form video generation skill \u2014 3-10 second clips for product reveals, motion teasers, ambient loops. Defaults to Seedance 2 but works the same with Kling 3 / 4, Veo 3 or Sora 2. Output is one MP4 saved to the project folder. When th\u2026",
|
|
8243
|
-
source: { path: "design-templates/video-shortform" }
|
|
8362
|
+
source: { path: "design-templates/video-shortform" },
|
|
8363
|
+
targets: ["intro-video"]
|
|
8244
8364
|
},
|
|
8245
8365
|
{
|
|
8246
8366
|
id: "template:waitlist-page",
|
|
8247
8367
|
kind: "template",
|
|
8248
8368
|
name: "Waitlist Page",
|
|
8249
8369
|
description: "Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules.",
|
|
8250
|
-
source: { path: "design-templates/waitlist-page" }
|
|
8370
|
+
source: { path: "design-templates/waitlist-page" },
|
|
8371
|
+
targets: ["website"]
|
|
8251
8372
|
},
|
|
8252
8373
|
{
|
|
8253
8374
|
id: "template:web-prototype",
|
|
8254
8375
|
kind: "template",
|
|
8255
8376
|
name: "Web Prototype",
|
|
8256
8377
|
description: "General-purpose desktop web prototype. Single self-contained HTML file built by copying the seed `assets/template.html` and pasting section layouts from `references/layouts.md`. Default for any landing / marketing / docs / SaaS page when\u2026",
|
|
8257
|
-
source: { path: "design-templates/web-prototype" }
|
|
8378
|
+
source: { path: "design-templates/web-prototype" },
|
|
8379
|
+
targets: ["website"]
|
|
8258
8380
|
},
|
|
8259
8381
|
{
|
|
8260
8382
|
id: "template:web-prototype-taste-brutalist",
|
|
8261
8383
|
kind: "template",
|
|
8262
8384
|
name: "Web Prototype Taste Brutalist",
|
|
8263
8385
|
description: "Swiss industrial-print web prototype. Newsprint canvas, monolithic black grotesque, viewport-bleeding numerals, hairline grid dividers, hazard-red accent, ASCII syntax decoration. Distilled from Leonxlnx/taste-skill `brutalist-skill` (Sw\u2026",
|
|
8264
|
-
source: { path: "design-templates/web-prototype-taste-brutalist" }
|
|
8386
|
+
source: { path: "design-templates/web-prototype-taste-brutalist" },
|
|
8387
|
+
targets: ["website"]
|
|
8265
8388
|
},
|
|
8266
8389
|
{
|
|
8267
8390
|
id: "template:web-prototype-taste-soft",
|
|
8268
8391
|
kind: "template",
|
|
8269
8392
|
name: "Web Prototype Taste Soft",
|
|
8270
8393
|
description: "Apple-tier soft web prototype. Silver/cream canvas, double-bezel cards, button-in-button CTAs, generous squircle radii, spring motion, ambient mesh. Distilled from Leonxlnx/taste-skill `soft-skill` + sections 4\u20138 of `taste-skill`.",
|
|
8271
|
-
source: { path: "design-templates/web-prototype-taste-soft" }
|
|
8394
|
+
source: { path: "design-templates/web-prototype-taste-soft" },
|
|
8395
|
+
targets: ["website"]
|
|
8272
8396
|
},
|
|
8273
8397
|
{
|
|
8274
8398
|
id: "template:wireframe-sketch",
|
|
8275
8399
|
kind: "template",
|
|
8276
8400
|
name: "Wireframe Sketch",
|
|
8277
8401
|
description: "A hand-drawn wireframe exploration \u2014 graph-paper background, marker / pencil tone, multiple tab labels for variants, sticky-note annotations, scribbled chart placeholders, hatched fills. Reads like a designer's whiteboard before any pixe\u2026",
|
|
8278
|
-
source: { path: "design-templates/wireframe-sketch" }
|
|
8402
|
+
source: { path: "design-templates/wireframe-sketch" },
|
|
8403
|
+
targets: ["website", "mobile-app-design", "dashboard-design"]
|
|
8279
8404
|
},
|
|
8280
8405
|
{
|
|
8281
8406
|
id: "template:x-research",
|
|
8282
8407
|
kind: "template",
|
|
8283
8408
|
name: "X Research",
|
|
8284
8409
|
description: "X/Twitter public sentiment research for recent market, company, product, or community discourse.",
|
|
8285
|
-
source: { path: "design-templates/x-research" }
|
|
8410
|
+
source: { path: "design-templates/x-research" },
|
|
8411
|
+
targets: ["report"]
|
|
8286
8412
|
},
|
|
8287
8413
|
{
|
|
8288
8414
|
id: "design-system:dashboard",
|
|
@@ -9696,6 +9822,28 @@ function findImageStyle(id) {
|
|
|
9696
9822
|
return entry.id === id;
|
|
9697
9823
|
});
|
|
9698
9824
|
}
|
|
9825
|
+
function listDesignSystems() {
|
|
9826
|
+
return filterByKind("design-system");
|
|
9827
|
+
}
|
|
9828
|
+
function findDesignSystem(id) {
|
|
9829
|
+
return listDesignSystems().find((entry) => {
|
|
9830
|
+
return entry.id === id;
|
|
9831
|
+
});
|
|
9832
|
+
}
|
|
9833
|
+
function listTemplates(target) {
|
|
9834
|
+
const all = filterByKind("template");
|
|
9835
|
+
if (target === void 0) {
|
|
9836
|
+
return all;
|
|
9837
|
+
}
|
|
9838
|
+
return all.filter((entry) => {
|
|
9839
|
+
return entry.targets?.includes(target) ?? false;
|
|
9840
|
+
});
|
|
9841
|
+
}
|
|
9842
|
+
function findTemplate(id) {
|
|
9843
|
+
return filterByKind("template").find((entry) => {
|
|
9844
|
+
return entry.id === id;
|
|
9845
|
+
});
|
|
9846
|
+
}
|
|
9699
9847
|
function toGenerationTarget(value) {
|
|
9700
9848
|
if (value === "dashboard") {
|
|
9701
9849
|
return "dashboard-design";
|
|
@@ -9857,6 +10005,26 @@ function createStyledImageAuthoringPacket(options) {
|
|
|
9857
10005
|
};
|
|
9858
10006
|
}
|
|
9859
10007
|
|
|
10008
|
+
// src/commands/zero/shared/resource-listing.ts
|
|
10009
|
+
init_esm_shims();
|
|
10010
|
+
function formatRegistryListing(entries, emptyLabel) {
|
|
10011
|
+
if (entries.length === 0) {
|
|
10012
|
+
return ` (no ${emptyLabel} registered)`;
|
|
10013
|
+
}
|
|
10014
|
+
return entries.map((entry) => {
|
|
10015
|
+
const desc = entry.desc ?? entry.description;
|
|
10016
|
+
return ` ${entry.id}
|
|
10017
|
+
${desc}`;
|
|
10018
|
+
}).join("\n\n");
|
|
10019
|
+
}
|
|
10020
|
+
function canonicalizeRegistryId(prefix, value) {
|
|
10021
|
+
const fullPrefix = `${prefix}:`;
|
|
10022
|
+
if (value.startsWith(fullPrefix)) {
|
|
10023
|
+
return value;
|
|
10024
|
+
}
|
|
10025
|
+
return `${fullPrefix}${value}`;
|
|
10026
|
+
}
|
|
10027
|
+
|
|
9860
10028
|
// src/commands/zero/generate/lib/dispatch.ts
|
|
9861
10029
|
init_esm_shims();
|
|
9862
10030
|
import { readFileSync as readFileSync13 } from "fs";
|
|
@@ -10522,23 +10690,13 @@ function resolvePrompt(prompt) {
|
|
|
10522
10690
|
}
|
|
10523
10691
|
|
|
10524
10692
|
// src/commands/zero/shared/image-generate.ts
|
|
10525
|
-
function formatStyleListing(styles) {
|
|
10526
|
-
if (styles.length === 0) {
|
|
10527
|
-
return " (no image styles registered)";
|
|
10528
|
-
}
|
|
10529
|
-
return styles.map((style) => {
|
|
10530
|
-
const desc = style.desc ?? style.description;
|
|
10531
|
-
return ` ${style.id}
|
|
10532
|
-
${desc}`;
|
|
10533
|
-
}).join("\n\n");
|
|
10534
|
-
}
|
|
10535
10693
|
function requireStyleError(usageCommand) {
|
|
10536
10694
|
const styles = listImageStyles();
|
|
10537
10695
|
const message = [
|
|
10538
10696
|
"--style <id> or --skip-style is required",
|
|
10539
10697
|
"",
|
|
10540
10698
|
"Available styles:",
|
|
10541
|
-
|
|
10699
|
+
formatRegistryListing(styles, "image styles"),
|
|
10542
10700
|
"",
|
|
10543
10701
|
`Examples:`,
|
|
10544
10702
|
` ${usageCommand} --style ${styles[0]?.id ?? "<style-id>"} --prompt "..."`,
|
|
@@ -10552,7 +10710,7 @@ function unknownStyleError(id, usageCommand) {
|
|
|
10552
10710
|
`Unknown image style: ${id}`,
|
|
10553
10711
|
"",
|
|
10554
10712
|
"Available styles:",
|
|
10555
|
-
|
|
10713
|
+
formatRegistryListing(styles, "image styles"),
|
|
10556
10714
|
"",
|
|
10557
10715
|
`Example:`,
|
|
10558
10716
|
` ${usageCommand} --style ${styles[0]?.id ?? "<style-id>"} --prompt "..."`
|
|
@@ -10694,7 +10852,7 @@ Options:
|
|
|
10694
10852
|
accept --input-fidelity and supported models accept --mask-image-url.
|
|
10695
10853
|
|
|
10696
10854
|
Image Styles:
|
|
10697
|
-
${
|
|
10855
|
+
${formatRegistryListing(styles, "image styles")}`;
|
|
10698
10856
|
}).action(
|
|
10699
10857
|
withErrorHandler(async (options, command) => {
|
|
10700
10858
|
const dispatch = await dispatchGenerate({
|
|
@@ -10991,6 +11149,32 @@ function createHtmlArtifactAuthoringPacket(options) {
|
|
|
10991
11149
|
}
|
|
10992
11150
|
|
|
10993
11151
|
// src/commands/zero/shared/artifact-generate.ts
|
|
11152
|
+
function unknownDesignSystemError(id, usageCommand) {
|
|
11153
|
+
const designSystems = listDesignSystems();
|
|
11154
|
+
const message = [
|
|
11155
|
+
`Unknown design system: ${id}`,
|
|
11156
|
+
"",
|
|
11157
|
+
"Available design systems:",
|
|
11158
|
+
formatRegistryListing(designSystems, "design systems"),
|
|
11159
|
+
"",
|
|
11160
|
+
`Example:`,
|
|
11161
|
+
` ${usageCommand} --design-system ${designSystems[0]?.id ?? "<design-system-id>"} --prompt "..."`
|
|
11162
|
+
].join("\n");
|
|
11163
|
+
return new Error(message);
|
|
11164
|
+
}
|
|
11165
|
+
function unknownTemplateError(id, usageCommand, target) {
|
|
11166
|
+
const templates = listTemplates(target);
|
|
11167
|
+
const message = [
|
|
11168
|
+
`Unknown template for ${target}: ${id}`,
|
|
11169
|
+
"",
|
|
11170
|
+
`Available templates for ${target}:`,
|
|
11171
|
+
formatRegistryListing(templates, `${target} templates`),
|
|
11172
|
+
"",
|
|
11173
|
+
`Example:`,
|
|
11174
|
+
` ${usageCommand} --template ${templates[0]?.id ?? "<template-id>"} --prompt "..."`
|
|
11175
|
+
].join("\n");
|
|
11176
|
+
return new Error(message);
|
|
11177
|
+
}
|
|
10994
11178
|
function createArtifactGenerateCommand(config) {
|
|
10995
11179
|
return new Command().name(config.name).description(config.description).option("--prompt <text>", "Artifact prompt; can also be piped via stdin").option(
|
|
10996
11180
|
"--provider <name>",
|
|
@@ -10998,9 +11182,16 @@ function createArtifactGenerateCommand(config) {
|
|
|
10998
11182
|
).option(
|
|
10999
11183
|
"--all",
|
|
11000
11184
|
"When listing providers (no --prompt given), include unavailable or not-yet-authorized connectors"
|
|
11001
|
-
).option("--site <slug>", "Hosted site slug; defaults to generated name").option("--title <text>", "Requested artifact title or name").option("--audience <text>", "Audience context").option(
|
|
11002
|
-
"
|
|
11003
|
-
|
|
11185
|
+
).option("--site <slug>", "Hosted site slug; defaults to generated name").option("--title <text>", "Requested artifact title or name").option("--audience <text>", "Audience context").option(
|
|
11186
|
+
"--design-system <id>",
|
|
11187
|
+
"Design system id from the registry (see Design Systems below). Accepts either 'apple' or 'design-system:apple'."
|
|
11188
|
+
).option(
|
|
11189
|
+
"--template <id>",
|
|
11190
|
+
`Template id from the registry, scoped to ${config.target} (see Templates below). Accepts either short id or full 'template:<id>'.`
|
|
11191
|
+
).option("--json", "Print metadata as JSON").addHelpText("after", () => {
|
|
11192
|
+
const designSystems = listDesignSystems();
|
|
11193
|
+
const templates = listTemplates(config.target);
|
|
11194
|
+
return `
|
|
11004
11195
|
Examples:
|
|
11005
11196
|
${config.examples}
|
|
11006
11197
|
|
|
@@ -11010,8 +11201,14 @@ Output:
|
|
|
11010
11201
|
--prompt and no piped input, prints the provider menu instead.
|
|
11011
11202
|
|
|
11012
11203
|
Notes:
|
|
11013
|
-
- Authenticates via ZERO_TOKEN
|
|
11014
|
-
|
|
11204
|
+
- Authenticates via ZERO_TOKEN
|
|
11205
|
+
|
|
11206
|
+
Design Systems:
|
|
11207
|
+
${formatRegistryListing(designSystems, "design systems")}
|
|
11208
|
+
|
|
11209
|
+
Templates (${config.target}):
|
|
11210
|
+
${formatRegistryListing(templates, `${config.target} templates`)}`;
|
|
11211
|
+
}).action(
|
|
11015
11212
|
withErrorHandler(async (options) => {
|
|
11016
11213
|
const dispatch = await dispatchGenerate({
|
|
11017
11214
|
generationType: config.generationType,
|
|
@@ -11022,12 +11219,47 @@ Notes:
|
|
|
11022
11219
|
});
|
|
11023
11220
|
if (dispatch.outcome === "handled") return;
|
|
11024
11221
|
const prompt = dispatch.prompt;
|
|
11222
|
+
let resolvedDesignSystem;
|
|
11223
|
+
if (options.designSystem !== void 0) {
|
|
11224
|
+
const canonical = canonicalizeRegistryId(
|
|
11225
|
+
"design-system",
|
|
11226
|
+
options.designSystem
|
|
11227
|
+
);
|
|
11228
|
+
const entry = findDesignSystem(canonical);
|
|
11229
|
+
if (!entry) {
|
|
11230
|
+
throw unknownDesignSystemError(
|
|
11231
|
+
options.designSystem,
|
|
11232
|
+
config.usageCommand
|
|
11233
|
+
);
|
|
11234
|
+
}
|
|
11235
|
+
resolvedDesignSystem = entry;
|
|
11236
|
+
}
|
|
11237
|
+
let resolvedTemplate;
|
|
11238
|
+
if (options.template !== void 0) {
|
|
11239
|
+
const canonical = canonicalizeRegistryId(
|
|
11240
|
+
"template",
|
|
11241
|
+
options.template
|
|
11242
|
+
);
|
|
11243
|
+
const entry = findTemplate(canonical);
|
|
11244
|
+
if (!entry || !entry.targets?.includes(config.target)) {
|
|
11245
|
+
throw unknownTemplateError(
|
|
11246
|
+
options.template,
|
|
11247
|
+
config.usageCommand,
|
|
11248
|
+
config.target
|
|
11249
|
+
);
|
|
11250
|
+
}
|
|
11251
|
+
resolvedTemplate = entry;
|
|
11252
|
+
}
|
|
11253
|
+
const extraDetails = [
|
|
11254
|
+
`Selected design system: ${resolvedDesignSystem ? `${resolvedDesignSystem.id} (${resolvedDesignSystem.name})` : "agent decides"}`,
|
|
11255
|
+
`Selected template: ${resolvedTemplate ? `${resolvedTemplate.id} (${resolvedTemplate.name})` : "agent decides"}`
|
|
11256
|
+
];
|
|
11025
11257
|
const packet = createHtmlArtifactAuthoringPacket({
|
|
11026
11258
|
kind: toGenerationTarget(config.target),
|
|
11027
11259
|
prompt,
|
|
11028
11260
|
slugSource: options.title,
|
|
11029
11261
|
site: options.site,
|
|
11030
|
-
details: config.details(options),
|
|
11262
|
+
details: [...config.details(options), ...extraDetails],
|
|
11031
11263
|
artifactRules: config.artifactRules
|
|
11032
11264
|
});
|
|
11033
11265
|
if (options.json) {
|
|
@@ -11141,6 +11373,7 @@ init_esm_shims();
|
|
|
11141
11373
|
// src/commands/zero/shared/presentation-generate.ts
|
|
11142
11374
|
init_esm_shims();
|
|
11143
11375
|
var PRESENTATION_MAX_IMAGES = 8;
|
|
11376
|
+
var PRESENTATION_TARGET = "presentation";
|
|
11144
11377
|
function parseSlideCount(value) {
|
|
11145
11378
|
const slideCount = Number(value);
|
|
11146
11379
|
if (!Number.isInteger(slideCount)) {
|
|
@@ -11160,6 +11393,32 @@ function parseImageCount(value) {
|
|
|
11160
11393
|
}
|
|
11161
11394
|
return imageCount;
|
|
11162
11395
|
}
|
|
11396
|
+
function unknownDesignSystemError2(id, usageCommand) {
|
|
11397
|
+
const designSystems = listDesignSystems();
|
|
11398
|
+
const message = [
|
|
11399
|
+
`Unknown design system: ${id}`,
|
|
11400
|
+
"",
|
|
11401
|
+
"Available design systems:",
|
|
11402
|
+
formatRegistryListing(designSystems, "design systems"),
|
|
11403
|
+
"",
|
|
11404
|
+
`Example:`,
|
|
11405
|
+
` ${usageCommand} --design-system ${designSystems[0]?.id ?? "<design-system-id>"} --prompt "..."`
|
|
11406
|
+
].join("\n");
|
|
11407
|
+
return new Error(message);
|
|
11408
|
+
}
|
|
11409
|
+
function unknownTemplateError2(id, usageCommand, target) {
|
|
11410
|
+
const templates = listTemplates(PRESENTATION_TARGET);
|
|
11411
|
+
const message = [
|
|
11412
|
+
`Unknown template for ${target}: ${id}`,
|
|
11413
|
+
"",
|
|
11414
|
+
`Available templates for ${target}:`,
|
|
11415
|
+
formatRegistryListing(templates, `${target} templates`),
|
|
11416
|
+
"",
|
|
11417
|
+
`Example:`,
|
|
11418
|
+
` ${usageCommand} --template ${templates[0]?.id ?? "<template-id>"} --prompt "..."`
|
|
11419
|
+
].join("\n");
|
|
11420
|
+
return new Error(message);
|
|
11421
|
+
}
|
|
11163
11422
|
function createPresentationGenerateCommand(config) {
|
|
11164
11423
|
return new Command().name(config.name).description("Generate an HTML presentation from a prompt").option(
|
|
11165
11424
|
"--prompt <text>",
|
|
@@ -11181,9 +11440,16 @@ function createPresentationGenerateCommand(config) {
|
|
|
11181
11440
|
).option(
|
|
11182
11441
|
"--theme <theme>",
|
|
11183
11442
|
"Theme: editorial supports ink, coral, forest; swiss supports ikb, lemon, lime, mono"
|
|
11184
|
-
).option("--audience <text>", "Audience context").option("--title <text>", "Requested deck title").option(
|
|
11185
|
-
"
|
|
11186
|
-
|
|
11443
|
+
).option("--audience <text>", "Audience context").option("--title <text>", "Requested deck title").option(
|
|
11444
|
+
"--design-system <id>",
|
|
11445
|
+
"Design system id from the registry (see Design Systems below). Accepts either 'apple' or 'design-system:apple'."
|
|
11446
|
+
).option(
|
|
11447
|
+
"--template <id>",
|
|
11448
|
+
"Template id from the registry, scoped to presentation (see Templates below). Accepts either 'html-ppt-pitch-deck' or 'template:html-ppt-pitch-deck'."
|
|
11449
|
+
).option("--json", "Print metadata as JSON").addHelpText("after", () => {
|
|
11450
|
+
const designSystems = listDesignSystems();
|
|
11451
|
+
const templates = listTemplates(PRESENTATION_TARGET);
|
|
11452
|
+
return `
|
|
11187
11453
|
Examples:
|
|
11188
11454
|
${config.examples}
|
|
11189
11455
|
|
|
@@ -11192,8 +11458,14 @@ Output:
|
|
|
11192
11458
|
|
|
11193
11459
|
Notes:
|
|
11194
11460
|
- Authenticates via ZERO_TOKEN
|
|
11195
|
-
- The agent authors the HTML presentation artifact and hosts it with zero host
|
|
11196
|
-
|
|
11461
|
+
- The agent authors the HTML presentation artifact and hosts it with zero host
|
|
11462
|
+
|
|
11463
|
+
Design Systems:
|
|
11464
|
+
${formatRegistryListing(designSystems, "design systems")}
|
|
11465
|
+
|
|
11466
|
+
Templates (presentation):
|
|
11467
|
+
${formatRegistryListing(templates, "presentation templates")}`;
|
|
11468
|
+
}).action(
|
|
11197
11469
|
withErrorHandler(async (options) => {
|
|
11198
11470
|
const dispatch = await dispatchGenerate({
|
|
11199
11471
|
generationType: config.generationType,
|
|
@@ -11204,6 +11476,37 @@ Notes:
|
|
|
11204
11476
|
});
|
|
11205
11477
|
if (dispatch.outcome === "handled") return;
|
|
11206
11478
|
const prompt = dispatch.prompt;
|
|
11479
|
+
let resolvedDesignSystem;
|
|
11480
|
+
if (options.designSystem !== void 0) {
|
|
11481
|
+
const canonical = canonicalizeRegistryId(
|
|
11482
|
+
"design-system",
|
|
11483
|
+
options.designSystem
|
|
11484
|
+
);
|
|
11485
|
+
const entry = findDesignSystem(canonical);
|
|
11486
|
+
if (!entry) {
|
|
11487
|
+
throw unknownDesignSystemError2(
|
|
11488
|
+
options.designSystem,
|
|
11489
|
+
config.usageCommand
|
|
11490
|
+
);
|
|
11491
|
+
}
|
|
11492
|
+
resolvedDesignSystem = entry;
|
|
11493
|
+
}
|
|
11494
|
+
let resolvedTemplate;
|
|
11495
|
+
if (options.template !== void 0) {
|
|
11496
|
+
const canonical = canonicalizeRegistryId(
|
|
11497
|
+
"template",
|
|
11498
|
+
options.template
|
|
11499
|
+
);
|
|
11500
|
+
const entry = findTemplate(canonical);
|
|
11501
|
+
if (!entry || !entry.targets?.includes(PRESENTATION_TARGET)) {
|
|
11502
|
+
throw unknownTemplateError2(
|
|
11503
|
+
options.template,
|
|
11504
|
+
config.usageCommand,
|
|
11505
|
+
PRESENTATION_TARGET
|
|
11506
|
+
);
|
|
11507
|
+
}
|
|
11508
|
+
resolvedTemplate = entry;
|
|
11509
|
+
}
|
|
11207
11510
|
const packet = createHtmlArtifactAuthoringPacket({
|
|
11208
11511
|
kind: "presentation",
|
|
11209
11512
|
prompt,
|
|
@@ -11215,7 +11518,9 @@ Notes:
|
|
|
11215
11518
|
`Image model preference if visuals are generated separately: ${options.imageModel ?? "default"}`,
|
|
11216
11519
|
`Theme: ${options.theme ?? "agent decides from style"}`,
|
|
11217
11520
|
`Audience: ${options.audience ?? "not specified"}`,
|
|
11218
|
-
`Requested deck title: ${options.title ?? "not specified"}
|
|
11521
|
+
`Requested deck title: ${options.title ?? "not specified"}`,
|
|
11522
|
+
`Selected design system: ${resolvedDesignSystem ? `${resolvedDesignSystem.id} (${resolvedDesignSystem.name})` : "agent decides"}`,
|
|
11523
|
+
`Selected template: ${resolvedTemplate ? `${resolvedTemplate.id} (${resolvedTemplate.name})` : "agent decides"}`
|
|
11219
11524
|
],
|
|
11220
11525
|
artifactRules: [
|
|
11221
11526
|
"Think like a presentation designer, not a web page designer.",
|
|
@@ -11567,15 +11872,19 @@ var videoCommand = createVideoGenerateCommand({
|
|
|
11567
11872
|
|
|
11568
11873
|
// src/commands/zero/generate/website.ts
|
|
11569
11874
|
init_esm_shims();
|
|
11570
|
-
var
|
|
11875
|
+
var WEBSITE_TEMPLATE_DIRECTIONS = ["auto", "launch", "profile"];
|
|
11571
11876
|
var WEBSITE_MAX_IMAGES = 3;
|
|
11572
|
-
|
|
11573
|
-
|
|
11574
|
-
|
|
11877
|
+
var WEBSITE_TARGET = "website";
|
|
11878
|
+
var WEBSITE_USAGE_COMMAND = "zero generate website";
|
|
11879
|
+
function parseTemplateDirection(value) {
|
|
11880
|
+
if (WEBSITE_TEMPLATE_DIRECTIONS.some((direction) => {
|
|
11881
|
+
return direction === value;
|
|
11575
11882
|
})) {
|
|
11576
11883
|
return value;
|
|
11577
11884
|
}
|
|
11578
|
-
throw new InvalidArgumentError(
|
|
11885
|
+
throw new InvalidArgumentError(
|
|
11886
|
+
"template-direction must be auto, launch, or profile"
|
|
11887
|
+
);
|
|
11579
11888
|
}
|
|
11580
11889
|
function parseImageCount2(value) {
|
|
11581
11890
|
const imageCount = Number(value);
|
|
@@ -11589,6 +11898,32 @@ function parseImageCount2(value) {
|
|
|
11589
11898
|
}
|
|
11590
11899
|
return imageCount;
|
|
11591
11900
|
}
|
|
11901
|
+
function unknownDesignSystemError3(id) {
|
|
11902
|
+
const designSystems = listDesignSystems();
|
|
11903
|
+
const message = [
|
|
11904
|
+
`Unknown design system: ${id}`,
|
|
11905
|
+
"",
|
|
11906
|
+
"Available design systems:",
|
|
11907
|
+
formatRegistryListing(designSystems, "design systems"),
|
|
11908
|
+
"",
|
|
11909
|
+
`Example:`,
|
|
11910
|
+
` ${WEBSITE_USAGE_COMMAND} --design-system ${designSystems[0]?.id ?? "<design-system-id>"} --prompt "..."`
|
|
11911
|
+
].join("\n");
|
|
11912
|
+
return new Error(message);
|
|
11913
|
+
}
|
|
11914
|
+
function unknownTemplateError3(id) {
|
|
11915
|
+
const templates = listTemplates(WEBSITE_TARGET);
|
|
11916
|
+
const message = [
|
|
11917
|
+
`Unknown template for ${WEBSITE_TARGET}: ${id}`,
|
|
11918
|
+
"",
|
|
11919
|
+
`Available templates for ${WEBSITE_TARGET}:`,
|
|
11920
|
+
formatRegistryListing(templates, `${WEBSITE_TARGET} templates`),
|
|
11921
|
+
"",
|
|
11922
|
+
`Example:`,
|
|
11923
|
+
` ${WEBSITE_USAGE_COMMAND} --template ${templates[0]?.id ?? "<template-id>"} --prompt "..."`
|
|
11924
|
+
].join("\n");
|
|
11925
|
+
return new Error(message);
|
|
11926
|
+
}
|
|
11592
11927
|
var websiteCommand = new Command().name("website").description("Prepare website authoring instructions from a prompt").option("--prompt <text>", "Website prompt; can also be piped via stdin").option(
|
|
11593
11928
|
"--provider <name>",
|
|
11594
11929
|
"Provider: 'built-in' to run vm0's pipeline, or a connector name to get its skill-invocation guidance"
|
|
@@ -11596,10 +11931,16 @@ var websiteCommand = new Command().name("website").description("Prepare website
|
|
|
11596
11931
|
"--all",
|
|
11597
11932
|
"When listing providers (no --prompt given), include unavailable or not-yet-authorized connectors"
|
|
11598
11933
|
).option(
|
|
11599
|
-
"--template <
|
|
11600
|
-
"
|
|
11601
|
-
|
|
11934
|
+
"--template-direction <direction>",
|
|
11935
|
+
"High-level website direction: auto, launch, or profile",
|
|
11936
|
+
parseTemplateDirection,
|
|
11602
11937
|
"auto"
|
|
11938
|
+
).option(
|
|
11939
|
+
"--template <id>",
|
|
11940
|
+
"Template id from the registry, scoped to website (see Templates below). Accepts either short id or full 'template:<id>'."
|
|
11941
|
+
).option(
|
|
11942
|
+
"--design-system <id>",
|
|
11943
|
+
"Design system id from the registry (see Design Systems below). Accepts either 'apple' or 'design-system:apple'."
|
|
11603
11944
|
).option(
|
|
11604
11945
|
"--images <count>",
|
|
11605
11946
|
`Generated website image count: 0-${WEBSITE_MAX_IMAGES}`,
|
|
@@ -11608,12 +11949,15 @@ var websiteCommand = new Command().name("website").description("Prepare website
|
|
|
11608
11949
|
).option(
|
|
11609
11950
|
"--image-model <model>",
|
|
11610
11951
|
"Image model for generated visuals (default: gpt-image-1): gpt-image-2, gpt-image-1.5, gpt-image-1, gpt-image-1-mini, flux-pro-1.1, flux-pro-1.1-ultra, qwen-image, or seedream4"
|
|
11611
|
-
).option("--site <slug>", "Hosted site slug; defaults to the generated name").option("--title <text>", "Requested site title or name").option("--audience <text>", "Audience context").option("--json", "Print metadata as JSON").addHelpText(
|
|
11612
|
-
|
|
11613
|
-
|
|
11952
|
+
).option("--site <slug>", "Hosted site slug; defaults to the generated name").option("--title <text>", "Requested site title or name").option("--audience <text>", "Audience context").option("--json", "Print metadata as JSON").addHelpText("after", () => {
|
|
11953
|
+
const designSystems = listDesignSystems();
|
|
11954
|
+
const templates = listTemplates(WEBSITE_TARGET);
|
|
11955
|
+
return `
|
|
11614
11956
|
Examples:
|
|
11615
11957
|
Generate site: zero generate website --prompt "A launch site for a developer observability tool"
|
|
11616
|
-
Pick
|
|
11958
|
+
Pick direction: zero generate website --template-direction profile --images 2 --image-model gpt-image-1.5 --prompt "Portfolio for a robotics photographer"
|
|
11959
|
+
Pick template: zero generate website --template saas-landing --prompt "Launch site for a billing API"
|
|
11960
|
+
Pick design system: zero generate website --design-system stripe --prompt "Pricing page for a SaaS"
|
|
11617
11961
|
Stable hosted slug: zero generate website --site api-migration-demo --prompt "An internal migration microsite"
|
|
11618
11962
|
Pipe prompt: cat brief.txt | zero generate website
|
|
11619
11963
|
List providers: zero generate website
|
|
@@ -11624,8 +11968,14 @@ Output:
|
|
|
11624
11968
|
|
|
11625
11969
|
Notes:
|
|
11626
11970
|
- Authenticates via ZERO_TOKEN
|
|
11627
|
-
- The agent authors the HTML artifact and hosts it with zero host
|
|
11628
|
-
|
|
11971
|
+
- The agent authors the HTML artifact and hosts it with zero host
|
|
11972
|
+
|
|
11973
|
+
Design Systems:
|
|
11974
|
+
${formatRegistryListing(designSystems, "design systems")}
|
|
11975
|
+
|
|
11976
|
+
Templates (website):
|
|
11977
|
+
${formatRegistryListing(templates, "website templates")}`;
|
|
11978
|
+
}).action(
|
|
11629
11979
|
withErrorHandler(async (options) => {
|
|
11630
11980
|
const dispatch = await dispatchGenerate({
|
|
11631
11981
|
generationType: "website",
|
|
@@ -11636,17 +11986,40 @@ Notes:
|
|
|
11636
11986
|
});
|
|
11637
11987
|
if (dispatch.outcome === "handled") return;
|
|
11638
11988
|
const prompt = dispatch.prompt;
|
|
11989
|
+
let resolvedDesignSystem;
|
|
11990
|
+
if (options.designSystem !== void 0) {
|
|
11991
|
+
const canonical = canonicalizeRegistryId(
|
|
11992
|
+
"design-system",
|
|
11993
|
+
options.designSystem
|
|
11994
|
+
);
|
|
11995
|
+
const entry = findDesignSystem(canonical);
|
|
11996
|
+
if (!entry) {
|
|
11997
|
+
throw unknownDesignSystemError3(options.designSystem);
|
|
11998
|
+
}
|
|
11999
|
+
resolvedDesignSystem = entry;
|
|
12000
|
+
}
|
|
12001
|
+
let resolvedTemplate;
|
|
12002
|
+
if (options.template !== void 0) {
|
|
12003
|
+
const canonical = canonicalizeRegistryId("template", options.template);
|
|
12004
|
+
const entry = findTemplate(canonical);
|
|
12005
|
+
if (!entry || !entry.targets?.includes(WEBSITE_TARGET)) {
|
|
12006
|
+
throw unknownTemplateError3(options.template);
|
|
12007
|
+
}
|
|
12008
|
+
resolvedTemplate = entry;
|
|
12009
|
+
}
|
|
11639
12010
|
const packet = createHtmlArtifactAuthoringPacket({
|
|
11640
12011
|
kind: "website",
|
|
11641
12012
|
prompt,
|
|
11642
12013
|
slugSource: options.title,
|
|
11643
12014
|
site: options.site,
|
|
11644
12015
|
details: [
|
|
11645
|
-
`Template direction: ${options.
|
|
12016
|
+
`Template direction: ${options.templateDirection}`,
|
|
11646
12017
|
`Suggested generated visual count: ${options.images}`,
|
|
11647
12018
|
`Image model preference if visuals are generated separately: ${options.imageModel ?? "default"}`,
|
|
11648
12019
|
`Requested title/site name: ${options.title ?? "not specified"}`,
|
|
11649
|
-
`Audience: ${options.audience ?? "not specified"}
|
|
12020
|
+
`Audience: ${options.audience ?? "not specified"}`,
|
|
12021
|
+
`Selected design system: ${resolvedDesignSystem ? `${resolvedDesignSystem.id} (${resolvedDesignSystem.name})` : "agent decides"}`,
|
|
12022
|
+
`Selected template: ${resolvedTemplate ? `${resolvedTemplate.id} (${resolvedTemplate.name})` : "agent decides"}`
|
|
11650
12023
|
],
|
|
11651
12024
|
artifactRules: [
|
|
11652
12025
|
"Build the usable website as the first screen; do not output a landing-page plan.",
|
|
@@ -12652,7 +13025,7 @@ function registerZeroCommands(prog, commands) {
|
|
|
12652
13025
|
var program = new Command();
|
|
12653
13026
|
program.name("zero").description(
|
|
12654
13027
|
"Zero CLI \u2014 interact with the zero platform from inside the sandbox"
|
|
12655
|
-
).version("9.
|
|
13028
|
+
).version("9.175.1").addHelpText("after", () => {
|
|
12656
13029
|
return buildZeroHelpText();
|
|
12657
13030
|
});
|
|
12658
13031
|
if (process.argv[1]?.endsWith("zero.js") || process.argv[1]?.endsWith("zero.ts") || process.argv[1]?.endsWith("zero")) {
|