Contributor Guide

This doc is intended to become a focussed guide for new contributors.

If you are unexpectedly seeing this page after following a link, the content probably moved to a separate page: see the Developer docs.

Chat, Mail, Twitter, HN etc.
hledger-web demo
hledger GHCJS demo
Trelloold wishlist planning board
Githubsimonmichael/hledger (shortcut:
commits, COMMITS!
open bugs, open wishes, open unknowns, open pull requests, draft open pull requests, ready open pull requests, all issues
issues with bounty tag, bountysource bounties, codemill bounties, codefund bounties our rank among starred haskell projects:
2016: #71, 2017: #54, 2018: #53, 2020: #36, 2022: #34
Hackagepackages: hledger-lib, hledger, hledger-ui, hledger-web, hledger-diff, hledger-iadd, hledger-interest, hledger-irr, *hledger*
diffs: hledger-lib, hledger, hledger-ui, hledger-web
build status: hledger-lib, hledger, hledger-ui, hledger-web
reverse deps: hledger-lib, hledger, hledger-ui, hledger-web
on hackage
... ...
... ...
open hledger-related issues
packages: hledger-lib, hledger, hledger-ui, hledger-web
versions: hledger-lib, hledger, hledger-ui, hledger-web
Repologyquick hledger packaging status, detailed hledger packaging status, all *hledger* packages
Debiansource packages: haskell-hledger-lib, bugs, haskell-hledger, bugs, haskell-hledger-ui, bugs, haskell-hledger-web, bugs
stable: hledger, bugs, hledger-ui, bugs, hledger-web, bugs
testing: hledger, bugs, hledger-ui, bugs, hledger-web, bugs
unstable: hledger, bugs, hledger-ui, bugs, hledger-web, bugs
all: *hledger*
popcon sampled install stats: haskell-hledger, hledger, hledger-ui, hledger-web
Ubuntusource packages: haskell-hledger-lib, bugs, haskell-hledger, bugs, haskell-hledger-ui, bugs, haskell-hledger-web, bugs
binary packages: *hledger*
Gentoohledger, hledger-web, *hledger*
Fedorahledger, *hledger*, hledger (package db), Haskell SIG
Void Linuxpackage search -> hledger
our 1-year homebrew rank:
2020: #1520 of 10000 on mac, #762 of 8288 on linux
Sandstormhledger web app & reviews, issues
Referencefosskers GHC compatibility chart

Open issues

An overview of hledger's issue tracker. A good place to start looking for something to work on.

allbugs (first/easy/neither)wishesPRsother
install ( (first/easy/neither)wishesPRsother
cli (hledger)bugs (first/easy/neither)wishesPRsother
ui (hledger-ui)bugs (first/easy/neither)wishesPRsother
web (hledger-web)bugs (first/easy/neither)wishesPRsother
Input/Output Formats:
journalbugs (first/easy/neither)wishesPRsother
timeclockbugs (first/easy/neither)wishesPRsother
timedotbugs (first/easy/neither)wishesPRsother
csvbugs (first/easy/neither)wishesPRsother
jsonbugs (first/easy/neither)wishesPRsother
htmlbugs (first/easy/neither)wishesPRsother
accountsbugs (first/easy/neither)wishesPRsother
activitybugs (first/easy/neither)wishesPRsother
addbugs (first/easy/neither)wishesPRsother
balcmds (bal/bs/bse/cf/is/...)bugs (first/easy/neither)wishesPRsother
balancebugs (first/easy/neither)wishesPRsother
balancesheetbugs (first/easy/neither)wishesPRsother
cashflowbugs (first/easy/neither)wishesPRsother
checkdatesbugs (first/easy/neither)wishesPRsother
checkdupesbugs (first/easy/neither)wishesPRsother
closebugs (first/easy/neither)wishesPRsother
importbugs (first/easy/neither)wishesPRsother
incomestatementbugs (first/easy/neither)wishesPRsother
pricesbugs (first/easy/neither)wishesPRsother
printbugs (first/easy/neither)wishesPRsother
printuniquebugs (first/easy/neither)wishesPRsother
registerbugs (first/easy/neither)wishesPRsother
registermatchbugs (first/easy/neither)wishesPRsother
rewritebugs (first/easy/neither)wishesPRsother
roibugs (first/easy/neither)wishesPRsother
statsbugs (first/easy/neither)wishesPRsother
tagsbugs (first/easy/neither)wishesPRsother
budget (budgeting)bugs (first/easy/neither)wishesPRsother
packaging (packaging, dependencies)bugs (first/easy/neither)wishesPRsother
doc (documentation, help)bugs (first/easy/neither)wishesPRsother
periodexpressions (-b, -e, -p, date:)bugs (first/easy/neither)wishesPRsother
site (website, web presence)bugs (first/easy/neither)wishesPRsother
tools (dev tools, infrastructure)  bugs (first/easy/neither)wishesPRsother

About the project


Why was hledger created ?


  • to provide a more usable, robust, documented, cross-platform-installable version of Ledger for users
  • to provide a more maintainable and hackable version of Ledger for developers


  • to provide a useful library and toolbox for finance-minded haskell programmers
  • to explore the suitability of Haskell for such applications
  • to experiment with building a successful time-and-money-solvent project in a thriving ecosystem of financial software projects

What is the hledger project's current mission ?

  1. Provide peace of mind: bring clarity, relief, and peace of mind to folks stressed, confused, overwhelmed by finances.
  2. Educate and empower: help individuals and communities achieve clarity, accountability and mastery with money and time.

Roles and activities

  • newcomer/potential user
  • user
  • library user
  • field tester
  • bug wrangler
  • support
  • documentor
  • qa
  • developer
  • packager
  • communicator
  • project manager

Getting started

New contributors are always welcome in the hledger project. Jump in! Or ask us to help you find a task.


Become a financial backer to sustain and grow this project, increase your influence, express gratitude, build prosperity consciousness, and help transform world finance!

  • Use the donate links on the home page
  • Configure a recurring donation
  • Contribute or pledge bounties on issues you care about
  • Ask your organization to contribute
  • Work on project sustainability, accountability, fundraising


  • Test installation on platforms you have access to
  • Test examples, advice, and links in the docs
  • Run the latest release or developer build in daily use
  • Run tests
  • Run benchmarks
  • Report packaging, documentation, UX, functional, performance issues
  • Report and help analyse problems via irc/mail list/bug tracker

When reporting bugs, don't forget to search the tracker for a similar bug report. Otherwise, open a new bug by clicking "New issue", or

Enhancement requests are sometimes added to the tracker,but for these consider using the IRC channel and mail list (see Getting help). Both are archived and linkable, so the idea won't be lost. There is also a collection of wishes at the old trello board.

Technical Writer

  • get familiar with the website and documentation online, review and test
  • get familiar with the site/doc source files (see Shake.hs)
  • get the latest hledger source
  • send patches with names prefixed with "doc: " (or "site: ")

Graphics Designer

  • more/better logos & graphics
  • illustrations and diagrams
  • web design mockups for home page, site, hledger-web UI


Marketing and market understanding is vital.

  • clarify project goals, value proposition, brand, mission, story
  • monitor product-market fit
  • identify new opportunities
  • influence developer priorities
  • spread the word!


Help with issue management

  • watch tracker activity, report status
  • apply/update labels where needed
  • follow up on dormant issues
  • facilitate a consistently good bug-reporting & PR-contributing experience

Help with packaging

  • package hledger for linux distros, macports, etc.
  • develop mac/windows installers
  • find and assist distro packagers/installer developers

Help with project management

  • clarify/update goals and principles
  • monitor, report on project progress and performance
  • research, compare and report on successful projects, related projects
  • identify collaboration opportunities
  • marketing, communication, outreach
  • release management, roadmap planning


See Developer workflows.