# Project pack: Fava @ b89d5f5 Facts about **Fava** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > Fava is the browser front end for Beancount, a plain-text accounting system. You keep your money records in a text file, and Fava turns it into balance sheets, income statements, budgets, charts and a searchable journal. Your books are plain files you can version and keep forever. ## Setup path (checked 2026-11-03) - **Start here, no Docker:** Install it with its language package manager. No Docker. - Offer Docker only if the person asks or this path fails. The commands further down may use Docker; they are not the starting point. - Verdict source: https://beancount.github.io/fava/usage.html - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/beancount/fava - Pinned commit: `b89d5f5e58bad7d8c84523946d4c41dd94f3765c`. Use exactly this version. - Zip the person can download in a browser: https://github.com/beancount/fava/archive/b89d5f5e58bad7d8c84523946d4c41dd94f3765c.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Official docs: https://beancount.github.io/fava/usage.html - Live demo: https://fava.pythonanywhere.com/example-with-budgets/income_statement/. Read-only example ledger. No real data. - Licence: **MIT**. Free to use, change and share, even commercially. Keep the original copyright notice. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/beancount/fava bespoke-fava cd bespoke-fava git checkout --detach b89d5f5e58bad7d8c84523946d4c41dd94f3765c # Prepare development requirements and local configuration first. python3 -m venv .venv . .venv/bin/activate pip install -e . make -C frontend install fava src/fava/help/example.beancount ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh pip install fava fava path/to/your-ledger.beancount # then open http://localhost:5000 ``` - Tools these commands use: Python 3.10+; Node for front-end development - Develop: `fava src/fava/help/example.beancount` - Test: `make test` - Check/lint: `make lint` - Stack: python, typescript, svelte (Flask, Svelte, Beancount). Difficulty for a non-developer with an AI: **moderate**. A Python web app with a Svelte front end. Most personal changes are Beancount settings, reports and Fava extensions, not forks. Learning Beancount itself is the bigger hill. Personal data: **yes**. Stored in: Your Beancount ledger files and any attached documents on disk. Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/fava/b89d5f5/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/fava/b89d5f5/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/fava/b89d5f5/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/fava/b89d5f5/r3/SKILL.md)