Skip to content

Consolidate presentations#1

Merged
xballoy merged 14 commits into
mainfrom
consolidate-presentations
Jul 7, 2026
Merged

Consolidate presentations#1
xballoy merged 14 commits into
mainfrom
consolidate-presentations

Conversation

@xballoy

@xballoy xballoy commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Consolidates the three standalone presentation repos into this monorepo, one folder per talk, sharing a single Slidev version via a pnpm workspace catalog.

Original repos:

What's included

  • pnpm workspace + catalog — all decks (and their demo/ folders) pin the same Slidev/Vue versions via catalog: refs; each demo/ is kept but excluded from the workspace and CI.
  • ai-tech-debt/ — imported bilingual (EN/FR), package.json rewired to catalog: refs.
  • solid/ — PowerPoint deck migrated to Slidev, now bilingual (EN/FR).
  • opaque-types/ — PowerPoint deck migrated to Slidev, now bilingual (EN/FR); code slides use the real example code from demo/.
  • shared/ — slides, the global-top.vue component, and assets (e.g. me.jpg) shared across all three decks to avoid duplication.
  • CI/deploy workflows — build all decks into a shared dist/ under /presentations/<name>/, plus a landing page linking to each talk.
  • Docs — root README + per-deck READMEs updated for the monorepo, slides proofread, license files consolidated.

xballoy added 13 commits July 7, 2026 11:03
Fix spelling, grammar, and clarity across the SOLID, opaque-types, and
ai-tech-debt decks, plus the root README and landing page. Replace em/en
dashes with plain ASCII, normalize ellipses, and use French guillemets in
the French deck. Demo artifacts under ai-tech-debt/demo are left untouched.
Translate SOLID (FR to EN) and opaque-types (EN to FR), restructuring both
to the ai-tech-debt bilingual pattern: slides-en.md/slides-fr.md entry decks,
pages/en and pages/fr content, global-top.vue switcher, public/index.html
redirect, and per-language dev scripts. Update CI/deploy to build each
language separately, plus the landing page and READMEs.
Correct the machine-translated solid EN and opaque-types FR decks, plus a
fresh pass over ai-tech-debt and the root README. Fixes cover mistranslations,
grammar and agreement, awkward calques, terminology consistency, and English
number formatting in the solid tax table.
Consolidate to a single root LICENCE.md (keep the third-party
ai-tech-debt demo license) and repoint all README references.

Proofread the EN/FR slides and READMEs: fix typos, grammar, missing
words, and EN/FR mismatches; capitalize Zod/Valibot in prose;
translate remaining FR code comments; sentence-case opaque-type
headings; update the stale ai-tech-debt repo URL.
Factor duplicated boilerplate into a top-level shared/ folder:
- global-top.vue (language switcher) and me.jpg are now symlinked from
  each deck instead of copied
- the self-intro and closing slides live in shared/{en,fr}/, included via
  src:; the closing slide resolves its live deck URL dynamically
- opaque-types gains the shared self-intro slide; solid's bio moves ahead
  of the objectives slide for consistency

Consolidate docs to one root README plus one per presentation, drop the
demo READMEs (folding run steps in) along with their stale LinkedIn and
Git-LFS notes. Extend Prettier globs to shared/**/*.md.
Consolidate demo tooling through the pnpm workspace catalog to avoid
version drift, and make the per-deck language redirect actually work.

Demos:
- add solid/demo and opaque-types/demo as pnpm workspace members using
  named catalogs (catalog:slidev for decks, catalog:demo for tooling)
- pin shared demo tooling once in pnpm-workspace.yaml: TypeScript 7.0.1-rc,
  vitest 4.1.10, biome 2.5.2, @tsconfig/strictest + @tsconfig/node24,
  @types/node 26; drop per-demo package-lock.json
- share one root biome.json; demos extend it (root:false + extends "//")
- remove prettier from opaque-types/demo (biome only in demos, prettier
  stays slidev-only); add .editorconfig
- set types:["node"] (TS now defaults types to []); migrate valibot to v1
  and zod to v4; relax noUnused* for teaching snippets
- ai-tech-debt/demo left as-is (vendored copy, npm)

Redirect:
- add shared/redirect.html (client-side language redirect) and emit it to
  dist/<deck>/index.html in deploy.yml; remove dead public/index.html files

Renovate now ignores only the vendored ai-tech-debt/demo so the other
demos stay up to date.
@xballoy xballoy changed the title Consolidate presentations into a Slidev monorepo Consolidate presentations Jul 7, 2026
Renovate uses :automergeAll, so a dependency bump can auto-merge once CI
is green. Until now CI only built the Slidev decks and prettier-checked
markdown, so a bump breaking demo code would merge silently. Add a
parallel demos job that runs quality:check (biome), types:check (tsc),
and test (vitest) across the workspace demo packages.
@xballoy xballoy merged commit 75633ca into main Jul 7, 2026
2 checks passed
@xballoy xballoy deleted the consolidate-presentations branch July 7, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant