Skip to content

Conversation

@alexasomba
Copy link

This PR includes the following changes:

  • Refactored packages/ui to use @base-ui/react patterns (replacing asChild with render prop where necessary).
  • Fixed TypeScript errors in packages/ui and apps/user-application resulting from the UI refactor.
  • Standardized TypeScript configuration for Vite/React libraries by creating packages/typescript-config/vite-react-library.json.
  • Updated packages/ui, packages/ui-example, and apps/user-application to use the shared TypeScript configuration.
  • Updated wrangler dependency to resolve peer dependency conflicts.

- 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
Copilot AI review requested due to automatic review settings December 28, 2025 01:16
Copy link

Copilot AI left a 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 asChild with render prop)
  • Created shared TypeScript configurations for Vite/React libraries
  • Migrated icon library from Lucide to Tabler Icons
  • Consolidated UI components into packages/ui and 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",
}
Copy link

Copilot AI Dec 28, 2025

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.

Copilot uses AI. Check for mistakes.
"lib": "@workspace/ui/lib",
"hooks": "@workspace/ui/hooks"
},
"iconLibrary": "lucide"
Copy link

Copilot AI Dec 28, 2025

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.

Suggested change
"iconLibrary": "lucide"
"iconLibrary": "tabler"

Copilot uses AI. Check for mistakes.
…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.
@ldsgroups225
Copy link

Amazing 😍

Agent guide,
UI reusability,
Typescript standardized,
Deps updated,
Local db,

My only question is why cloudflare D1?
Because benchmark? compatibility?

1 similar comment
@ldsgroups225
Copy link

Amazing 😍

Agent guide,
UI reusability,
Typescript standardized,
Deps updated,
Local db,

My only question is why cloudflare D1?
Because benchmark? compatibility?

@alexasomba
Copy link
Author

Cloudflare D1? It works better with the project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants