# genee [![Crates.io](https://img.shields.io/crates/v/genee.svg)](https://crates.io/crates/genee) [![Docs.rs](https://docs.rs/genee/badge.svg)](https://docs.rs/genee) [![CI](https://github.com/mfep/genee/workflows/CI/badge.svg)](https://github.com/mfep/genee/actions) genee is a simple habit tracker program for the command line ## Features - Daily tracking of habits 📅 - Open storage format: SQLite database 📄 - Pretty diagrams to compare successive periods of habit data 📊 - Store default settings persistently 💾 ## Workflow 1. Figure out the list of habits to track. In this example, we would like to restrict our gaming binges and increase the frequency of our piano exercise sessions. `GAM` stands for gaming, whereas `PNO` stands for the instrumental practice. 2. Download the [latest release](https://github.com/mfep/genee/releases/latest) from this repository. 3. Using the downloaded executable, create a new data file to store the diary data. Specify the list of habit abbreviations to use in this file: `genee new GAM,PNO` 4. Each day, fill in whether you practiced the particular habits the previous day or not. Run `genee` which opens an interactive terminal interface. Habit data for each day can be added and edited, and various statistics are shown. ### Screenshot ![A screenshot of the main genee interface](./docs/screenshot.png) ## Full helptext ``` genee X.Y.Z A habit tracker app with command-line interface USAGE: genee [OPTIONS] [SUBCOMMAND] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -d, --datafile Path to the diary file. When not provided, its value is loaded from persistent configuration file -f, --list-most-frequent-days Specifies the number of most frequent daily habit compositions over the specified period -p, --past-periods Specifies the number of displayed periods when graphing the diary data. When not provided, its value is loaded from persistent configuration file SUBCOMMANDS: add-category Adds or unhides a category help Prints this message or the help of the given subcommand(s) hide-category Hides a category list-config Prints the persistent configuration new Provide a comma separated list of habit categories. A new diary file is created at the specified --datafile path save-config Saves the specified options to persistent configuration ``` ## Building genee builds with the standard Rust toolchain: ``` git clone https://github.com/mfep/genee.git cd genee cargo build --release ``` ## Contribution See [CONTRIBUTING.md](CONTRIBUTING.md).