-
Notifications
You must be signed in to change notification settings - Fork 94
refactor(ui): conform to Base UI patterns and standardize TS config #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Switch database provider to Cloudflare D1 in `packages/data-ops`. - Update `drizzle.config.ts` and `auth.ts` for D1 compatibility. - Configure `user-application` to use D1 binding and `cloudflare:workers` env import. - Update `tsconfig.json` in apps to include `node` types and generated worker types. feat: configure Cloudflare D1 and update Workers setup - Switch database provider to Cloudflare D1 in `packages/data-ops`. - Update `drizzle.config.ts` and `auth.ts` for D1 compatibility. - Configure `user-application` to use D1 binding and `cloudflare:workers` env import. - Update `tsconfig.json` in apps to include `node` types and generated worker types. - Add better-auth and Google OAuth variables to wrangler.jsonc. - Fix Vite config aliases in user-application. - Generate initial auth schema and migrations. - Update data-service configuration.
- Add VS Code tasks + extension recommendation for bd - Track .beads/issues.jsonl for agent workflows - Add repo Copilot instructions
Ignore .beads/interactions.jsonl and .beads/README.md; keep issues.jsonl tracked
Add epic cloudflare-workers-saas-kit-9yb and linked subtasks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the UI package to adopt Base UI patterns and standardizes TypeScript configuration across the monorepo. The changes migrate from Radix UI's asChild pattern to Base UI's render prop pattern, consolidate component libraries into a shared @workspace/ui package, and migrate the database from MySQL/PlanetScale to Cloudflare D1 (SQLite).
Key changes:
- Refactored UI components from Radix UI to Base UI patterns (replacing
asChildwithrenderprop) - Created shared TypeScript configurations for Vite/React libraries
- Migrated icon library from Lucide to Tabler Icons
- Consolidated UI components into
packages/uiand updated import paths throughout the application - Migrated database from MySQL to Cloudflare D1 (SQLite) with corresponding schema changes
Reviewed changes
Copilot reviewed 106 out of 114 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/typescript-config/vite-react-library.json | New shared TypeScript config for Vite/React libraries |
| packages/typescript-config/react-library.json | New shared TypeScript config for React libraries with JSX support |
| packages/ui/** | Refactored UI components using Base UI patterns with render prop |
| apps/user-application/src/components/** | Removed duplicate UI components, now imported from @workspace/ui |
| apps/user-application/src/routes/** | Updated imports and icon library usage from Lucide to Tabler |
| packages/data-ops/src/drizzle/auth-schema.ts | Migrated database schema from MySQL to SQLite for D1 |
| packages/data-ops/src/database/setup.ts | Updated database initialization for D1 |
| apps/user-application/wrangler.jsonc | Added D1 database binding configuration |
| apps/user-application/src/components/auth/** | Added email OTP authentication flows |
| .github/** | Added Copilot skills and agent configuration |
| .beads/** | Added beads issue tracking system files |
| .vscode/** | Added VS Code tasks for beads integration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "extends": "./base.json", | ||
| "compilerOptions": { | ||
| "jsx": "react-jsx", | ||
| } |
Copilot
AI
Dec 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a trailing comma after "jsx": "react-jsx" which is not valid in JSON. This will cause a parsing error. Remove the trailing comma.
| "lib": "@workspace/ui/lib", | ||
| "hooks": "@workspace/ui/hooks" | ||
| }, | ||
| "iconLibrary": "lucide" |
Copilot
AI
Dec 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The iconLibrary is set to "lucide" but the project has been migrated to use "@tabler/icons-react". This should be updated to "tabler" to match the actual icon library being used throughout the codebase.
| "iconLibrary": "lucide" | |
| "iconLibrary": "tabler" |
…and packaging - Introduced `init_skill.py` to create new skills from templates, including structured SKILL.md and resource directories. - Added `package_skill.py` to package skill folders into distributable .skill files with validation. - Implemented `quick_validate.py` for basic skill validation, checking SKILL.md and frontmatter. - Created output patterns and workflow patterns documentation to guide skill development. - Added xlsx skill with comprehensive guidelines for spreadsheet creation, editing, and analysis, including formula recalculation script.
|
Amazing 😍 Agent guide, My only question is why cloudflare D1? |
1 similar comment
|
Amazing 😍 Agent guide, My only question is why cloudflare D1? |
|
Cloudflare D1? It works better with the project. |
This PR includes the following changes:
packages/uito use@base-ui/reactpatterns (replacingasChildwithrenderprop where necessary).packages/uiandapps/user-applicationresulting from the UI refactor.packages/typescript-config/vite-react-library.json.packages/ui,packages/ui-example, andapps/user-applicationto use the shared TypeScript configuration.wranglerdependency to resolve peer dependency conflicts.