@rubytech/create-maxy-code 0.1.107 → 0.1.109
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/package.json +1 -1
- package/payload/platform/config/brand.json +1 -0
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/business-assistant/PLUGIN.md +4 -1
- package/payload/platform/plugins/cloudflare/PLUGIN.md +1 -1
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.sh +12 -12
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +9 -43
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +27 -29
- package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +14 -9
- package/payload/platform/plugins/docs/references/platform.md +4 -22
- package/payload/platform/plugins/docs/references/plugins-guide.md +9 -2
- package/payload/platform/plugins/docs/references/troubleshooting.md +4 -316
- package/payload/platform/plugins/venture-studio/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/venture-studio/PLUGIN.md +110 -0
- package/payload/platform/plugins/venture-studio/bin/scaffold.sh +104 -0
- package/payload/platform/plugins/venture-studio/skills/brand-pack/SKILL.md +256 -0
- package/payload/platform/plugins/venture-studio/skills/brand-pack/references/color-psychology.md +118 -0
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/SKILL.md +112 -9
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/html-pdf-pipeline.md +1 -1
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/termsheet-template.md +1 -1
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +1565 -0
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +91 -0
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +715 -0
- package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +588 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/SKILL.md +332 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +275 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +93 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +308 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +262 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +171 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +246 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +183 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +190 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +58 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +114 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +43 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +237 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +290 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +105 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +361 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +167 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +193 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +200 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +239 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +103 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +291 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +225 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +179 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/prd.md +363 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +74 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +253 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +256 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +276 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +248 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +89 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +121 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +242 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +271 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.js +78 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.js.map +1 -0
- package/payload/platform/scripts/vnc.sh +4 -3
- package/payload/premium-plugins/.claude-plugin/marketplace.json +4 -4
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/build.md +4 -5
- package/payload/premium-plugins/venture-studio/.claude-plugin/plugin.json +8 -0
- package/payload/premium-plugins/venture-studio/PLUGIN.md +110 -0
- package/payload/premium-plugins/venture-studio/bin/scaffold.sh +104 -0
- package/payload/premium-plugins/venture-studio/skills/brand-pack/SKILL.md +256 -0
- package/payload/premium-plugins/venture-studio/skills/brand-pack/references/color-psychology.md +118 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/SKILL.md +361 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +61 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/compliance-research-checklist.md +53 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +77 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +38 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/design-tokens-application.md +79 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/html-pdf-pipeline.md +236 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/internal-workings-scrub.md +33 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/termsheet-template.md +88 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +1565 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +91 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +715 -0
- package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +588 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/SKILL.md +332 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +275 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +93 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +308 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +262 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +171 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +246 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +183 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +190 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +58 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +114 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +43 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +237 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +290 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +105 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +361 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +167 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +193 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +200 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +239 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +103 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +291 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +225 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +179 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/prd.md +363 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +74 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +253 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +256 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +276 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +248 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +89 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +121 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +242 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +271 -0
- package/payload/server/{chunk-TZD23CX6.js → chunk-FSPPVVWM.js} +1347 -505
- package/payload/server/maxy-edge.js +21 -259
- package/payload/server/public/assets/{ChatInput-DJsqm_Gf.js → ChatInput-CsnIedhS.js} +1 -5
- package/payload/server/public/assets/{Checkbox-DGZG9BKc.js → Checkbox-CWugFyFT.js} +1 -1
- package/payload/server/public/assets/admin-D3gZuyUn.js +217 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Dw16BhiX.js → architectureDiagram-Q4EWVU46-CeTRKWDb.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DIOpmf5Y.js → blockDiagram-DXYQGD6D-DeeIX5U3.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Tdb_HZeX.js → c4Diagram-AHTNJAMY-CFsqZuil.js} +1 -1
- package/payload/server/public/assets/channel-CrSx5mnG.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-CebpwDDe.js → chunk-336JU56O-DpIXuFM0.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-BtRCmfDU.js → chunk-426QAEUC-Qk8qqrvA.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BZ3GEWs3.js → chunk-4TB4RGXK-DtM8-CUn.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-iDI6Xu0U.js → chunk-5FUZZQ4R-CrSQ4ySU.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-SQD_EpYa.js → chunk-5PVQY5BW-Bn2nQwdj.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CtCcA7_e.js → chunk-EDXVE4YY-CzCPnR0P.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-pXVGVCbb.js → chunk-ENJZ2VHE-CgZj9RoG.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-Dkzg9o2N.js → chunk-ICPOFSXX-wy-eNjwW.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-1ZZWzf9F.js → chunk-OYMX7WX6-CMmJtL8S.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-CpQ3kzO0.js → chunk-U2HBQHQK-CFCW7OaT.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-C2LkxroC.js → chunk-X2U36JSP-Bgh-CJSN.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-Bl5jBOt5.js → chunk-YZCP3GAM-BXKwZ4vN.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-CHtnptPS.js → chunk-ZZ45TVLE-BiOuK5NP.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-C3IDJsqN.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BOIrJ5Zb.js +1 -0
- package/payload/server/public/assets/clone-P8Fkz7JD.js +1 -0
- package/payload/server/public/assets/{dagre-BziN0Nkh.js → dagre-DyCxa9Q2.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-B7OG1g1Y.js → dagre-KV5264BT-Cffo_hmf.js} +1 -1
- package/payload/server/public/assets/data-DRfwJPja.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-Bf31nIDs.js → diagram-5BDNPKRD-Bt93Du3V.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DQu85hhH.js → diagram-G4DWMVQ6-v4r-tBsC.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-5tstbs4y.js → diagram-MMDJMWI5-DKrVPOP-.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635--MOV1U4o.js → diagram-TYMM5635-B1PzWQb9.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-BtAnOJmd.js → erDiagram-SMLLAGMA-ClQzsQAs.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CybiCIih.js → flowDiagram-DWJPFMVM-h3IbpN_7.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B44jN7Cy.js → ganttDiagram-T4ZO3ILL-ClaxOJi8.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CT7iYcwg.js → gitGraphDiagram-UUTBAWPF-pM-U4ClD.js} +1 -1
- package/payload/server/public/assets/graph-B4FFYwus.js +1 -0
- package/payload/server/public/assets/graph-labels-Cpk9Ktt0.js +1 -0
- package/payload/server/public/assets/{graphlib-DP4o0pYL.js → graphlib-CwimOv_M.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-CvxFpFHN.js → infoDiagram-42DDH7IO-DcO3Giwe.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CUwWLPeR.js → ishikawaDiagram-UXIWVN3A-BcdSL5VS.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-y-OnGgLi.js → journeyDiagram-VCZTEJTY-CYahHYzf.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BhrSe8R4.js → kanban-definition-6JOO6SKY-Cl5KhoS4.js} +1 -1
- package/payload/server/public/assets/lib--yuBd0Xi.js +33 -0
- package/payload/server/public/assets/{line-C9uS7z4J.js → line-d_2oTxLp.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-Cg4ZdKp-.js → mermaid-parser.core-CMMDGv3x.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-BHdKOsex.js → mermaid.core-DK9ENGbr.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-NBYiXHo7.js → mindmap-definition-QFDTVHPH-mA3x3MFG.js} +1 -1
- package/payload/server/public/assets/page-CgDmg_fX.js +1 -0
- package/payload/server/public/assets/{page-D9YpwhIu.js → page-D9lluVl7.js} +2 -2
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-CbojC64C.js → pieDiagram-DEJITSTG-CW1nGFlY.js} +1 -1
- package/payload/server/public/assets/public-DdLMkNdS.js +7 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CnnoZXcL.js → quadrantDiagram-34T5L4WZ-DI5igJhR.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-DFRFRtyJ.js → requirementDiagram-MS252O5E-DyVeI4e_.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DU5gcpzO.js → sankeyDiagram-XADWPNL6-CCTTBYKY.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BN7HZ6Hq.js → sequenceDiagram-FGHM5R23-hVVf35ly.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DG6cCjvg.js → stateDiagram-FHFEXIEX-CSLuQDUX.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5JejhQU.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-qmV-8SEV.js → timeline-definition-GMOUNBTQ-sxC3W8Q4.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BMXQ1s3n.js → vennDiagram-DHZGUBPP-Ro-ton6Z.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-CoAdP1Gw.js → wardleyDiagram-NUSXRM2D-T-dKD0Zx.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CZlfGTEn.js → xychartDiagram-5P7HB3ND-CfProPts.js} +1 -1
- package/payload/server/public/data.html +4 -4
- package/payload/server/public/graph.html +5 -5
- package/payload/server/public/index.html +7 -7
- package/payload/server/public/public.html +4 -4
- package/payload/server/server.js +300 -1393
- package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +0 -154
- package/payload/premium-plugins/founder-pack/.claude-plugin/plugin.json +0 -8
- package/payload/server/chunk-BDFOTLPW.js +0 -759
- package/payload/server/chunk-JRBCOVA4.js +0 -1305
- package/payload/server/cloudflare-task-tracker-M5ONAGUT.js +0 -22
- package/payload/server/public/assets/admin-BvzMvMGo.js +0 -217
- package/payload/server/public/assets/channel-DThrH4QF.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BC6oGTNX.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-COwC5Umh.js +0 -1
- package/payload/server/public/assets/clone-Chp7hvnA.js +0 -1
- package/payload/server/public/assets/data-BAgaPs4j.js +0 -1
- package/payload/server/public/assets/graph-Cma7EArf.js +0 -1
- package/payload/server/public/assets/graph-labels-DyKk6Sxf.js +0 -1
- package/payload/server/public/assets/lib-CpkYtEDz.js +0 -29
- package/payload/server/public/assets/page-B4IWl3aZ.js +0 -1
- package/payload/server/public/assets/public-BtOXjy3A.js +0 -8
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CvVd1Q_q.js +0 -1
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/business-plan-template.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/compliance-research-checklist.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/data-room-structure.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/deck-blueprint-template.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/design-tokens-application.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/internal-workings-scrub.md +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// CLI bridge for shell scripts that need to scaffold a Project + Tasks
|
|
2
|
+
// atomically (e.g. premium-plugins/venture-studio/bin/scaffold.sh). The
|
|
3
|
+
// scaffold script is the deterministic enforcement layer for the
|
|
4
|
+
// venture-studio scaffold-first principle (see Task 286 +
|
|
5
|
+
// feedback_doctrine_paragraph_is_not_a_gate); to remain deterministic it
|
|
6
|
+
// must invoke a single binary, not narrate intent for the LLM. This CLI
|
|
7
|
+
// is that binary.
|
|
8
|
+
//
|
|
9
|
+
// Contract:
|
|
10
|
+
// node project-create-cli.js '<json-payload>'
|
|
11
|
+
// payload: { accountId, name, description, tier, workItems[], createdBy }
|
|
12
|
+
// exit 0 + stdout JSON { projectId, existing: boolean } on success
|
|
13
|
+
// exit non-zero + literal stderr message on any failure
|
|
14
|
+
//
|
|
15
|
+
// Idempotency guard lives here, NOT in projectCreate(). projectCreate()
|
|
16
|
+
// always mints a fresh UUID — modifying it to MERGE on (accountId, name)
|
|
17
|
+
// would change semantics for every existing caller. The CLI runs a
|
|
18
|
+
// pre-check MATCH on (accountId, name); if a Project exists, it returns
|
|
19
|
+
// the existing projectId with existing=true and skips the write. This
|
|
20
|
+
// makes the scaffold script safely re-runnable after a partial failure
|
|
21
|
+
// (e.g. graph write succeeds but mkdir fails — second run finds the
|
|
22
|
+
// Project and only retries mkdir).
|
|
23
|
+
import { projectCreate } from "../tools/project-create.js";
|
|
24
|
+
import { getDriver } from "../lib/neo4j.js";
|
|
25
|
+
async function findExistingProject(accountId, name) {
|
|
26
|
+
const driver = getDriver();
|
|
27
|
+
const session = driver.session();
|
|
28
|
+
try {
|
|
29
|
+
const result = await session.run(`MATCH (p:Project {accountId: $accountId, name: $name})
|
|
30
|
+
RETURN p.taskId AS projectId LIMIT 1`, { accountId, name });
|
|
31
|
+
if (result.records.length === 0)
|
|
32
|
+
return null;
|
|
33
|
+
return result.records[0].get("projectId");
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
await session.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function main() {
|
|
40
|
+
const raw = process.argv[2];
|
|
41
|
+
if (!raw) {
|
|
42
|
+
process.stderr.write("project-create-cli: missing JSON payload argument\n");
|
|
43
|
+
process.exit(2);
|
|
44
|
+
}
|
|
45
|
+
let payload;
|
|
46
|
+
try {
|
|
47
|
+
payload = JSON.parse(raw);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
process.stderr.write(`project-create-cli: malformed JSON payload: ${err.message}\n`);
|
|
51
|
+
process.exit(2);
|
|
52
|
+
}
|
|
53
|
+
if (!payload.accountId || !payload.name) {
|
|
54
|
+
process.stderr.write("project-create-cli: payload missing required field (accountId, name)\n");
|
|
55
|
+
process.exit(2);
|
|
56
|
+
}
|
|
57
|
+
const createdBy = payload.createdBy ?? {
|
|
58
|
+
tool: "project-create-cli",
|
|
59
|
+
source: "scaffold-script",
|
|
60
|
+
};
|
|
61
|
+
const existing = await findExistingProject(payload.accountId, payload.name);
|
|
62
|
+
if (existing) {
|
|
63
|
+
process.stdout.write(JSON.stringify({ projectId: existing, existing: true }) + "\n");
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const result = await projectCreate({
|
|
67
|
+
...payload,
|
|
68
|
+
createdBy,
|
|
69
|
+
});
|
|
70
|
+
process.stdout.write(JSON.stringify({ projectId: result.projectId, existing: false, childTaskIds: result.childTaskIds }) + "\n");
|
|
71
|
+
}
|
|
72
|
+
main()
|
|
73
|
+
.then(() => process.exit(0))
|
|
74
|
+
.catch((err) => {
|
|
75
|
+
process.stderr.write(`project-create-cli: ${err.message}\n`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=project-create-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-create-cli.js","sourceRoot":"","sources":["../../src/cli/project-create-cli.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,iEAAiE;AACjE,0DAA0D;AAC1D,yEAAyE;AACzE,wEAAwE;AACxE,kBAAkB;AAClB,EAAE;AACF,YAAY;AACZ,gDAAgD;AAChD,4EAA4E;AAC5E,qEAAqE;AACrE,0DAA0D;AAC1D,EAAE;AACF,wEAAwE;AACxE,yEAAyE;AACzE,mEAAmE;AACnE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,mCAAmC;AAEnC,OAAO,EAAE,aAAa,EAA4B,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,IAAY;IAEZ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B;4CACsC,EACtC,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAAgD,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI;QACrC,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,iBAAiB;KAC1B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACjC,GAAG,OAAO;QACV,SAAS;KACa,CAAC,CAAC;IAE1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAC3G,CAAC;AACJ,CAAC;AAED,IAAI,EAAE;KACH,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -323,9 +323,10 @@ start_chrome() {
|
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
# ---------------------------------------------------------------------------
|
|
326
|
-
#
|
|
327
|
-
#
|
|
328
|
-
# the
|
|
326
|
+
# Retired in Task 287: the admin-UI terminal and browser-overlay surfaces
|
|
327
|
+
# are gone. This script still launches Chromium for legacy installs where
|
|
328
|
+
# the brand VNC is used for ad-hoc operator browsing; on maxy-code the
|
|
329
|
+
# admin chat PTY is the only interactive surface.
|
|
329
330
|
# ---------------------------------------------------------------------------
|
|
330
331
|
|
|
331
332
|
start_chrome_native() {
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
},
|
|
6
6
|
"plugins": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
9
|
-
"source": "./
|
|
8
|
+
"name": "teaching",
|
|
9
|
+
"source": "./teaching",
|
|
10
10
|
"version": "0.1.0"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"name": "
|
|
14
|
-
"source": "./
|
|
13
|
+
"name": "venture-studio",
|
|
14
|
+
"source": "./venture-studio",
|
|
15
15
|
"version": "0.1.0"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
@@ -13,11 +13,10 @@
|
|
|
13
13
|
8. Verify every page fits A4: measure `scrollHeight` for all `.page` elements
|
|
14
14
|
9. Verify no 404s in the browser console
|
|
15
15
|
10. Repeat 6–9 until user approves the final copy
|
|
16
|
-
11. **
|
|
17
|
-
12.
|
|
18
|
-
13. Build
|
|
19
|
-
14.
|
|
20
|
-
15. User downloads the web PDF via brochure.html's Download button or receives the print master separately for press/print runs
|
|
16
|
+
11. **Only after user approval**: render snapshots (two passes — 300 dpi to `output/`, 192 dpi to `output/.snapshots-web/`) per **Print snapshot capture** below
|
|
17
|
+
12. Build both PDFs (img2pdf + qpdf) per **PDF deliverable** below
|
|
18
|
+
13. Build the web bundle (96 dpi JPGs + bundled web PDF + zip) per **Web bundle** below
|
|
19
|
+
14. User downloads the web PDF via brochure.html's Download button or receives the print master separately for press/print runs
|
|
21
20
|
|
|
22
21
|
Do not capture snapshots during the editing cycle — they are expensive and invalidated by every change.
|
|
23
22
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "venture-studio",
|
|
3
|
+
"description": "Founding-a-business agent. Drives an operator from raw idea to fundraise-ready deliverables: validated wedge, branded identity, prototyped product, structured data room, business plan, prospectus + term sheet, deck. Every artefact slots into a tracked Project + Task graph so nothing gets forgotten.",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Rubytech LLC"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: venture-studio
|
|
3
|
+
description: "Founding-a-business agent. Drives an operator from raw idea to fundraise-ready deliverables: validated wedge, branded identity, prototyped product, structured data room, business plan, prospectus + term sheet, deck. Every artefact slots into a tracked Project + Task graph so nothing gets forgotten."
|
|
4
|
+
requires:
|
|
5
|
+
- projects
|
|
6
|
+
- work
|
|
7
|
+
metadata: {"platform":{"always":false,"embed":["admin"],"pluginKey":"venture-studio","optional":true,"recommended":true}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Venture Studio
|
|
11
|
+
|
|
12
|
+
You are the founding-a-business agent. The operator has a business they want to start; your job is to take them from idea to a fundraise-ready pack — without losing track of any artefact along the way.
|
|
13
|
+
|
|
14
|
+
## Operating principle: data-room first
|
|
15
|
+
|
|
16
|
+
Every business this agent founds produces the same set of artefacts: a discovery design doc, a brand pack, a validated wedge with a landing page and PRD, a structured data room, a business plan, a prospectus, a term sheet, a deck. The operator does not have to remember any of this. The agent's job is to ensure every artefact has a tracked Task before any artefact is produced.
|
|
17
|
+
|
|
18
|
+
Outcome (binding):
|
|
19
|
+
|
|
20
|
+
- **Every artefact has a tracked Task** in a `Project` named for this business, before that artefact's skill is invoked.
|
|
21
|
+
- **Section order is preserved.** Artefacts are produced in the data-room's section order (`01-narrative` → `02-corporate-legal` → ... → `10-supporting`), with the `html/<artefact>/` rendered outputs landing as the section's content matures.
|
|
22
|
+
- **Nothing is forgotten.** The Project's Task list IS the operator's view of what is done, what is in flight, what is outstanding.
|
|
23
|
+
|
|
24
|
+
Constraint (binding): **No downstream venture-studio skill (`brand-pack`, `zero-to-prototype`, `investor-data-room` Stages 3+, etc.) is invoked before the data-room scaffold + Project + per-artefact Tasks exist on disk and in the graph.** If the operator asks you to skip straight to a deliverable ("just write me a business plan"), restate the scaffold-first principle and offer to scaffold the data room first, then jump straight to that artefact's task. The principle is the outcome contract; the scaffold proves it.
|
|
25
|
+
|
|
26
|
+
### Deterministic pre-flight gate
|
|
27
|
+
|
|
28
|
+
Before invoking any downstream skill, both checks below must pass. Both are deterministic — exit-code on `ls`, structured output on `project-list`. Neither check depends on LLM judgement.
|
|
29
|
+
|
|
30
|
+
1. **Directory check:** `[ -d "${PROJECT_ROOT}/.docs/data-room/01-narrative" ]` returns exit 0.
|
|
31
|
+
2. **Graph check:** the `project-list` tool returns a Project whose `name` matches the business's working name.
|
|
32
|
+
|
|
33
|
+
If either check fails, run the scaffolding script (see below) before the skill fires. If the script fails, surface the literal stderr error to the operator — do not narrate around it (memory: [[feedback_no_stdout_parsing_for_control_flow]]).
|
|
34
|
+
|
|
35
|
+
### Scaffolding script
|
|
36
|
+
|
|
37
|
+
`bin/scaffold.sh` is the deterministic enforcement layer. It creates the Project + eight artefact Tasks (via the work plugin's `project-create-cli` bridge) and materialises the ten-section directory tree. Graph write first, directories second; idempotent re-run if any partial state lands.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
ACCOUNT_ID="${ACCOUNT_ID}" \
|
|
41
|
+
premium-plugins/venture-studio/bin/scaffold.sh \
|
|
42
|
+
"${PROJECT_ROOT}" \
|
|
43
|
+
"${BUSINESS_NAME}"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The script is the binding check, not the prose principle above. The prose explains why; the script is what makes it true.
|
|
47
|
+
|
|
48
|
+
## First-conversation routing
|
|
49
|
+
|
|
50
|
+
When the operator first invokes this agent, confirm the intent ("Are we founding a new business, or working on an existing one?") and run the scaffolding script — it does steps 1–3 below in a single atomic invocation:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
ACCOUNT_ID="${ACCOUNT_ID}" \
|
|
54
|
+
premium-plugins/venture-studio/bin/scaffold.sh \
|
|
55
|
+
"${PROJECT_ROOT}" \
|
|
56
|
+
"${BUSINESS_NAME}"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The script's three effects:
|
|
60
|
+
|
|
61
|
+
1. **Scaffolds the data room.** Materialises the ten-section directory tree under `<project-root>/.docs/data-room/`. Every artefact has a slot to land in before any artefact is produced.
|
|
62
|
+
2. **Creates the `Project` node.** Tier `full` (data-room work is multi-phase). Project name is the business's working name; description references the data-room root path.
|
|
63
|
+
3. **Enumerates the eight artefact Tasks** in section order — one transaction, atomic with the Project. The work-item list the script pre-seeds:
|
|
64
|
+
- **Stage 1 — Office-hours design doc** → produces `01-narrative/office-hours-design.md` (skill: `office-hours`)
|
|
65
|
+
- **Brand pack** → produces brand identity files into `06-product-ip/brand/` (skill: `brand-pack`)
|
|
66
|
+
- **Stage 2 — Wedge validation + landing page + PRD** → produces `01-narrative/{PMF, LANDING, PRD}.md` (skill: `zero-to-prototype`)
|
|
67
|
+
- **Stage 3 — Business plan** → produces `01-narrative/business-plan.md` (skill: `investor-data-room` Stage 3)
|
|
68
|
+
- **Stage 3b — Term sheet** → produces `html/prospectus/term_sheet.html` (skill: `investor-data-room` Stage 3b)
|
|
69
|
+
- **Stage 4 — Deck blueprint** → produces `01-narrative/deck-blueprint.md` (skill: `investor-data-room` Stage 4)
|
|
70
|
+
- **Stage 4b — Prospectus** → produces `html/prospectus/index.html` (skill: `investor-data-room` Stage 4b)
|
|
71
|
+
- **Stage 5 — Rendered PDFs** → produces `html/{business-plan,prospectus,deck}/*.pdf` (skill: `investor-data-room` Stage 5)
|
|
72
|
+
|
|
73
|
+
After these three steps land, the operator sees the project + task list before any skill produces output. Subsequent turns execute the tasks one at a time, calling the relevant venture-studio skill to produce that section's artefact.
|
|
74
|
+
|
|
75
|
+
## Skill routing
|
|
76
|
+
|
|
77
|
+
The following intent phrases route to specific skills. These calls are gated by the scaffold-first principle: refuse to fire any of them until the data-room scaffold + Project + Tasks exist.
|
|
78
|
+
|
|
79
|
+
| Operator says | Skill |
|
|
80
|
+
|---|---|
|
|
81
|
+
| "I want to think this through" / "office hours" / "is this worth building" | `office-hours` |
|
|
82
|
+
| "let's brand this" / "tokens for the brand" / "logo and palette" | `brand-pack` |
|
|
83
|
+
| "validate this idea" / "let's find PMF" / "draft the landing page" / "write the PRD" | `zero-to-prototype` |
|
|
84
|
+
| "build me a data room" / "scaffold the data room" | `investor-data-room` (Stage 2) |
|
|
85
|
+
| "draft the business plan" | `investor-data-room` (Stage 3) |
|
|
86
|
+
| "draft the term sheet" | `investor-data-room` (Stage 3b) |
|
|
87
|
+
| "draft the deck blueprint" / "build the deck" | `investor-data-room` (Stage 4) |
|
|
88
|
+
| "draft the prospectus" / "investment prospectus" | `investor-data-room` (Stage 4b) |
|
|
89
|
+
| "render the PDFs" / "print-ready deliverables" | `investor-data-room` (Stage 5) |
|
|
90
|
+
|
|
91
|
+
When the operator's intent matches a row but the scaffold does not yet exist, run the first-conversation routing sequence above before the skill fires.
|
|
92
|
+
|
|
93
|
+
## Project & Task hygiene during execution
|
|
94
|
+
|
|
95
|
+
- Before starting any artefact's task, mark its Task `in_progress` via the `work` plugin (or the `projects` plugin's helpers). When the artefact is on disk and verified, mark it `completed`.
|
|
96
|
+
- If a section reveals a new artefact the operator wants (e.g. a competitor-claims-rebuttal in `08-market/`), `work-create` a new Task under the same Project, then proceed.
|
|
97
|
+
- The Project's health signal (green/amber/red) is computed from Task state. Use `project-get` at the start of each turn to surface what's outstanding.
|
|
98
|
+
|
|
99
|
+
## Tone
|
|
100
|
+
|
|
101
|
+
Founder-facing. Direct, evidence-based, no flattery. You are the chief of staff for a one-person founding team — your job is to keep every artefact tracked and every deadline visible, while the operator focuses on the parts only they can do (customer conversations, founder signal, vision).
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
|
|
105
|
+
The four skills shipped under this plugin carry their own SKILL.md detail:
|
|
106
|
+
|
|
107
|
+
- `skills/office-hours/SKILL.md` — YC office-hours forcing questions in startup + builder modes; outputs the design-doc substrate every later artefact derives from.
|
|
108
|
+
- `skills/brand-pack/SKILL.md` — brand identity (palette, typography, tone, logo) tokenised for the data-room artefacts to consume.
|
|
109
|
+
- `skills/zero-to-prototype/SKILL.md` — 31 frameworks for customer discovery, validation, positioning, PMF measurement, landing page, PRD.
|
|
110
|
+
- `skills/investor-data-room/SKILL.md` — full seed-raise pack: data room scaffold, business plan, term sheet, deck blueprint, prospectus, A4 print pipeline.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Venture-studio data-room scaffold — deterministic enforcement of the
|
|
3
|
+
# scaffold-first principle (Task 286 + feedback_doctrine_paragraph_is_not_a_gate).
|
|
4
|
+
#
|
|
5
|
+
# Creates exactly one Project (with eight pre-seeded artefact Tasks) in
|
|
6
|
+
# the graph, then materialises the ten-section data-room directory tree
|
|
7
|
+
# on disk. The venture-studio agent's downstream skills are gated on
|
|
8
|
+
# both signals existing — see venture-studio/PLUGIN.md.
|
|
9
|
+
#
|
|
10
|
+
# Order of operations: graph write first, directories second. The CLI's
|
|
11
|
+
# duplicate-name guard makes the script safely re-runnable after any
|
|
12
|
+
# partial failure: a second run finds the existing Project, returns its
|
|
13
|
+
# id, and retries the mkdir step.
|
|
14
|
+
#
|
|
15
|
+
# Usage:
|
|
16
|
+
# ACCOUNT_ID=<uuid> scaffold.sh <project-root> <business-name>
|
|
17
|
+
#
|
|
18
|
+
# Exit codes:
|
|
19
|
+
# 0 scaffold complete (or already existed)
|
|
20
|
+
# 2 bad arguments / missing ACCOUNT_ID
|
|
21
|
+
# 1 graph write failed, directory mkdir failed, or CLI binary missing
|
|
22
|
+
|
|
23
|
+
set -euo pipefail
|
|
24
|
+
|
|
25
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
26
|
+
# Deployed layout per packages/create-maxy-code/scripts/bundle.js:
|
|
27
|
+
# <install>/premium-plugins/venture-studio/bin/scaffold.sh
|
|
28
|
+
# <install>/platform/plugins/work/mcp/dist/cli/project-create-cli.js
|
|
29
|
+
CLI_BIN="${SCRIPT_DIR}/../../../platform/plugins/work/mcp/dist/cli/project-create-cli.js"
|
|
30
|
+
|
|
31
|
+
if [[ $# -ne 2 ]]; then
|
|
32
|
+
echo "scaffold.sh: usage: ACCOUNT_ID=<uuid> $0 <project-root> <business-name>" >&2
|
|
33
|
+
exit 2
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
PROJECT_ROOT="$1"
|
|
37
|
+
BUSINESS_NAME="$2"
|
|
38
|
+
|
|
39
|
+
if [[ -z "${ACCOUNT_ID:-}" ]]; then
|
|
40
|
+
echo "scaffold.sh: ACCOUNT_ID env var required" >&2
|
|
41
|
+
exit 2
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
if [[ ! -d "$PROJECT_ROOT" ]]; then
|
|
45
|
+
echo "scaffold.sh: project root does not exist: $PROJECT_ROOT" >&2
|
|
46
|
+
exit 2
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
if [[ ! -f "$CLI_BIN" ]]; then
|
|
50
|
+
echo "scaffold.sh: project-create CLI not built or missing at: $CLI_BIN" >&2
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
DATA_ROOM="${PROJECT_ROOT}/.docs/data-room"
|
|
55
|
+
|
|
56
|
+
# Eight pre-seeded artefact tasks — order and names match
|
|
57
|
+
# premium-plugins/venture-studio/PLUGIN.md § First-conversation routing.
|
|
58
|
+
# Section order is preserved so the agent can walk them sequentially.
|
|
59
|
+
PAYLOAD=$(cat <<JSON
|
|
60
|
+
{
|
|
61
|
+
"accountId": "${ACCOUNT_ID}",
|
|
62
|
+
"name": "${BUSINESS_NAME}",
|
|
63
|
+
"description": "Venture-studio data room for ${BUSINESS_NAME}. Root: ${DATA_ROOM}",
|
|
64
|
+
"tier": "full",
|
|
65
|
+
"workItems": [
|
|
66
|
+
{"name": "Stage 1 — Office-hours design doc", "description": "Produces 01-narrative/office-hours-design.md via the office-hours skill."},
|
|
67
|
+
{"name": "Brand pack", "description": "Produces brand identity (palette, typography, logo) into 06-product-ip/brand/ via the brand-pack skill."},
|
|
68
|
+
{"name": "Stage 2 — Wedge validation + landing page + PRD", "description": "Produces 01-narrative/{PMF,LANDING,PRD}.md via the zero-to-prototype skill."},
|
|
69
|
+
{"name": "Stage 3 — Business plan", "description": "Produces 01-narrative/business-plan.md via investor-data-room Stage 3."},
|
|
70
|
+
{"name": "Stage 3b — Term sheet", "description": "Produces html/prospectus/term_sheet.html via investor-data-room Stage 3b."},
|
|
71
|
+
{"name": "Stage 4 — Deck blueprint", "description": "Produces 01-narrative/deck-blueprint.md via investor-data-room Stage 4."},
|
|
72
|
+
{"name": "Stage 4b — Prospectus", "description": "Produces html/prospectus/index.html via investor-data-room Stage 4b."},
|
|
73
|
+
{"name": "Stage 5 — Rendered PDFs", "description": "Produces html/{business-plan,prospectus,deck}/*.pdf via investor-data-room Stage 5."}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
JSON
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# Graph write first. CLI returns {projectId, existing:bool} on stdout;
|
|
80
|
+
# on any failure it exits non-zero with a literal stderr message that
|
|
81
|
+
# propagates here verbatim — no prose-parsing for control flow
|
|
82
|
+
# (memory: feedback_no_stdout_parsing_for_control_flow).
|
|
83
|
+
RESULT=$(node "$CLI_BIN" "$PAYLOAD")
|
|
84
|
+
echo "scaffold.sh: project-create CLI returned: $RESULT"
|
|
85
|
+
|
|
86
|
+
# Directories second. The agent's pre-flight gate keys on the existence
|
|
87
|
+
# of 01-narrative/ (it AND-checks with project-list); creating it last
|
|
88
|
+
# means partial state (graph-only) is naturally invisible to the gate
|
|
89
|
+
# until mkdir succeeds.
|
|
90
|
+
for section in \
|
|
91
|
+
01-narrative \
|
|
92
|
+
02-corporate-legal \
|
|
93
|
+
03-cap-table \
|
|
94
|
+
04-financials \
|
|
95
|
+
05-team \
|
|
96
|
+
06-product-ip \
|
|
97
|
+
07-customers \
|
|
98
|
+
08-market \
|
|
99
|
+
09-traction-metrics \
|
|
100
|
+
10-supporting; do
|
|
101
|
+
mkdir -p "${DATA_ROOM}/${section}"
|
|
102
|
+
done
|
|
103
|
+
|
|
104
|
+
echo "scaffold.sh: data-room scaffolded at ${DATA_ROOM}"
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brand-pack
|
|
3
|
+
description: Generate a complete, best-practice brand identity package from scratch. Use this skill whenever a user wants to create brand guidelines, a brand pack, brand identity, style guide, brand kit, tone of voice document, or any combination of branding assets for a new or existing business. Also trigger when a user mentions needing a logo guide, color palette, typography system, or messaging framework — even if they don't use the word "brand". This skill produces a comprehensive, professional-grade output structured around industry best practices.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brand Pack Generator
|
|
7
|
+
|
|
8
|
+
Generates a complete brand identity package following industry best practice structure (based on Superside, Pentagram, and leading agency standards).
|
|
9
|
+
|
|
10
|
+
## What This Skill Produces
|
|
11
|
+
|
|
12
|
+
A full brand pack as a set of output files:
|
|
13
|
+
|
|
14
|
+
1. `brand-guidelines.md` — Master brand guidelines document
|
|
15
|
+
2. `brand-summary.md` — One-page brand summary (shareable with contractors/designers)
|
|
16
|
+
3. `color-palette.md` — Full color system with hex, RGB, CMYK values
|
|
17
|
+
4. `typography-system.md` — Font stack, hierarchy, and usage rules
|
|
18
|
+
5. `tone-of-voice.md` — Voice, tone, messaging framework, and copy examples
|
|
19
|
+
6. `logo-guidelines.md` — Logo usage rules, clear space, variations, misuse guide
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Step 1: Intake
|
|
24
|
+
|
|
25
|
+
Before generating anything, gather the following. Ask all questions in a single message — do not drip-feed them one at a time.
|
|
26
|
+
|
|
27
|
+
**Required inputs:**
|
|
28
|
+
- Company/brand name
|
|
29
|
+
- One-sentence description of what they do
|
|
30
|
+
- Target audience (who are their customers?)
|
|
31
|
+
- Industry/sector
|
|
32
|
+
- 3-5 words that describe the brand personality (e.g. bold, trustworthy, playful)
|
|
33
|
+
- Primary competitors (2-3 names if known)
|
|
34
|
+
- Existing colors or logo? (yes/no — if yes, ask them to describe or share)
|
|
35
|
+
- Preferred font style? (modern/clean, classic/serif, bold/impactful, or no preference)
|
|
36
|
+
- Any colors to avoid?
|
|
37
|
+
|
|
38
|
+
**Optional but useful:**
|
|
39
|
+
- Website URL (fetch it if provided — extract existing colors, fonts, tone)
|
|
40
|
+
- Inspiration brands (brands they admire aesthetically)
|
|
41
|
+
|
|
42
|
+
If the user provides a URL, use the fetch tool to read it and extract: dominant colors (check CSS or visual description), font choices, tone of copy, and any existing brand signals. Pre-fill your recommendations based on this research.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 2: Generate Color Palette
|
|
47
|
+
|
|
48
|
+
Create a palette of 5-7 colors with rationale for each choice:
|
|
49
|
+
|
|
50
|
+
**Structure:**
|
|
51
|
+
- 1 Primary brand color (dominant, used most)
|
|
52
|
+
- 1-2 Secondary colors (complement primary, used for accents/CTAs)
|
|
53
|
+
- 1 Dark neutral (for body text, usually near-black)
|
|
54
|
+
- 1 Light neutral (for backgrounds)
|
|
55
|
+
- 1 Alert/accent color (optional, for highlights or warnings)
|
|
56
|
+
|
|
57
|
+
**For each color provide:**
|
|
58
|
+
- Name (e.g. "Midnight Navy")
|
|
59
|
+
- Hex code
|
|
60
|
+
- RGB values
|
|
61
|
+
- CMYK values (for print)
|
|
62
|
+
- Usage guidance (when/where to use it)
|
|
63
|
+
- Accessibility note (contrast ratio against white/black — flag if WCAG AA fails)
|
|
64
|
+
|
|
65
|
+
**Color psychology guidance by industry** (read `references/color-psychology.md` for full detail):
|
|
66
|
+
- Fintech/finance: blues, deep greens, charcoal — trustworthy, stable
|
|
67
|
+
- Health/wellness: greens, soft blues, warm whites — calm, clean
|
|
68
|
+
- Tech/SaaS: bold blues, purples, sharp accents — innovative, confident
|
|
69
|
+
- Creative/agency: varied, can be bolder — distinctive, expressive
|
|
70
|
+
- Consumer/retail: depends on positioning — warm for approachable, cool for premium
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Step 3: Typography System
|
|
75
|
+
|
|
76
|
+
Select a font stack with clear hierarchy:
|
|
77
|
+
|
|
78
|
+
**Levels:**
|
|
79
|
+
- Display/H1: Large headline font (personality, impact)
|
|
80
|
+
- H2/H3: Section heading font (can be same family, different weight)
|
|
81
|
+
- Body: Readable body font (readability is paramount)
|
|
82
|
+
- UI/Caption: Small text, labels, captions
|
|
83
|
+
- Accent: Optional — a contrasting typeface for pull quotes or callouts
|
|
84
|
+
|
|
85
|
+
Read `references/typography-reference.md` for proven pairings, size scales, and font personality guidance before making recommendations.
|
|
86
|
+
|
|
87
|
+
**Rules to follow:**
|
|
88
|
+
- Recommend Google Fonts or Adobe Fonts (free/accessible)
|
|
89
|
+
- Limit to 2 typeface families maximum
|
|
90
|
+
- Provide pixel/pt sizes for each level (desktop and mobile)
|
|
91
|
+
- Include line-height and letter-spacing recommendations
|
|
92
|
+
- Note: serif for authority/tradition, sans-serif for modern/clean, mono for tech
|
|
93
|
+
|
|
94
|
+
**Output format per font:**
|
|
95
|
+
- Font name + weight
|
|
96
|
+
- Use case
|
|
97
|
+
- Size scale (H1 → caption)
|
|
98
|
+
- Pairing rationale
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Step 4: Logo Guidelines
|
|
103
|
+
|
|
104
|
+
Since this is a text-based brand pack (no actual logo file), produce a **Logo Usage Guide** that specifies:
|
|
105
|
+
|
|
106
|
+
- Primary logo description and intended construction
|
|
107
|
+
- Logo variants: horizontal, stacked, icon-only, wordmark-only
|
|
108
|
+
- Clear space rule: minimum padding = height of the logo's capital letter on each side
|
|
109
|
+
- Minimum size: 24px digital / 0.75 inch print
|
|
110
|
+
- Approved color versions: full color, reversed (white on dark), single color black, single color white
|
|
111
|
+
- Background rules: which backgrounds are approved
|
|
112
|
+
- Misuse examples (describe, don't show): don't stretch, don't recolor outside palette, don't add drop shadows, don't place on busy backgrounds without clear space
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Step 5: Tone of Voice
|
|
117
|
+
|
|
118
|
+
Structure this as a practical, usable guide — not abstract principles.
|
|
119
|
+
|
|
120
|
+
**Sections:**
|
|
121
|
+
|
|
122
|
+
### Brand Personality
|
|
123
|
+
3-5 core personality traits, each with:
|
|
124
|
+
- The trait
|
|
125
|
+
- What it means in practice
|
|
126
|
+
- What it is NOT (to prevent misinterpretation)
|
|
127
|
+
|
|
128
|
+
### Voice (stable) vs Tone (variable)
|
|
129
|
+
- Voice = how you always sound (consistent)
|
|
130
|
+
- Tone = how you adapt for context (varies)
|
|
131
|
+
|
|
132
|
+
### Tone by scenario
|
|
133
|
+
Provide guidance for at least 4 scenarios:
|
|
134
|
+
- Website homepage / hero copy
|
|
135
|
+
- Social media
|
|
136
|
+
- Customer support / error messages
|
|
137
|
+
- Sales / outreach emails
|
|
138
|
+
- (Add industry-specific ones as relevant)
|
|
139
|
+
|
|
140
|
+
### Writing rules
|
|
141
|
+
- Sentence length preference (short/punchy vs longer/considered)
|
|
142
|
+
- Active vs passive voice
|
|
143
|
+
- Use of jargon (avoid/embrace/explain)
|
|
144
|
+
- Contractions? (formal vs informal)
|
|
145
|
+
- Emoji? (never/occasionally/freely)
|
|
146
|
+
- Oxford comma? (yes/no)
|
|
147
|
+
|
|
148
|
+
### Copy examples
|
|
149
|
+
For each tone scenario, provide 2 examples:
|
|
150
|
+
- One that embodies the brand voice correctly
|
|
151
|
+
- One that violates it (marked clearly as wrong)
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Step 6: Brand Guidelines Master Document
|
|
156
|
+
|
|
157
|
+
Compile everything into `brand-guidelines.md` with this structure:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
# [Brand Name] Brand Guidelines
|
|
161
|
+
|
|
162
|
+
## 1. Brand Foundation
|
|
163
|
+
- Mission
|
|
164
|
+
- Vision
|
|
165
|
+
- Values (3-5)
|
|
166
|
+
- Brand promise (one sentence)
|
|
167
|
+
- Positioning statement
|
|
168
|
+
|
|
169
|
+
## 2. Logo & Visual Identity
|
|
170
|
+
- [Link/reference to logo-guidelines.md]
|
|
171
|
+
- Summary of key rules
|
|
172
|
+
|
|
173
|
+
## 3. Color Palette
|
|
174
|
+
- [Link/reference to color-palette.md]
|
|
175
|
+
- Primary usage rules
|
|
176
|
+
|
|
177
|
+
## 4. Typography
|
|
178
|
+
- [Link/reference to typography-system.md]
|
|
179
|
+
- Key hierarchy summary
|
|
180
|
+
|
|
181
|
+
## 5. Tone of Voice
|
|
182
|
+
- [Link/reference to tone-of-voice.md]
|
|
183
|
+
- Core voice traits (3 bullet points)
|
|
184
|
+
|
|
185
|
+
## 6. Photography & Imagery Style
|
|
186
|
+
- Subject matter guidance
|
|
187
|
+
- Treatment/filters (clean/editorial/warm/cool)
|
|
188
|
+
- Things to avoid
|
|
189
|
+
|
|
190
|
+
## 7. Graphic Elements
|
|
191
|
+
- Any patterns, textures, or shapes that extend the brand
|
|
192
|
+
- Icon style (outlined/filled/rounded/sharp)
|
|
193
|
+
- Illustration style if applicable
|
|
194
|
+
|
|
195
|
+
## 8. Brand in Use
|
|
196
|
+
- Website application notes
|
|
197
|
+
- Social media application notes
|
|
198
|
+
- Document/presentation notes
|
|
199
|
+
- Business card guidance
|
|
200
|
+
|
|
201
|
+
## 9. What Not To Do
|
|
202
|
+
- 5-8 specific, concrete misuse examples
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Step 7: Brand Summary (One-Pager)
|
|
208
|
+
|
|
209
|
+
Create `brand-summary.md` — a concise reference card for designers, contractors, and team members:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
# [Brand Name] — Brand Quick Reference
|
|
213
|
+
|
|
214
|
+
**What we do:** [one sentence]
|
|
215
|
+
**Who we serve:** [audience]
|
|
216
|
+
**Our personality:** [3 words]
|
|
217
|
+
|
|
218
|
+
## Colors
|
|
219
|
+
| Name | Hex | Use |
|
|
220
|
+
|------|-----|-----|
|
|
221
|
+
| ... | ... | ... |
|
|
222
|
+
|
|
223
|
+
## Fonts
|
|
224
|
+
- Headlines: [Font, weight, size]
|
|
225
|
+
- Body: [Font, weight, size]
|
|
226
|
+
|
|
227
|
+
## Voice
|
|
228
|
+
[3 bullet points]
|
|
229
|
+
|
|
230
|
+
## Key rules
|
|
231
|
+
- Always: ...
|
|
232
|
+
- Never: ...
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Output Instructions
|
|
238
|
+
|
|
239
|
+
- Create all files in `/mnt/user-data/outputs/brand-pack/[brand-name]/`
|
|
240
|
+
- Use clean markdown formatting throughout
|
|
241
|
+
- Be specific — avoid vague guidance like "use professionally". Give concrete rules.
|
|
242
|
+
- Where you make creative choices, briefly note the rationale
|
|
243
|
+
- After creating all files, present them to the user with a brief summary of the key creative decisions made
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Quality Checklist
|
|
248
|
+
|
|
249
|
+
Before finishing, verify:
|
|
250
|
+
- [ ] Color palette has hex + RGB + CMYK for every color
|
|
251
|
+
- [ ] Accessibility: at least primary text color passes WCAG AA on white background
|
|
252
|
+
- [ ] Typography has sizes for all heading levels
|
|
253
|
+
- [ ] Tone of voice has at least 4 scenario examples
|
|
254
|
+
- [ ] Logo guidelines includes misuse section
|
|
255
|
+
- [ ] Brand summary fits on one page
|
|
256
|
+
- [ ] All files are consistent with each other (same colors, same voice)
|