{"id":19189914,"url":"https://github.com/charles-m-knox/finance-planner-tui","last_synced_at":"2026-06-19T19:01:46.264Z","repository":{"id":256305016,"uuid":"854258260","full_name":"charles-m-knox/finance-planner-tui","owner":"charles-m-knox","description":" Define recurring bills \u0026 income, and get a fairly accurate prediction of where your finances will be in the future. ","archived":false,"fork":false,"pushed_at":"2025-04-11T23:30:10.000Z","size":670,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T23:33:38.321Z","etag":null,"topics":["bills","finance","finance-planner","finances","go","golang","recurring","subscriptions","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/charles-m-knox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-08T19:36:56.000Z","updated_at":"2025-04-11T23:25:57.000Z","dependencies_parsed_at":"2024-09-10T04:15:16.079Z","dependency_job_id":"9084556e-d02e-4d22-9b10-0574cee78006","html_url":"https://github.com/charles-m-knox/finance-planner-tui","commit_stats":null,"previous_names":["charles-m-knox/finance-planner-tui"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/charles-m-knox/finance-planner-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-m-knox%2Ffinance-planner-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-m-knox%2Ffinance-planner-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-m-knox%2Ffinance-planner-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-m-knox%2Ffinance-planner-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/charles-m-knox","download_url":"https://codeload.github.com/charles-m-knox/finance-planner-tui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charles-m-knox%2Ffinance-planner-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34544413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bills","finance","finance-planner","finances","go","golang","recurring","subscriptions","tui"],"created_at":"2024-11-09T11:32:17.267Z","updated_at":"2026-06-19T19:01:46.259Z","avatar_url":"https://github.com/charles-m-knox.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# finance-planner-tui\n\nDefine recurring bills \u0026 income, and get a fairly accurate prediction of where\nyour finances will be in the future.\n\nThis is a terminal user interface-based application (TUI).\n\n## Screenshots\n\n![A screenshot of the Help page](./screenshots/help.png)\n![A screenshot of the Profiles and Transactions page](./screenshots/profiles.png)\n![A screenshot of the Results page](./screenshots/results.png)\n\n## Installation\n\nFirst, install Go - this varies based on your OS. Make sure your `$PATH`\nincludes `go env | grep GOBIN`.\n\nThen, use `go install`:\n\n```bash\nCGO_ENABLED=0 go install -ldflags=\"-w -s -buildid= -X main.version=0.1.3\" -trimpath github.com/charles-m-knox/finance-planner-tui@latest\n```\n\nThen just run\n\n```bash\nfinance-planner-tui config.yml\n```\n\nNote that if you are running this e.g. inside a Docker container or a limited\nshell, your `TERM` environment variable may restrict the number of colors that\nFinance Planner TUI can use. Consider setting it to something like\n`TERM=tmux-256color`:\n\n```bash\nTERM=tmux-256color finance-planner-tui\n```\n\n## Features\n\n- uses a simple `yml` configuration format for files\n- minimal resource usage footprint (measured around 10-20MB memory usage on\n  Linux)\n- sensible default keybindings\n- translation support (currently only `en_US.UTF-8` implemented but other\n  languages can create new files under `translations/*.yml`)\n- custom color support\n\n## Usage \u0026 information\n\nThe following sections are basically just copy/pasted from the Help (F1 or `?`)\npage in the application itself. It is better to view it there.\n\n### Profiles\n\nProfiles are shown on the left-hand side of the Profiles \u0026 Transactions page.\n\n- You may need to use the `\u003ctab\u003e` key to get to them.\n- You can duplicate and rename profiles.\n- Each profile must have a unique name. Duplicate names will be refused.\n\nYou can create multiple profiles to fulfill any purpose, such as:\n\n- modeling a change in your financial plans (removing subscriptions,\n    hypotheticals, etc)\n- adding multiple family members\n\n### Transactions\n\nA transaction is a recurring expense or income:\n\n- If the transaction earns money, it is prefixed with a + (plus) sign.\n- All transactions are assumed to be negative by default.\n\nEach transaction has the following fields:\n\n- **Amount**: This is a positive or negative value as described above.\n- **Active**: This is a boolean value that determines whether the transaction\n  should be included in calculations. This is useful for temporarily making\n  changes without destroying anything.\n- **Name**: This is the human-readable name of the transaction for your eyes.\n- **Frequency**: Transactions can occur MONTHLY, WEEKLY, or YEARLY.\n  This value must be exactly one of those three strings, but an auto-\n  complete is provided to make it quicker.\n- **Interval**:  The transaction occurs every `\u003cinterval\u003e` WEEKS/MONTHS/YEARS.\n- `\u003cWeekday\u003e`: The transaction only occurs on the checked days of the week, and\n  will not occur if the defined recurrence pattern does not land on\n  one of these days.\n- **Starts**: This is the starting date for the transaction's recurrence\n  pattern. It is defined as YYYY-MM-DD.\n\n  For simplicity when working with dates at the end of the month,\n  you may want to consider putting setting the day value to 28, as\n  some recurrence patterns may skip a 31.\n\n  Months range from 1-12, and days range from 1-31.\n  Years must be any positive value, and can be 0.\n- **Ends**: This is the last acceptable date for recurrence. Behavior is the\n exact same as the Starts field.\n- **Note**: A human-readable field for you to put arbitrary notes in.\n\n### Results\n\nThe results page allows you to see a projection of your finances into the\nfuture. It shows the following:\n\n- A form on the left containing start \u0026 end dates, and the starting balance\nfor the projection to start with\n- A table containing one day per row, with each of the transactions that\noccurred on that day, as well as other numbers such as the total expenses,\nrunning balance since the first day of the projection, etc.\n\nThe same hotkey that opens the results page can be pressed multiple times to\nre-submit the results form and will also show some useful statistics about\nyour finances.\n\n## Keybindings\n\nPress F1 while in the application or `?` and use the up/down keys to view the\nkeybindings that are activated \u0026 defaults. Note that F1 and `?` keybindings can\nbe changed.\n\n## Wish/todo/broken list\n\n- when sorting, the LastSelectedIndex does not seem to work\n- fix no sorting for Note column\n- weekday sorting only sorts for Monday\n- when hitting Enter on a row, if there are other things selected, also select this row\n- change all refs to c.Reset to tcell.ColorReset\n- allow disabling mouse support so that things can be copied (config property,\n  or even through a shortcut?)\n- `ctrl+F` and `/` for search\n- Home and End keys should navigate to the top left \u0026 bottom right columns when\n  already at the leftmost column/row\n- remind users that the Tab key is used for navigating through the results form\n- update help file to show actual keybindings\n- fix issue on mac with showing black on black in results page\n\n## Warnings/disclaimers\n\n- The stability of this software is increasing as time goes on, but you should\n  make reasonable efforts to double check the output of this program.\n- As with many of my personal projects, the code in this project contains a lot\n  of experimental approaches to writing software that I might not otherwise have\n  taken in a professional/serious environment. Please do not judge it in that\n  regard.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharles-m-knox%2Ffinance-planner-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharles-m-knox%2Ffinance-planner-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharles-m-knox%2Ffinance-planner-tui/lists"}