This section contains tools, guides, and best practices for developing on the Tuturuuu platform.
Getting Started
Development Workflow
Documentation
Development Guidelines
Code Quality
- Formatting and linting are handled by Biome (
biome.json),
not ESLint or Prettier. Use bun ff to format, lint, and check in one pass.
- Run
bun check before opening a PR — it is the repo’s verification gate for
TypeScript, JavaScript, root-script, and config changes (run focused tests first).
- Default to Server Components in
apps/web; add 'use client' only for state,
browser APIs, or interactivity.
- Prefer typed expected errors and dependency services via
@tuturuuu/utils/effect
for new server/service orchestration.
Git Workflow
- Use Conventional Commits for commit
messages and branch names.
- The branch checker only accepts these prefixes:
feature/, feat/, fix/,
bugfix/, hotfix/, release/, chore/, docs/, style/, refactor/,
perf/, dependabot/, and claude/.
- Keep commits atomic and write descriptive PR descriptions.
- Do not manually bump
TUTURUUU_PLATFORM_VERSION, package versions, or
changelogs — Release Please owns version updates.
Testing
- Tests run with Vitest. Use
bun test for the full suite or filter to a single
workspace (for example bun --filter @tuturuuu/web test).
- Write unit tests for utilities and cover error scenarios.
- Run focused tests before the full
bun check gate.
- Default to server-side rendering and Server Components where possible.
- Use TanStack Query for client-side fetching and caching; avoid
useEffect for
data fetching.
- Minimize bundle size and profile performance regularly.
Package Management
Dependencies are always installed from inside the owning workspace — never by
hand-editing the root package.json and never with a --workspace flag.
# Install all dependencies
bun install
# Add a dependency to an app (e.g. apps/web)
cd apps/web && bun add <package>
# Add a dependency to a shared package (e.g. packages/ui)
cd packages/ui && bun add <package>
# Update dependencies across the monorepo
bun update-all
Development Commands
# Start all apps
bun dev
# Start a specific app
bun dev:web
# Run tests (Vitest)
bun test
# Run the full verification gate before a PR
bun check
Database Commands
# Start the local Supabase stack
bun sb:start
# Create a new migration
bun sb:new
# Apply pending migrations locally
bun sb:up
# Generate TypeScript types from the local schema
bun sb:typegen
# Reset the local database (re-runs all migrations + seeds)
bun sb:reset
bun sb:push and bun sb:linkpush push migrations to the remote
Supabase project and are reserved for the maintainer applying production
changes. Do not run them — prepare migrations locally with bun sb:up and let
the user apply production changes.
Troubleshooting
Common Issues
- Build / Check Failures: Run
bun check to surface TypeScript and Biome errors, and confirm dependencies are installed with bun install
- Database Issues: Ensure the local Supabase stack is running (
bun sb:start) and migrations are applied (bun sb:up)
- Test Failures: Check environment setup and re-run the focused Vitest workspace before the full
bun check gate
- Performance Issues: Use React DevTools and bundle analyzers
Getting Help
- Check existing documentation
- Search GitHub issues
- Ask in team channels
- Create detailed bug reports
Contributing
When contributing to the platform:
- Read the relevant documentation
- Follow the established patterns
- Write tests for new features
- Update documentation
- Submit a pull request with a clear description