Ajax Davis
78e6b9f4b5
feat: add complete monorepo structure and all packages
...
This completes the initial monorepo setup with all packages and configuration.
Packages added:
- @tpmjs/ui - React component library with .ts-only components
- @tpmjs/utils - Utility functions (cn, format)
- @tpmjs/types - TypeScript types and Zod schemas
- @tpmjs/env - Environment variable validation
- @tpmjs/test - Shared Vitest configuration
- @tpmjs/mocks - MSW mock server
- @tpmjs/config - Shared configurations (Biome, ESLint, Tailwind, TypeScript)
Applications added:
- @tpmjs/web - Next.js 16 App Router
Infrastructure:
- Turborepo configuration with build pipeline
- pnpm workspace setup
- GitHub Actions CI/CD
- Changesets for versioning
- Lefthook pre-commit hooks
- VSCode workspace settings
- Comprehensive documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:59:40 +10:00
Ajax Davis
bc2f4a01cf
feat: initial monorepo setup with Turborepo, Next.js 16, and .ts-only components
...
- Set up Turborepo monorepo with pnpm workspaces
- Configure shared configs (Biome, ESLint, Tailwind, TypeScript)
- Create @tpmjs/ui package with .ts-only React components (Button, Card)
- Create @tpmjs/utils package with utility functions
- Create @tpmjs/types package with Zod schemas
- Create @tpmjs/env package for environment validation
- Set up Next.js 16 App Router application
- Configure Storybook in separate package
- Add GitHub Actions CI/CD workflows
- Configure Changesets for versioning and publishing
- Set up Lefthook pre-commit hooks
- Add comprehensive documentation
Key architecture decisions:
- All React components use .ts extension with createElement (no JSX)
- No barrel exports (index.ts) - direct imports required
- Module boundaries enforced via ESLint
- tsup for package builds with ESM + types
- Tailwind CSS with shared design tokens
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:59:15 +10:00