| title | Finance Guru setup |
|---|---|
| description | Install the supported local analysis environment |
| category | setup |
This guide installs the checked-in Python and Bun workspaces. The supported
data store is the local family_office.db, committed only to the instance's
local-only repository; Google Sheets is not a data source and no Google Drive
integration is required.
The Claude Code plugin is not required to run the Python analysis engine from a shell.
Clone your fork, then install the development dependency group:
git clone https://github.com/YOUR-USERNAME/Finance-Guru.git
cd Finance-Guru
uv sync --devThe legacy ./setup.sh scaffolds private-profile files and points to an
unfinished onboarding flow. It is not part of the supported analysis-engine
setup path.
Private data lives in an instance directory outside the checkout. The engine
resolves it from FIN_GURU_DATA_ROOT or the current working directory. Create
one from the checkout:
uv run python -m src.cli.instance_init ~/finance-guru-data --repo .The instance is a small uv project that depends on the engine, so
uv run python -m src.<tool> works from inside it with no extra flags. Run
Finance Guru sessions and sync commands from the instance directory.
For the SimpleFIN workspace, install its Bun dependencies from that workspace:
(
cd apps/simplefin-sync
bun install
)These checks do not require credentials. The first command verifies the Python environment; the second confirms an installed CLI can parse its arguments.
uv run pytest -m "not integration"
uv run python src/analysis/risk_metrics_cli.py --helpThe instance scaffold writes an .env in the instance root that keeps real
defaults and comments out credentials for you to fill in. Uncomment a variable
only when you need an optional provider or a personal integration. Do not commit
any .env file.
See API keys for the variables consumed by the supported integrations and the live sync credentials guide for SnapTrade and SimpleFIN. Keep account exports, API keys, and database files out of the public engine checkout. The database is committed only to the instance's local-only repository, which has no remote.
Run the all-source refresh from the instance directory:
uv run python -m src.integrations.refresh_all --showRun without --show to execute the configured SnapTrade positions and
transactions sync plus the SimpleFIN expenses sync. A partial refresh exits
non-zero, so automation can detect a stale source.
- Use the CLI reference to choose an analysis command.
- Read Troubleshooting for environment and provider failures.
- Read Contributing before changing repository code.
- Use the GitHub Wiki for the canonical user and developer guide once it is published; repository docs remain the source, contributor, and operational reference.