{"id":28789559,"url":"https://github.com/jrhawley/quill","last_synced_at":"2025-07-12T12:02:00.173Z","repository":{"id":64647660,"uuid":"295900863","full_name":"jrhawley/quill","owner":"jrhawley","description":"Query bills and accounts to check on your financial statements.","archived":false,"fork":false,"pushed_at":"2023-11-28T21:43:54.000Z","size":1120,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-17T22:11:30.648Z","etag":null,"topics":["bills","cli","finances","financial-data","financial-statements","statements","tui"],"latest_commit_sha":null,"homepage":"https://jrhawley.ca/2020/09/19/financial-statements-quill","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrhawley.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2020-09-16T02:21:35.000Z","updated_at":"2024-09-05T14:20:25.000Z","dependencies_parsed_at":"2025-06-17T22:11:26.686Z","dependency_job_id":"625a1d9c-635f-4a4a-b877-13ce8ef3381a","html_url":"https://github.com/jrhawley/quill","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/jrhawley/quill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrhawley%2Fquill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrhawley%2Fquill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrhawley%2Fquill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrhawley%2Fquill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrhawley","download_url":"https://codeload.github.com/jrhawley/quill/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrhawley%2Fquill/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264986971,"owners_count":23693739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","cli","finances","financial-data","financial-statements","statements","tui"],"created_at":"2025-06-17T22:11:03.192Z","updated_at":"2025-07-12T12:02:00.163Z","avatar_url":"https://github.com/jrhawley.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quill\r\n\r\nQuery all your bills and accounts to check on your financial statements.\r\nCheck for statements that you've downloaded from your bank, service provider, or other company that issues regular statements.\r\n\r\n![TUI demo](examples/demo.gif)\r\n\r\n## Installation\r\n\r\nOn Windows, Linux, or macOS, install with [Cargo](https://doc.rust-lang.org/cargo/).\r\n\r\n```shell\r\ncargo install --git https://github.com/jrhawley/quill.git\r\n```\r\n\r\n## Usage\r\n\r\n```shell\r\n\u003e quill -h\r\nQuery all your bills and accounts to check on your financial statements.\r\n\r\nUSAGE:\r\n    quill [OPTIONS]\r\n\r\nFLAGS:\r\n    -h, --help       Prints help information\r\n    -V, --version    Prints version information\r\n\r\nOPTIONS:\r\n    -c, --config \u003cCONF\u003e    The statement configuration file\r\n```\r\n\r\n## How it works\r\n\r\nSee [this blog post](https://jrhawley.github.io/2020/09/19/financial-statements-quill) for details about the motivation and design implementation of Quill.\r\n\r\n## Features\r\n\r\n### Customized configuration\r\n\r\nA configuration file will automatically be loaded from your user's application settings, if one exists.\r\nQuill uses the [`dirs`](https://docs.rs/dirs/latest/dirs/) crate to achieve this, which follows the [expected conventions](https://docs.rs/dirs/latest/dirs/fn.config_dir.html) in each operating system.\r\n\r\n| Operating system | Configuration location                                    |\r\n| ---------------- | --------------------------------------------------------- |\r\n| macOS            | `$HOME/Library/Application Support/quill/config.toml`     |\r\n| Linux            | `$HOME/.config/quill/config.toml`                         |\r\n| Windows          | `C:\\\\Users\\\\\u003cUser\u003e\\\\AppData\\\\Roaming\\\\quill\\\\config.toml` |\r\n\r\nAn example configuration file can be found in [`examples/`](examples/config.toml).\r\n\r\n### Ignore statements\r\n\r\nIn the directory for an account whose statements you're checking, you can include a `.quillignore.toml` file with an array of dates and/or file names.\r\nExample ignore files can be found in [`examples/`](examples/).\r\n\r\n## Development\r\n\r\n### Compilation\r\n\r\nQuill is designed to work on Windows, macOS, and Linux operating systems.\r\nTo compile binaries for each of these systems, we make use of [`cargo-make`](https://sagiegurari.github.io/cargo-make/).\r\n\r\nTo build a release version, run:\r\n\r\n```shell\r\n# for the OS you're working on\r\ncargo make build-release\r\n\r\n# for a specific OS\r\ncargo make build-release-windows\r\ncargo make build-release-macos\r\ncargo make build-release-linux\r\n\r\n# for all OS's\r\ncargo make build-release-all\r\n```\r\n\r\nTo create a tag and a release on GitHub, we make use of the [GitHub CLI](https://cli.github.com/).\r\n\r\n```shell\r\n# for the OS you're working on\r\ncargo make release\r\n\r\n# for a specific OS\r\ncargo make release-windows\r\ncargo make release-macos\r\ncargo make release-linux\r\n\r\n# for all OS's\r\ncargo make release-all\r\n```\r\n\r\n### Testing\r\n\r\nWe generally follow the testing ideas in [The Rust Programming Language Book](https://doc.rust-lang.org/stable/book/ch11-00-testing.html).\r\nTo run tests quickly and concisely, we make use of [`cargo-nextest`](https://nexte.st/).\r\n\r\n```shell\r\n# run all tests\r\ncargo nextest run\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrhawley%2Fquill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrhawley%2Fquill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrhawley%2Fquill/lists"}