Commit Format
folksbase uses Conventional Commits. Every commit message follows this pattern:
Examples:
Branch Naming
Branches follow the same type prefix:Pull Requests
- PRs must pass CI before merge (Biome lint + typecheck + tests + build)
- Squash merge to keep history clean
- No force-pushes to
main
CI Pipeline
The CI workflow (.github/workflows/ci.yml) runs on every PR to main:
- Lint —
pnpm lint(Biome) - Typecheck —
pnpm typecheck - Test —
pnpm test(Vitest) - Build —
pnpm build(runs only after lint, typecheck, and test pass) - Claude Code Review — AI-powered review that checks the PR against AGENTS.md rules
Local Git Hooks
Git hooks live in.githooks/ and are auto-configured when you run pnpm install (via pnpm prepare, which sets core.hooksPath).
These hooks catch issues before they reach CI. Don’t bypass them with
--no-verify unless you have a good reason.
Storybook Deploy
The Storybook deploy workflow (.github/workflows/deploy-storybook.yml) triggers on pushes to main when component files, Storybook config, or shared types change. It can also be triggered manually via workflow_dispatch.