Contributing
Thank you for your interest in contributing to Logbook! This guide will help you get started.
Repositories
Each Logbook project is its own repository:
- api - Backend API
- app - Mobile app
- web - Landing page
- sdk - TypeScript SDK
- devops - Infrastructure
- docs - This site
Clone the repository you want to work on and follow its getting started guide.
Prerequisites
Before contributing, ensure you have:
- Node.js 22+
- pnpm 10+
- Docker (for local database)
- Git
Development Workflow
Creating a Branch
bash
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fixMaking Changes
- Make your changes following the Code Style guide
- Run linting and formatting:bash
pnpm check:fix - Run tests:bash
pnpm test
Committing
Write clear, descriptive commit messages:
bash
git commit -m "feat(api): add user preferences endpoint"
git commit -m "fix(app): resolve navigation crash on logout"Submitting a Pull Request
- Push your branch to GitHub
- Open a pull request with a clear description
- Link any related issues
- Wait for review and CI checks to pass
Project-Specific Guidelines
API
- Run
pnpm generate:openapiafter modifying controllers - Add tests for new endpoints
- Update the changelog for significant changes
App
- Test on both iOS and Android simulators
- Follow the Tamagui design system
- Update navigation types when adding screens
SDK
- SDK is auto-generated - modify the API, not the SDK directly
- Run
pnpm generateafter API changes - Verify exports work correctly
DevOps
- Always run
./tofu -e <env> planand read the plan beforeapply - Test changes in the dev workspace first
- Document stack changes in
infra/<stack>/README.md