Skip to content

Contributing

Treeline is open source and we’d love your help.

The best way to contribute is to build a plugin. Plugins extend Treeline without touching core code - if you have an idea for something Treeline doesn’t do yet, a plugin is the way to make it happen.

See Creating Plugins to get started. When your plugin is ready, open a PR to add it to plugins.json and we’ll add it to the community catalog.

  • Report bugs - Open an issue when something breaks
  • Fix bugs - Browse issues and submit a PR
  • Improve docs - Typos, unclear explanations, missing examples
  • Answer questions - Help others in Discord

Want to work on the desktop app, CLI, or core library? Here’s how to get running.

Rust - Install via rustup:

Terminal window
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Node.js 18+ - We recommend fnm:

Terminal window
fnm install 20
fnm use 20

Platform dependencies:

Terminal window
xcode-select --install
Terminal window
git clone https://github.com/treeline-money/treeline.git
cd treeline/desktop
npm install
npm run tauri:dev

That’s it. The app starts with hot reloading - frontend changes reload automatically, backend changes need a restart.

To build the CLI instead:

Terminal window
cd treeline
cargo build --release
./target/release/tl --version

Isolate dev data - Keep your real data safe by using a separate directory:

Terminal window
export TREELINE_DIR=~/.treeline-dev

Demo mode - Test with sample data:

Terminal window
./target/release/tl demo on

Run tests:

Terminal window
cargo test

The best way to get help is to join Discord and post in #feedback. For bugs, you can also open an issue on GitHub.

Thanks for being part of Treeline.