JSDoc Changelog Every File Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Add proper JSDoc comment blocks with @changes table to all TS/TSX files in the frontend that lack it.
Architecture: Each file gets a consistent JSDoc block at the top containing component/file description and a changelog table. Files are processed in parallel batches to handle the large volume efficiently.
Tech Stack: N/A (documentation task)
Files Summary
- Total TS/TSX files: 581
- Files with @changes: 46 (already done)
- Files missing @changes: 535
JSDoc Block Template
/**
* [ComponentName] — Brief one-line description
*
* @description Extended description of what this component/file does.
*
* @changes
* | Date | Author | Change |
* | ---------- | -------- | ------------------------------------- |
* | YYYY-MM-DD | Curly Ng | Initial version or description of change |
*/Special Cases
- Page files (
page.tsx): Use page name as component name, describe the page's purpose - Metadata files (
metadata.ts): Note it's a Next.js metadata export - Data files (
.tswithdatain name): Note it's static data - Context files (
*context.tsx): Note it's a React context - Hook files (
use-*.ts): Note it's a custom hook - Schema files (
*.schema.ts): Note it's a Zod schema - Type files (
*.types.ts): Note it contains type definitions
Batch Assignments
Batch 1: Contexts, Navigation, App Shell (50 files)
contexts/*.tsxnavigation.tsapp/layout.tsx,app/page.tsxmdx-components.tsx
Batch 2: Dashboard Pages (50 files)
app/[locale]/dashboard/**/*.tsxapp/[locale]/dashboard/**/*.ts
Batch 3: Landing Pages (50 files)
app/[locale]/(landing)/page.tsxapp/[locale]/(landing)/*/page.tsxapp/[locale]/(landing)/*/metadata.ts
Batch 4: Inquiry Pages (50 files)
app/[locale]/(landing)/inquiry/**/page.tsxapp/[locale]/(landing)/inquiry/**/metadata.tsapp/[locale]/(landing)/inquiry/**/data.ts
Batch 5: Experience Pages (50 files)
app/[locale]/(landing)/experiences/**/page.tsxapp/[locale]/(landing)/experiences/**/metadata.ts
Batch 6: UI Components Part 1 (50 files)
components/ui/accordion.tsxthroughcomponents/ui/field.tsx
Batch 7: UI Components Part 2 (50 files)
components/ui/form-*.tsxthroughcomponents/ui/image-*.tsx
Batch 8: UI Components Part 3 (50 files)
components/ui/label.tsxthroughcomponents/ui/radio-group.tsx
Batch 9: UI Components Part 4 (50 files)
components/ui/rating-display.tsxthroughcomponents/ui/tabs.tsx
Batch 10: UI Components Part 5 (50 files)
components/ui/textarea.tsxthroughcomponents/ui/why-card.tsx
Batch 11: Booking Components (50 files)
components/booking/**/*.tsx
Batch 12: Marketing Components Part 1 (50 files)
components/marketing/artists/**/*.tsxcomponents/marketing/about-*.tsx
Batch 13: Marketing Components Part 2 (50 files)
components/marketing/event-*.tsxcomponents/marketing/featured-*.tsx
Batch 14: Marketing Components Part 3 (50 files)
components/marketing/gallery-*.tsxcomponents/marketing/contact-*.tsxcomponents/marketing/video-*.tsx
Batch 15: Private Events & Venue (50 files)
components/marketing/private-events/**/*.tsxcomponents/marketing/venue-*.tsxcomponents/marketing/workshops/**/*.tsx
Batch 16: Home, Wall, Profile Components (50 files)
components/home/**/*.tsxcomponents/wall/**/*.tsxcomponents/profile/**/*.tsx
Batch 17: Admin Components (50 files)
components/admin/**/*.tsx
Batch 18: POS, Menu, Table Components (50 files)
components/pos/**/*.tsxcomponents/menu/**/*.tsxcomponents/table/**/*.tsx
Batch 19: Experience Sub-Components (50 files)
components/experiences/dinner-theater/**/*.tsxcomponents/experiences/french-mentalist/**/*.tsx
Batch 20: Minigames & Forms (35 files)
components/minigames/**/*.tsxcomponents/forms/**/*.tsx
Batch 21: Lib Files (50 files)
lib/**/*.ts
Batch 22: Hooks (50 files)
hooks/**/*.tshooks/**/*.tsx
Execution Notes
- Files can be processed in parallel (10 batches at once recommended)
- Each agent handles its batch independently
- No code logic changes - only comment block additions
- If a file already has a proper JSDoc block with
@changes, skip it - For files with existing
// ipsoc checked:comments, replace with proper JSDoc block
Verification
After all batches complete:
grep -rL "@changes" /Users/curlyz/usr/hol/apps/frontend --include="*.tsx" --include="*.ts" 2>/dev/null | grep -v node_modules | wc -lExpected: 0