Contribute
The source is the product. Here is how to work on it.
Build it
git clone https://github.com/dohflow/dohflow.git
cd dohflow
pnpm install
pnpm tauri dev
Rust, Node and pnpm are needed. Exact versions are in the README.
Before a big change, open an issue
Small fixes — a bug, a typo, a test — just send a pull request. For anything larger, open an issue first. The project has strong opinions recorded as architecture decision records in docs/adr/, and it is frustrating to write a feature that conflicts with one you had no reason to know about.
What this project cares about
- Correctness over speed, in money code. A wrong balance is worse than a slow one. The ledger is double-entry with database-side invariants and it stays that way.
- Nothing phones home. A pull request adding analytics, crash reporting or any unrequested network call will be declined regardless of how it is configured.
- Explain the reasoning, not the code. Comments should say why, since what is already visible.
- Tests that could actually fail. A test that passes against a broken implementation is worse than none.
Contributor license agreement
Contributions are accepted under a CLA, signed once with a click on your first pull request. It exists so a hosted version could eventually include contributed code — this app stays AGPL-3.0 regardless. You keep copyright in what you write.
The name and the logo
Both are outside the AGPL — the code license does not cover them. See TRADEMARK.md for what you can and cannot do with the DohFlow name and logo; it is short and is not trying to trap you.