Contributing
Treeline is open source and we’d love your help.
Build a Plugin
Section titled “Build a Plugin”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.
Other Ways to Help
Section titled “Other Ways to Help”- 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
Development Setup
Section titled “Development Setup”Want to work on the desktop app, CLI, or core library? Here’s how to get running.
Prerequisites
Section titled “Prerequisites”Rust - Install via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shNode.js 18+ - We recommend fnm:
fnm install 20fnm use 20Platform dependencies:
xcode-select --installsudo apt updatesudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-devInstall Visual Studio C++ Build Tools with the “Desktop development with C++” workload.
Clone and Run
Section titled “Clone and Run”git clone https://github.com/treeline-money/treeline.gitcd treeline/desktopnpm installnpm run tauri:devThat’s it. The app starts with hot reloading - frontend changes reload automatically, backend changes need a restart.
To build the CLI instead:
cd treelinecargo build --release./target/release/tl --versionIsolate dev data - Keep your real data safe by using a separate directory:
export TREELINE_DIR=~/.treeline-devDemo mode - Test with sample data:
./target/release/tl demo onRun tests:
cargo testQuestions?
Section titled “Questions?”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.