@rubytech/create-maxy-code 0.1.98 → 0.1.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/founder-pack/skills/investor-data-room/SKILL.md +42 -4
  3. package/payload/platform/plugins/founder-pack/skills/investor-data-room/references/termsheet-template.md +66 -0
  4. package/payload/premium-plugins/founder-pack/skills/investor-data-room/SKILL.md +42 -4
  5. package/payload/premium-plugins/founder-pack/skills/investor-data-room/references/termsheet-template.md +66 -0
  6. package/payload/server/public/assets/{ChatInput-CzQhPt90.css → ChatInput-u7hSrC3q.css} +1 -1
  7. package/payload/server/public/assets/{Checkbox-ynZtDWi3.js → Checkbox-CfiWjuMH.js} +1 -1
  8. package/payload/server/public/assets/{admin-WyIfDMQG.js → admin-D6VRETeg.js} +1 -1
  9. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Ko_izKmY.js → architectureDiagram-Q4EWVU46-CSAyzBIK.js} +1 -1
  10. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-D58VDC0w.js → blockDiagram-DXYQGD6D-l_AoJo_I.js} +1 -1
  11. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-C-eRXyKi.js → c4Diagram-AHTNJAMY-Dsjc59iO.js} +1 -1
  12. package/payload/server/public/assets/channel-BlwH4wTf.js +1 -0
  13. package/payload/server/public/assets/{chunk-336JU56O-DZLEfLAb.js → chunk-336JU56O-BgAz-EJ4.js} +2 -2
  14. package/payload/server/public/assets/{chunk-426QAEUC-BriTU3L8.js → chunk-426QAEUC-DHF9zZlS.js} +1 -1
  15. package/payload/server/public/assets/{chunk-4TB4RGXK-BdxRL-AY.js → chunk-4TB4RGXK-Cqb1TREv.js} +1 -1
  16. package/payload/server/public/assets/{chunk-5FUZZQ4R-BgEmy7Y3.js → chunk-5FUZZQ4R-CV4WMN8u.js} +1 -1
  17. package/payload/server/public/assets/{chunk-5PVQY5BW-emnbDRLA.js → chunk-5PVQY5BW-CL0bAr0t.js} +1 -1
  18. package/payload/server/public/assets/{chunk-EDXVE4YY-BvCf2Xf2.js → chunk-EDXVE4YY-WY3Sg1Fq.js} +1 -1
  19. package/payload/server/public/assets/{chunk-ENJZ2VHE-DTpEYJRb.js → chunk-ENJZ2VHE-BIVdDrD2.js} +1 -1
  20. package/payload/server/public/assets/{chunk-ICPOFSXX-Ced2j48Y.js → chunk-ICPOFSXX-CUHDQxso.js} +1 -1
  21. package/payload/server/public/assets/{chunk-OYMX7WX6-B21_a3Dv.js → chunk-OYMX7WX6-D1sj6R4f.js} +1 -1
  22. package/payload/server/public/assets/{chunk-U2HBQHQK-CPS3yyXK.js → chunk-U2HBQHQK-BGso49fW.js} +1 -1
  23. package/payload/server/public/assets/{chunk-X2U36JSP-BJ_B5NW7.js → chunk-X2U36JSP-C2tUGTcL.js} +1 -1
  24. package/payload/server/public/assets/{chunk-YZCP3GAM-CMLy-WXm.js → chunk-YZCP3GAM-CLvYLDvo.js} +1 -1
  25. package/payload/server/public/assets/{chunk-ZZ45TVLE-BkLnzCHe.js → chunk-ZZ45TVLE-yHQe8STh.js} +1 -1
  26. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DuEhfP67.js +1 -0
  27. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-zSqemF--.js +1 -0
  28. package/payload/server/public/assets/clone-DUSqJbTD.js +1 -0
  29. package/payload/server/public/assets/{dagre-KV5264BT-RY0E5UAn.js → dagre-KV5264BT-Df1MO_DJ.js} +1 -1
  30. package/payload/server/public/assets/{dagre-Dd_gq4yj.js → dagre-fQyUaxmN.js} +1 -1
  31. package/payload/server/public/assets/data-BFHNkj3Y.js +1 -0
  32. package/payload/server/public/assets/{diagram-5BDNPKRD-DR7XiPLh.js → diagram-5BDNPKRD-E3qTf9lX.js} +1 -1
  33. package/payload/server/public/assets/{diagram-G4DWMVQ6-2EbOfKFs.js → diagram-G4DWMVQ6-DCV-gR0I.js} +1 -1
  34. package/payload/server/public/assets/{diagram-MMDJMWI5-CGcY0Ze7.js → diagram-MMDJMWI5-CZKwrxSp.js} +1 -1
  35. package/payload/server/public/assets/{diagram-TYMM5635-Dk6MmAso.js → diagram-TYMM5635-ClXOl5De.js} +1 -1
  36. package/payload/server/public/assets/{erDiagram-SMLLAGMA-CKvdlUqk.js → erDiagram-SMLLAGMA-v2-MNn-e.js} +1 -1
  37. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BqKhvCDz.js → flowDiagram-DWJPFMVM-CDFzDH-2.js} +1 -1
  38. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CeiE-IRb.js → ganttDiagram-T4ZO3ILL-DEA-33qn.js} +1 -1
  39. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BbPKn7v2.js → gitGraphDiagram-UUTBAWPF-lLy_eZzu.js} +1 -1
  40. package/payload/server/public/assets/graph-Df2aJN0a.js +1 -0
  41. package/payload/server/public/assets/{graph-labels-BzMN9eev.js → graph-labels-CCTdQ2Vi.js} +1 -1
  42. package/payload/server/public/assets/{graphlib-tG6kR59B.js → graphlib-B6Y7yD4A.js} +1 -1
  43. package/payload/server/public/assets/{infoDiagram-42DDH7IO-6MiRGCI1.js → infoDiagram-42DDH7IO-D-Pm-tYB.js} +1 -1
  44. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BwY4p5mg.js → ishikawaDiagram-UXIWVN3A-DVHkDPv1.js} +1 -1
  45. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BXAQ_fUi.js → journeyDiagram-VCZTEJTY-CsxM47ah.js} +1 -1
  46. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-ChiiO7Yt.js → kanban-definition-6JOO6SKY-C7EYwNjH.js} +1 -1
  47. package/payload/server/public/assets/{lib-DbPz9cfu.js → lib-iH6Mg9EP.js} +1 -1
  48. package/payload/server/public/assets/{line-B5g5OrOD.js → line-CvBly01q.js} +1 -1
  49. package/payload/server/public/assets/{mermaid-parser.core-BMGzMKJx.js → mermaid-parser.core-D32akjeh.js} +1 -1
  50. package/payload/server/public/assets/{mermaid.core-DLMgkjXn.js → mermaid.core-B3O4X8ja.js} +3 -3
  51. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-BvyzRLAi.js → mindmap-definition-QFDTVHPH-yreoqnSK.js} +1 -1
  52. package/payload/server/public/assets/{page-D93GZ3YQ.js → page-BVuuY21i.js} +1 -1
  53. package/payload/server/public/assets/{page--nZ_z-z7.js → page-Dc2CtJkh.js} +1 -1
  54. package/payload/server/public/assets/{pieDiagram-DEJITSTG--EV9pVfs.js → pieDiagram-DEJITSTG-DEYXlFD5.js} +1 -1
  55. package/payload/server/public/assets/{public-sYW0Dwku.js → public-DknvBIqv.js} +3 -3
  56. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DJcL08ft.js → quadrantDiagram-34T5L4WZ-CVTVYl5c.js} +1 -1
  57. package/payload/server/public/assets/{requirementDiagram-MS252O5E-D4VdmmSu.js → requirementDiagram-MS252O5E-D438ZRqW.js} +1 -1
  58. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-Dsw3nHRS.js → sankeyDiagram-XADWPNL6-B2Hs1q9K.js} +1 -1
  59. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-CAgemUx5.js → sequenceDiagram-FGHM5R23-BqRHtAoK.js} +1 -1
  60. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-B7dyL9_X.js → stateDiagram-FHFEXIEX-ILOj6_TV.js} +1 -1
  61. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B2cQBKI1.js +1 -0
  62. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-B7iKswhp.js → timeline-definition-GMOUNBTQ-D-uskEEs.js} +1 -1
  63. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-uFS0i1qX.js → vennDiagram-DHZGUBPP-DJjaoR79.js} +1 -1
  64. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-lDUh4LAD.js → wardleyDiagram-NUSXRM2D-B1EO_5jp.js} +1 -1
  65. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-0v7MEVwW.js → xychartDiagram-5P7HB3ND-CQnz0KUb.js} +1 -1
  66. package/payload/server/public/data.html +5 -5
  67. package/payload/server/public/graph.html +6 -6
  68. package/payload/server/public/index.html +8 -8
  69. package/payload/server/public/public.html +5 -5
  70. package/payload/server/public/assets/channel-CejaITMF.js +0 -1
  71. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BmoqALf4.js +0 -1
  72. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-vMajwCNi.js +0 -1
  73. package/payload/server/public/assets/clone-mvVfHkyg.js +0 -1
  74. package/payload/server/public/assets/data-D2aPJB7w.js +0 -1
  75. package/payload/server/public/assets/graph-B5UWg8zV.js +0 -1
  76. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CImN6Wk6.js +0 -1
  77. /package/payload/server/public/assets/{ChatInput-Cj9JQtYt.js → ChatInput-BmmxQOhM.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.98",
3
+ "version": "0.1.99",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -60,13 +60,18 @@ Complete when the data room contains:
60
60
  business-plan.pdf # rendered output
61
61
  logo-light.png logo-dark.png
62
62
  prospectus/
63
- index.html
63
+ index.html # A4 portrait, 10-15 page persuasive cut
64
+ term_sheet.html # A4 portrait, 6-8 page formal term sheet
64
65
  render-pdf.mjs
65
- prospectus.pdf
66
- deck/ # NOT YET BUILT in the reference project
67
- index.html
66
+ prospectus.pdf term_sheet.pdf
67
+ logo-light.png logo-dark.png
68
+ deck/
69
+ index.html # 16:9 landscape (297mm x 167mm), 12+1 slides
68
70
  render-pdf.mjs
69
71
  deck.pdf
72
+ logo-light.png logo-dark.png
73
+ team/ # cropped headshot WebPs for slide 8 founder grid
74
+ <founder-firstname>-<lastname>.webp
70
75
  ```
71
76
 
72
77
  Skip stages that are already complete; do not regenerate stale artefacts blindly.
@@ -137,6 +142,30 @@ Compliance research is mandatory before drafting Section 10. WebSearch (or equiv
137
142
 
138
143
  References: `references/business-plan-template.md` for the section-by-section template; `references/compliance-research-checklist.md` for the UK + EU regulatory regimes to verify.
139
144
 
145
+ ## Stage 3b — Term sheet synthesis
146
+
147
+ Generate `html/prospectus/term_sheet.html` as an **A4 portrait, 6-to-8-page formal term sheet** sectioned as:
148
+
149
+ 1. Cover + preamble + parties (Issuer / Founders / Investors / round size / minimum cheque / target close)
150
+ 2. Share economics & use of proceeds (instrument, valuation, dilution, issue price, share count, use of funds)
151
+ 3. Cap table on closing (post-money, fully diluted, total = 100%)
152
+ 4. Governance & shareholder protections (board, info rights, pre-emption, drag/tag, SEIS/EIS posture)
153
+ 5. Closing terms (governing law, IP assignment, conditions to closing, long-form docs timeline)
154
+ 6. Signatures (Company + Investor blocks)
155
+ 7. Investor self-certification (UK self-cert criteria, declarations)
156
+ 8. Backpage (contact)
157
+
158
+ **Doctrine for the term sheet:**
159
+
160
+ - **Entity name is the IN01-filed name**, not a marketing entity. Issuer must read as the actual filed company (e.g. "Real Agent Network Limited" not "Real Agent Systems Ltd").
161
+ - **Cap table matches the IN01 + Round 1 dilution model exactly.** Pre-investment shares + new investor Round Shares = post-investment total. No fractional shares; no rounding to the % column that breaks share totals.
162
+ - **Founder list reads exactly as the cap table.** No phantom founders. Strategic shareholders (e.g. an investing LLP) ride in the cap table by entity name, not via their individuals.
163
+ - **Sole director on IN01 is the director-designate.** A term sheet that names two directors when IN01 names one is a defect.
164
+ - **SEIS/EIS posture is post-funding obligation, not closing contingency.** Never assured prior to distribution; no representation as to qualifying status. Forms no part of consideration.
165
+ - **Confidentiality and exclusivity provisions are the only binding clauses.** Everything else non-binding until long-form docs.
166
+
167
+ References: `references/termsheet-template.md`.
168
+
140
169
  ## Stage 4 — Deck blueprint synthesis
141
170
 
142
171
  Generate `01-narrative/deck-blueprint.md` as a **12-slide brief** the deck designer can execute. Each slide has Purpose, Headline (one-line message), Body (bullets + figures pulled from the business plan), Visual suggestion, and Source reference. The 12 slides:
@@ -194,6 +223,14 @@ References: `references/html-pdf-pipeline.md` for the canonical `render-pdf.mjs`
194
223
  - **Even page count for booklet binding.** Multiple of 4 ideally; minimum even. Add or remove a supporting page to maintain parity if a section change breaks it.
195
224
  - **Verify by reading every rendered page.** `pdfinfo` page count is not verification. The bottom 30% of every page must reach the content margin without significant whitespace.
196
225
 
226
+ ## Slide-design patterns (collected from the deck build)
227
+
228
+ - **Cap-table over labelled pie chart.** A labelled donut with seven slices puts the percentages on the chart but adds visual clutter at small slice counts. A clean post-investment cap table (Shareholder / Shares / % with a gold-rule Total row) reads faster on the slide and matches the term-sheet treatment. Default to the table; reserve the pie for slides with three to four large slices.
229
+ - **Circular founder avatars on the team slide.** Square photos at full card width over-allocate vertical real-estate and crowd the bio + advisor band. Fixed-diameter circular avatars (e.g. 42mm × 42mm, `border-radius: 50%`, centred `margin: 0 auto`) leave room for the eyebrow + name + 3-line bio + advisor band on a 16:9 slide.
230
+ - **Headshot crops are face-centred, not full-environment.** Crop each source PNG/JPG to a tight head + shoulders square at 1200×1200 (`magick <src> -crop WxH+X+Y +repage -resize 1200x1200 -strip <crop>.png`), then encode with `cwebp -q 88 -m 6 -mt`. Resize-then-encode never loses face fidelity at the 42mm display size. Track per-founder face position from the source dimensions and centre the crop window on it.
231
+ - **Bio line budget on slide 8 is ~3 lines at 8.5pt.** A 4th line crashes into the advisor band's `border-top`. Trim aggressively: lead with the headline number ("33 years residential estate agency"), then 2-3 firms and 1-2 awards.
232
+ - **Linter strips trailing text in long edits.** When editing a multi-line founder bio (or any cell where you append clauses past a verbatim sentence), the auto-formatter has rewritten the trailing fragment on this project. Always re-grep the file after the edit; if "Sole IN01 director." or "2× Capper" went missing, the edit needs a second pass with a smaller anchor.
233
+
197
234
  ## Pitfalls to avoid (collected from the reference project)
198
235
 
199
236
  - **Renaming a directory after the URL is published.** Keep `<project-site>/.docs/data-room/html/<artefact>/index.html` stable; if the URL changes, downstream investor links break.
@@ -212,6 +249,7 @@ References: `references/html-pdf-pipeline.md` for the canonical `render-pdf.mjs`
212
249
  - `references/compliance-research-checklist.md` — UK + EU regulatory regimes to verify
213
250
  - `references/internal-workings-scrub.md` — the public-vs-internal doctrine, patterns to scrub, recurrence list
214
251
  - `references/design-tokens-application.md` — how to consume `realagent-site/.docs/design-tokens.md` from an artefact's `:root` block
252
+ - `references/termsheet-template.md` — A4-portrait term-sheet structure, cap-table reconciliation, common defects
215
253
 
216
254
  ## Reference project
217
255
 
@@ -0,0 +1,66 @@
1
+ # Term sheet template
2
+
3
+ A4-portrait, 6-to-8-page formal term sheet, same render pipeline as the business plan (Playwright + img2pdf + qpdf). Lives at `html/prospectus/term_sheet.html`. The reference project produces a 7-page artefact: cover + 5 content pages + signatures.
4
+
5
+ ## Page-by-page structure
6
+
7
+ | # | Page | Contents |
8
+ |---|---|---|
9
+ | 1 | Cover + preamble | Issuer (full Companies-House-filed legal name), document title, "Non-binding — confidentiality and exclusivity bind", preamble (round purpose, recipient self-cert reminder), introductory parties table (Issuer, Founders list, Investors, round size, minimum cheque, minimum aggregate, target first close) |
10
+ | 2 | Share economics &amp; use of proceeds | Instrument (ordinary £0.001 or £0.01 nominal, ranking *pari passu*), pre-money / post-money / dilution, issue price (computed from pre-money ÷ pre-investment shares), Round Share count, use of proceeds split, long-stop date, funds-expected timing |
11
+ | 3 | Cap table on closing | Holder / Role / Shares / % table; founders subtotal; Round Shares row; total = 100% / 625,000 |
12
+ | 4 | Governance &amp; shareholder protections | Board composition (director-designate per IN01), information rights (≥5% threshold), pre-emption, drag-along / tag-along, share-transfer good-leaver / bad-leaver, SEIS/EIS posture, confidentiality (binding), exclusivity (binding) |
13
+ | 5 | Closing terms | Governing law (English), expenses (each party bears own), founder IP assignment (deed at first close, no licence-back, no royalty), conditions to closing, long-form documentation timeline |
14
+ | 6 | Signatures | Company block (director-designate per IN01) + Investor block (name / entity / commitment / signature line) |
15
+ | 7 | Investor self-certification (optional) | UK self-cert criteria check-list with signature block |
16
+ | 8 | Backpage | Contact card + confidentiality reminder + companies-house identifier |
17
+
18
+ ## Cap table reconciliation
19
+
20
+ The cap table on closing **must reconcile against the IN01 + the Round 1 dilution model exactly**. The pattern from the reference project:
21
+
22
+ | Step | Source |
23
+ |---|---|
24
+ | Pre-investment shares (e.g. 500,000) | IN01 statement of capital |
25
+ | Per-founder pre-investment % | IN01 cap table |
26
+ | Dilution % | (Round size / post-money) = 350 / 1,750 = 20% in the reference project |
27
+ | Post-investment % per founder | Pre-investment % × (1 − dilution%) |
28
+ | Post-investment shares per founder | Pre-investment shares × (1 − dilution%) — note this only works if all founders dilute pro rata |
29
+ | Round Shares | New investor's post-investment % × total post-investment shares |
30
+ | Total post-closing shares | Pre-investment shares ÷ (1 − dilution%) |
31
+
32
+ Reference project numbers (pre 500k, dilution 20%):
33
+ - Joel 24.90% / 124,500 → 19.92% / 124,500 (no change in shares; dilution is via issuance of new shares)
34
+ - Adam 24.90% / 124,500 → 19.92% / 124,500
35
+ - Alex 20.00% / 100,000 → 16.00% / 100,000
36
+ - Jamie 15.16% / 75,813 → 12.13% / 75,813
37
+ - BackleyBlack 8.75% / 43,749 → 7.00% / 43,749
38
+ - Stewart Smalley 6.29% / 31,438 → 5.03% / 31,438
39
+ - Founders subtotal 500,000 / 80.00%
40
+ - New investors (Round 1) 125,000 / 20.00%
41
+ - Total post-closing 625,000 / 100.00%
42
+
43
+ Issue price = pre-money / pre-investment shares = £1,400,000 / 500,000 = **£2.80 per Round Share** (£0.001 nominal + £2.799 share premium in the reference project where nominal was £0.001; or £0.01 nominal + £2.79 premium if the term sheet sets nominal at £0.01).
44
+
45
+ ## Doctrine
46
+
47
+ - **Issuer name is the IN01-filed legal entity.** Stale term sheets that reference a marketing entity (e.g. "Real Agent Systems Ltd" instead of the filed "Real Agent Network Limited") are defects. The Companies House number on every page header should match.
48
+ - **Founder list reads exactly as the cap table.** Six holders on the cap table = six in the founder list. No phantom founders. Strategic shareholders (e.g. an investing LLP) ride in by entity name, not by their constituent individuals.
49
+ - **Sole director on IN01 is the director-designate on the term sheet's signature page.** A term sheet that names two directors when IN01 named one needs reconciling before issue.
50
+ - **SEIS/EIS posture is post-funding obligation, never closing contingency.** Never assured prior to distribution; no representation as to qualifying status. Forms no part of consideration.
51
+ - **Confidentiality + exclusivity bind; everything else is non-binding** until subscription &amp; shareholders' agreement.
52
+
53
+ ## Render
54
+
55
+ Same `render-pdf.mjs` pattern as the business plan; viewport 794×1123 (A4 portrait at 96 dpi), deviceScaleFactor 3.125 (300 dpi PNG), `img2pdf --pagesize 210mmx297mm`, `qpdf --linearize`. Output: `html/prospectus/term_sheet.pdf`.
56
+
57
+ ## Common defects to avoid
58
+
59
+ | Defect | Fix |
60
+ |---|---|
61
+ | Issuer name mismatch (marketing vs filed) | Use the IN01 legal name verbatim on every page header |
62
+ | Founder list includes individuals also represented by an LLP holding | Use the LLP holding only; do not double-count |
63
+ | Issue price stated without showing the calculation | `£2.80 = £1.4m ÷ 500,000 pre-shares` in the issue-price row |
64
+ | Cap-table % rounding doesn't sum to 100% | Compute % as `shares / total` and verify the sum; never hand-enter % rows |
65
+ | SEIS/EIS implied as confirmed | "Pursuing SEIS/EIS Advance Assurance from HMRC is a post-funding obligation … not a closing contingency … no representation as to qualifying status" |
66
+ | Director-designate doesn't match IN01 | Read the IN01 PDF; the proposed director on IN01 is the director-designate |
@@ -60,13 +60,18 @@ Complete when the data room contains:
60
60
  business-plan.pdf # rendered output
61
61
  logo-light.png logo-dark.png
62
62
  prospectus/
63
- index.html
63
+ index.html # A4 portrait, 10-15 page persuasive cut
64
+ term_sheet.html # A4 portrait, 6-8 page formal term sheet
64
65
  render-pdf.mjs
65
- prospectus.pdf
66
- deck/ # NOT YET BUILT in the reference project
67
- index.html
66
+ prospectus.pdf term_sheet.pdf
67
+ logo-light.png logo-dark.png
68
+ deck/
69
+ index.html # 16:9 landscape (297mm x 167mm), 12+1 slides
68
70
  render-pdf.mjs
69
71
  deck.pdf
72
+ logo-light.png logo-dark.png
73
+ team/ # cropped headshot WebPs for slide 8 founder grid
74
+ <founder-firstname>-<lastname>.webp
70
75
  ```
71
76
 
72
77
  Skip stages that are already complete; do not regenerate stale artefacts blindly.
@@ -137,6 +142,30 @@ Compliance research is mandatory before drafting Section 10. WebSearch (or equiv
137
142
 
138
143
  References: `references/business-plan-template.md` for the section-by-section template; `references/compliance-research-checklist.md` for the UK + EU regulatory regimes to verify.
139
144
 
145
+ ## Stage 3b — Term sheet synthesis
146
+
147
+ Generate `html/prospectus/term_sheet.html` as an **A4 portrait, 6-to-8-page formal term sheet** sectioned as:
148
+
149
+ 1. Cover + preamble + parties (Issuer / Founders / Investors / round size / minimum cheque / target close)
150
+ 2. Share economics & use of proceeds (instrument, valuation, dilution, issue price, share count, use of funds)
151
+ 3. Cap table on closing (post-money, fully diluted, total = 100%)
152
+ 4. Governance & shareholder protections (board, info rights, pre-emption, drag/tag, SEIS/EIS posture)
153
+ 5. Closing terms (governing law, IP assignment, conditions to closing, long-form docs timeline)
154
+ 6. Signatures (Company + Investor blocks)
155
+ 7. Investor self-certification (UK self-cert criteria, declarations)
156
+ 8. Backpage (contact)
157
+
158
+ **Doctrine for the term sheet:**
159
+
160
+ - **Entity name is the IN01-filed name**, not a marketing entity. Issuer must read as the actual filed company (e.g. "Real Agent Network Limited" not "Real Agent Systems Ltd").
161
+ - **Cap table matches the IN01 + Round 1 dilution model exactly.** Pre-investment shares + new investor Round Shares = post-investment total. No fractional shares; no rounding to the % column that breaks share totals.
162
+ - **Founder list reads exactly as the cap table.** No phantom founders. Strategic shareholders (e.g. an investing LLP) ride in the cap table by entity name, not via their individuals.
163
+ - **Sole director on IN01 is the director-designate.** A term sheet that names two directors when IN01 names one is a defect.
164
+ - **SEIS/EIS posture is post-funding obligation, not closing contingency.** Never assured prior to distribution; no representation as to qualifying status. Forms no part of consideration.
165
+ - **Confidentiality and exclusivity provisions are the only binding clauses.** Everything else non-binding until long-form docs.
166
+
167
+ References: `references/termsheet-template.md`.
168
+
140
169
  ## Stage 4 — Deck blueprint synthesis
141
170
 
142
171
  Generate `01-narrative/deck-blueprint.md` as a **12-slide brief** the deck designer can execute. Each slide has Purpose, Headline (one-line message), Body (bullets + figures pulled from the business plan), Visual suggestion, and Source reference. The 12 slides:
@@ -194,6 +223,14 @@ References: `references/html-pdf-pipeline.md` for the canonical `render-pdf.mjs`
194
223
  - **Even page count for booklet binding.** Multiple of 4 ideally; minimum even. Add or remove a supporting page to maintain parity if a section change breaks it.
195
224
  - **Verify by reading every rendered page.** `pdfinfo` page count is not verification. The bottom 30% of every page must reach the content margin without significant whitespace.
196
225
 
226
+ ## Slide-design patterns (collected from the deck build)
227
+
228
+ - **Cap-table over labelled pie chart.** A labelled donut with seven slices puts the percentages on the chart but adds visual clutter at small slice counts. A clean post-investment cap table (Shareholder / Shares / % with a gold-rule Total row) reads faster on the slide and matches the term-sheet treatment. Default to the table; reserve the pie for slides with three to four large slices.
229
+ - **Circular founder avatars on the team slide.** Square photos at full card width over-allocate vertical real-estate and crowd the bio + advisor band. Fixed-diameter circular avatars (e.g. 42mm × 42mm, `border-radius: 50%`, centred `margin: 0 auto`) leave room for the eyebrow + name + 3-line bio + advisor band on a 16:9 slide.
230
+ - **Headshot crops are face-centred, not full-environment.** Crop each source PNG/JPG to a tight head + shoulders square at 1200×1200 (`magick <src> -crop WxH+X+Y +repage -resize 1200x1200 -strip <crop>.png`), then encode with `cwebp -q 88 -m 6 -mt`. Resize-then-encode never loses face fidelity at the 42mm display size. Track per-founder face position from the source dimensions and centre the crop window on it.
231
+ - **Bio line budget on slide 8 is ~3 lines at 8.5pt.** A 4th line crashes into the advisor band's `border-top`. Trim aggressively: lead with the headline number ("33 years residential estate agency"), then 2-3 firms and 1-2 awards.
232
+ - **Linter strips trailing text in long edits.** When editing a multi-line founder bio (or any cell where you append clauses past a verbatim sentence), the auto-formatter has rewritten the trailing fragment on this project. Always re-grep the file after the edit; if "Sole IN01 director." or "2× Capper" went missing, the edit needs a second pass with a smaller anchor.
233
+
197
234
  ## Pitfalls to avoid (collected from the reference project)
198
235
 
199
236
  - **Renaming a directory after the URL is published.** Keep `<project-site>/.docs/data-room/html/<artefact>/index.html` stable; if the URL changes, downstream investor links break.
@@ -212,6 +249,7 @@ References: `references/html-pdf-pipeline.md` for the canonical `render-pdf.mjs`
212
249
  - `references/compliance-research-checklist.md` — UK + EU regulatory regimes to verify
213
250
  - `references/internal-workings-scrub.md` — the public-vs-internal doctrine, patterns to scrub, recurrence list
214
251
  - `references/design-tokens-application.md` — how to consume `realagent-site/.docs/design-tokens.md` from an artefact's `:root` block
252
+ - `references/termsheet-template.md` — A4-portrait term-sheet structure, cap-table reconciliation, common defects
215
253
 
216
254
  ## Reference project
217
255
 
@@ -0,0 +1,66 @@
1
+ # Term sheet template
2
+
3
+ A4-portrait, 6-to-8-page formal term sheet, same render pipeline as the business plan (Playwright + img2pdf + qpdf). Lives at `html/prospectus/term_sheet.html`. The reference project produces a 7-page artefact: cover + 5 content pages + signatures.
4
+
5
+ ## Page-by-page structure
6
+
7
+ | # | Page | Contents |
8
+ |---|---|---|
9
+ | 1 | Cover + preamble | Issuer (full Companies-House-filed legal name), document title, "Non-binding — confidentiality and exclusivity bind", preamble (round purpose, recipient self-cert reminder), introductory parties table (Issuer, Founders list, Investors, round size, minimum cheque, minimum aggregate, target first close) |
10
+ | 2 | Share economics &amp; use of proceeds | Instrument (ordinary £0.001 or £0.01 nominal, ranking *pari passu*), pre-money / post-money / dilution, issue price (computed from pre-money ÷ pre-investment shares), Round Share count, use of proceeds split, long-stop date, funds-expected timing |
11
+ | 3 | Cap table on closing | Holder / Role / Shares / % table; founders subtotal; Round Shares row; total = 100% / 625,000 |
12
+ | 4 | Governance &amp; shareholder protections | Board composition (director-designate per IN01), information rights (≥5% threshold), pre-emption, drag-along / tag-along, share-transfer good-leaver / bad-leaver, SEIS/EIS posture, confidentiality (binding), exclusivity (binding) |
13
+ | 5 | Closing terms | Governing law (English), expenses (each party bears own), founder IP assignment (deed at first close, no licence-back, no royalty), conditions to closing, long-form documentation timeline |
14
+ | 6 | Signatures | Company block (director-designate per IN01) + Investor block (name / entity / commitment / signature line) |
15
+ | 7 | Investor self-certification (optional) | UK self-cert criteria check-list with signature block |
16
+ | 8 | Backpage | Contact card + confidentiality reminder + companies-house identifier |
17
+
18
+ ## Cap table reconciliation
19
+
20
+ The cap table on closing **must reconcile against the IN01 + the Round 1 dilution model exactly**. The pattern from the reference project:
21
+
22
+ | Step | Source |
23
+ |---|---|
24
+ | Pre-investment shares (e.g. 500,000) | IN01 statement of capital |
25
+ | Per-founder pre-investment % | IN01 cap table |
26
+ | Dilution % | (Round size / post-money) = 350 / 1,750 = 20% in the reference project |
27
+ | Post-investment % per founder | Pre-investment % × (1 − dilution%) |
28
+ | Post-investment shares per founder | Pre-investment shares × (1 − dilution%) — note this only works if all founders dilute pro rata |
29
+ | Round Shares | New investor's post-investment % × total post-investment shares |
30
+ | Total post-closing shares | Pre-investment shares ÷ (1 − dilution%) |
31
+
32
+ Reference project numbers (pre 500k, dilution 20%):
33
+ - Joel 24.90% / 124,500 → 19.92% / 124,500 (no change in shares; dilution is via issuance of new shares)
34
+ - Adam 24.90% / 124,500 → 19.92% / 124,500
35
+ - Alex 20.00% / 100,000 → 16.00% / 100,000
36
+ - Jamie 15.16% / 75,813 → 12.13% / 75,813
37
+ - BackleyBlack 8.75% / 43,749 → 7.00% / 43,749
38
+ - Stewart Smalley 6.29% / 31,438 → 5.03% / 31,438
39
+ - Founders subtotal 500,000 / 80.00%
40
+ - New investors (Round 1) 125,000 / 20.00%
41
+ - Total post-closing 625,000 / 100.00%
42
+
43
+ Issue price = pre-money / pre-investment shares = £1,400,000 / 500,000 = **£2.80 per Round Share** (£0.001 nominal + £2.799 share premium in the reference project where nominal was £0.001; or £0.01 nominal + £2.79 premium if the term sheet sets nominal at £0.01).
44
+
45
+ ## Doctrine
46
+
47
+ - **Issuer name is the IN01-filed legal entity.** Stale term sheets that reference a marketing entity (e.g. "Real Agent Systems Ltd" instead of the filed "Real Agent Network Limited") are defects. The Companies House number on every page header should match.
48
+ - **Founder list reads exactly as the cap table.** Six holders on the cap table = six in the founder list. No phantom founders. Strategic shareholders (e.g. an investing LLP) ride in by entity name, not by their constituent individuals.
49
+ - **Sole director on IN01 is the director-designate on the term sheet's signature page.** A term sheet that names two directors when IN01 named one needs reconciling before issue.
50
+ - **SEIS/EIS posture is post-funding obligation, never closing contingency.** Never assured prior to distribution; no representation as to qualifying status. Forms no part of consideration.
51
+ - **Confidentiality + exclusivity bind; everything else is non-binding** until subscription &amp; shareholders' agreement.
52
+
53
+ ## Render
54
+
55
+ Same `render-pdf.mjs` pattern as the business plan; viewport 794×1123 (A4 portrait at 96 dpi), deviceScaleFactor 3.125 (300 dpi PNG), `img2pdf --pagesize 210mmx297mm`, `qpdf --linearize`. Output: `html/prospectus/term_sheet.pdf`.
56
+
57
+ ## Common defects to avoid
58
+
59
+ | Defect | Fix |
60
+ |---|---|
61
+ | Issuer name mismatch (marketing vs filed) | Use the IN01 legal name verbatim on every page header |
62
+ | Founder list includes individuals also represented by an LLP holding | Use the LLP holding only; do not double-count |
63
+ | Issue price stated without showing the calculation | `£2.80 = £1.4m ÷ 500,000 pre-shares` in the issue-price row |
64
+ | Cap-table % rounding doesn't sum to 100% | Compute % as `shares / total` and verify the sum; never hand-enter % rows |
65
+ | SEIS/EIS implied as confirmed | "Pursuing SEIS/EIS Advance Assurance from HMRC is a post-funding obligation … not a closing contingency … no representation as to qualifying status" |
66
+ | Director-designate doesn't match IN01 | Read the IN01 PDF; the proposed director on IN01 is the director-designate |