Query all your bills and accounts to check on your financial statements. Check for statements that you've downloaded from your bank, service provider, or other company that issues regular statements.
On Windows, Linux, or macOS, install with Cargo.
cargo install --git https://github.com/jrhawley/quill.git
> quill -h
Query all your bills and accounts to check on your financial statements.
USAGE:
quill [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config <CONF> The statement configuration file
See this blog post for details about the motivation and design implementation of Quill.
A configuration file will automatically be loaded from your user's application settings, if one exists.
Quill uses the dirs
crate to achieve this, which follows the expected conventions in each operating system.
Operating system | Configuration location |
---|---|
macOS | $HOME/Library/Application Support/quill/config.toml |
Linux | $HOME/.config/quill/config.toml |
Windows | C:\\Users\\<User>\\AppData\\Roaming\\quill\\config.toml |
An example configuration file can be found in examples/
.
In 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.
Example ignore files can be found in examples/
.
Quill is designed to work on Windows, macOS, and Linux operating systems.
To compile binaries for each of these systems, we make use of cargo-make
.
To build a release version, run:
# for the OS you're working on
cargo make build-release
# for a specific OS
cargo make build-release-windows
cargo make build-release-macos
cargo make build-release-linux
# for all OS's
cargo make build-release-all
To create a tag and a release on GitHub, we make use of the GitHub CLI.
# for the OS you're working on
cargo make release
# for a specific OS
cargo make release-windows
cargo make release-macos
cargo make release-linux
# for all OS's
cargo make release-all
We generally follow the testing ideas in The Rust Programming Language Book.
To run tests quickly and concisely, we make use of cargo-nextest
.
# run all tests
cargo nextest run