Skip to content

Conversation

@lpmsh
Copy link
Collaborator

@lpmsh lpmsh commented Feb 8, 2026

Summary

Converted the Flowglad examples repository into a Turborepo monorepo with unified Biome linting and Husky pre-commit hooks, matching the main repository's tooling setup.

Changes

  • Monorepo setup: Root package.json with workspaces, turbo.json task orchestration
  • Linting & formatting: Root biome.json (70 char line width, no semicolons, single quotes) replacing ESLint/Prettier
  • Git hooks: Husky pre-commit hook runs biome check + turbo typecheck on every commit
  • CI: GitHub Actions workflow for lint and typecheck on push and PRs
  • Workspace updates: All 6 example projects renamed under @flowglad-examples/ namespace with unified scripts
  • Code cleanup: Removed 31 per-project config files, reformatted 232 source files
  • TS fixes: Fixed pre-existing SDK type mismatches

Test Plan

  • bun install at root succeeds and resolves all workspaces
  • bun run lint passes across all projects
  • bun run typecheck passes across all workspaces
  • bun run format:check shows no issues
  • Pre-commit hook blocks commits with formatting errors
  • Pre-commit hook blocks commits with type errors
  • GitHub Actions CI workflow passes

- Add root package.json with Turborepo, Biome, and Husky devDependencies
- Create turbo.json with lint, check, typecheck tasks
- Add biome.json with unified formatting config (70 char line width, no semicolons, single quotes)
- Create .husky/pre-commit hook to run biome check and turbo typecheck
- Add .github/workflows/ci.yml for GitHub Actions CI on push and PRs
- Update all 6 workspace package.json files with unique names and Biome scripts
- Remove per-project ESLint and Prettier configurations (15 config files)
- Delete per-project .gitignore, bun.lock, and bunfig.toml files
- Consolidate to root .gitignore and .biomeignore
- Reformat 232 source files to match unified Biome conventions
- Fix pre-existing TypeScript errors (@flowglad/types imports, SDK type mismatches)
@coderabbitai
Copy link

coderabbitai bot commented Feb 8, 2026

Important

Review skipped

Too many files!

This PR contains 269 files, which is 119 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch liam/mono-repo

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

lpmsh added 3 commits February 8, 2026 17:33
The 4 Next.js projects import from @flowglad/shared but only had it
available via hoisting. This works locally but fails in CI where
strict dependency resolution is enforced. Adding it as an explicit
dependency in each project's package.json.
The vitest.config.ts imports from vitest/config but vitest is not a
dependency of this project. The file is unused (no test directory
exists). Excluding it from tsconfig so tsc --noEmit doesn't fail.
Duplicate vite type resolutions in the monorepo cause Plugin type
conflicts in CI. The file is only consumed by Vite at runtime.
@lpmsh lpmsh self-assigned this Feb 8, 2026
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.

1 participant