- Add CLAUDE.md: AI assistant instructions for MetaBuilder project architecture
- Add TESTING.md: Comprehensive E2E testing guide and troubleshooting
Core changes:
- Create Playwright global.setup.ts to seed database before E2E tests
- Add /api/setup endpoint to trigger database seeding via HTTP
- Implement seed-home-page.ts module loaded from ui_home package metadata
- Create ui_home/seed/metadata.json defining home page PageConfig seed data
Architecture established:
- Packages define seed data in seed/metadata.json
- Seed functions are idempotent (check before creating)
- Global setup calls /api/setup before running tests
- Database schema must be created via 'npm run db:push' before seeding
Test flow:
1. Playwright starts webServer (generates Prisma client, starts Next.js)
2. Global setup waits for server, calls POST /api/setup
3. Seeding creates default data from packages
4. E2E tests run against seeded database
This establishes proper separation of concerns:
- DBAL adapter for database access (not raw Prisma)
- Package-driven seed data (not hardcoded in code)
- HTTP endpoint for explicit database initialization
- Idempotent seeds (safe to rerun)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Fix symlinks for check-function-coverage.js and generate-test-coverage-report.js to point to correct paths in tools/ subdirectories
- Move 'use client' directive before export statements in theme files
- Add playwright.dbal-daemon.config.ts to ESLint ignores
- Fix unnecessary escape character in regex pattern
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
- Update simulation script to use npm install instead of npm ci
- Make diagnostic script work without act installation
- Add quick reference guide for workflow commands
- Ensure validation runs even when act is not available
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
- Fix check-function-coverage.js pointing to wrong path
- Fix generate-test-coverage-report.js symlink
- Fix setup-packages.cjs symlink
- All now correctly point to ../../../tools/