Prompt file imported from angelator312/excalidraw-slides (
.github/prompts/plan-excalidrawSlidesPlan.prompt.md). Copyright stays with the author.
Plan: model‑mapped task list TL;DR — Implement an optional Preact presentation plugin + Node service (MongoDB + socket.io) that adds multi-presentation storage, team-based ACLs, owner one‑time auth links, realtime cursors/diffs, bounded auto-history (N=50) + named snapshots, thumbnails (separate files), and client export (PNG + notes). Split the work into clear implementation steps and assign each step to an appropriate AI model tier (mini → low-cost for routine code, medium → design/complex flows, large → architecture/CRDT/security). This lets you run inexpensive agents for most work while reserving stronger models for hard problems. GPT 5 mini
- Scaffold client + server:
package.json,vite.config.ts,src/entry.tsx,server/src/index.ts, basic NPM scripts. - Create UI skeletons:
src/presentation/plugin.tsx,ToolbarButton.tsx,PresenterView.tsxshells with ARIA. - Implement slide model helpers:
src/presentation/slideModel.ts—getSlidesFromFile(),serializeSlide(),deserializeSlide(). - Client export:
src/presentation/export.tsusinghtml2canvasto produce PNGs. - GridFS helper (basic):
server/src/storage/thumbnail.tsto store/retrieve thumbnail files. - Simple unit tests:
tests/slideModel.test.tsand test harness. - Docker/dev compose: minimal
docker-compose.yml(MongoDB + optional Redis).
Claude Sonnet 4.5
- Design and implement REST APIs + DB models:
server/src/api/presentations.ts,auth.ts,teams.tsand models (user.ts,team.ts,presentation.ts,slide.ts,version.ts,snapshot.ts,sharelink.ts,authToken.ts). - Auth flows: owner one‑time token generation/accept flow, session issuance, email-as-username enforcement.
- Team management: create-on-demand teams, add/remove member by username, user-search behavior and invite fallback.
- Permissions middleware:
server/src/middleware/perm.tsenforcing visibility/ACLs and sharelink logic. - Realtime server + client implementation:
server/src/ws.ts(socket.io),src/presentation/rtc.tsclient wrapper — protocoljoinRoom,presence,diff,slideChange,snapshot. - Versioning job & snapshots:
server/src/jobs/pruneVersions.ts, snapshot APIs, history UIsrc/presentation/history.tsx. - Presenter UX & pointer sync: implement pointer broadcast, smoothing, and thumbnails hooks.
- Integration tests:
tests/ws.integration.tsmulti-client scenario.
Claude Hainku 4.5
- Security & threat model: token lifecycle, revocation, CSRF/XSS/serialization hardening for scene JSON, sensitive endpoints review.
- Scaling & architecture: multi-instance socket.io with Redis adapter, sticky session guidance, DB indexing and sharding considerations, autoscaling guidance.
- CRDT migration plan: concrete migration path from server-authoritative diffs →
yjs(data model, storage, dual-mode runbook). - Performance & storage strategy: audit log retention policy design, snapshot/thumbnail storage costs and pruning strategy, GridFS vs S3 decision with migration plan.
- Compliance & privacy: PII handling rules (email-as-username), GDPR/retention implications, secure default configurations.
- Final security review before production release and detailed mitigation steps.
Rapter AI mini (Preview)
- Code quality & maintainability: set up linting, formatting, and commit hooks;
- Developer experience: comprehensive README, contribution guidelines, API documentation, and onboarding guide.
- Monitoring & observability: integrate logging, error tracking, and performance monitoring tools; define
- Give ideas to test the code