Contributing¶
Thank you for your interest in contributing to FreezerMan! Every contribution -- whether it's a bug fix, a new feature, or improved documentation -- helps make the project better for everyone.
Prerequisites¶
Make sure you have the following installed before getting started:
| Tool | Version | Install |
|---|---|---|
| Bun | 1.3+ | curl -fsSL https://bun.sh/install \| bash |
| PostgreSQL | 17 | Local install or Docker |
| Rust toolchain | Latest stable | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh |
| Xcode | Latest (macOS) | Required for Tauri client builds |
| Git | Any recent version | — |
Note: The Rust toolchain and Xcode are only required if you're working on the client (Tauri) app.
First-Time Setup¶
- Fork and clone the repository:
- Install dependencies (from the repo root -- this installs all workspaces):
- Create the server environment file at
apps/server/.env. Copy the template from the docs and setDATABASE_URLto point at your local PostgreSQL instance:
- Start PostgreSQL (Docker is the easiest option):
Or use a locally installed PostgreSQL 17 instance.
- Run database migrations (from
apps/server):
- Generate the Prisma client (from
apps/server):
- Start the server:
- Start the client (in a separate terminal):
Monorepo Workspace Commands¶
All commands are run from the repository root unless noted otherwise.
| Command | Description |
|---|---|
bun run dev:server |
Start the server with --watch |
bun run dev:client |
Start the Tauri desktop client in dev mode |
bun run dev:client_ios |
Start the Tauri iOS client in dev mode |
bun run check |
Run Biome check with auto-fix |
bun run ci:check |
Run Biome in CI mode (no auto-fix, fails on errors) |
bun run lint |
Lint only (no formatting) |
bun run format |
Format only (no linting) |
Pull Request Process¶
- Create a feature branch from
main:
-
Make your changes -- keep commits focused and incremental.
-
Ensure Biome passes:
- Run tests (server):
Run this from apps/server, or use the root workspace script if available.
-
Commit with a clear message that describes what changed and why.
-
Push and open a PR against
main:
- Describe your changes in the PR description -- what problem does it solve, how to test it, and any trade-offs you made.
PRs are reviewed by maintainers from the Supporterino GitHub org. Please be patient and responsive to feedback.