# recit personal productivity system backed by [recfiles](https://en.wikipedia.org/wiki/Recfiles) # dependencies * [recutils](https://www.gnu.org/software/recutils/) (`brew install recutils`) * uuidgen (included with most systems) * any perl (included with most systems) # Use Cases You can use `recit` to track things like: * What needs to be done today? * What did you do yesterday? * What did you talk about in that 1:1 a few weeks ago? * Where did you leave off on that project you started last year? * What did you do last year? # Usage Usage: recit [] Some useful recit commands are: add-entry Add entries, optionally for a project and/or a certain time add-project Add Project commands List all recit commands edit Open DB in $EDITOR edit-entry Edit an entry given its UUID entries Display entries, optionally for a project and/or a certain time projects List all Projects setup sets up a new recit database at $HOME/.recit.rec today Show all entries for today tomorrow Show all entries for tomorrow See 'recit help ' for information on a specific command. # Installation Download the [latest release](https://git.capotej.com/capotej/recit/releases) (or clone this repository) and follow the instructions displayed when running `bin/recit init` from the root directory. # Getting started Once installed, run `recit setup` to create your database at `$HOME/.recit.rec`. # Entries Entries are the core of recit, they represent a timestampped entry with a message. Optionally, an entry can be associated to a particular Project. ## Adding entries There are several ways to add entries. The simplest takes no arguments, like so: recit add-entry This creates an entry for the current time, populated by contents from your configured $EDITOR. You can add an entry for a future (or past) time by using the `-t` flag, like so: recit add-entry -t tomorrow This creates an entry for tomorrow, populated by contents from your configured $EDITOR. You can also pass an absolute date like `2022-07-22` or `2022-04-01 4:00PM`. If you just want to pass a quick message on the command line, you can use the `-m` argument: recit add-entry -t tomorrow -m "pick up dry cleaning" ## Viewing entries You can view all entries by running: recit entries Or, just entries for yesterday, today or tomorrow: recit tomorrow recit today recit yesterday Or, entries for a particular day: recit entries -t 2022-07-02 ## Editing entries You'll notice that `recit add-entry` returns a UUID. You can edit the entry for that UUID like so: recit edit-entry 9C66BB1A-545C-4FA6-B83E-5730CE53E44D # Projects Projects can be tracked with recit and you can view or create entries associated with them. ## Creating a project You create a project like so (spaces not allowed): recit add-project -n "my-project" ## Viewing projects You can view all projects like so: recit projects ## Adding entries for a Project You can pass `-p` to `recit add-entry` to associate that entry with a project, like so: recit add-entry -p my-project -m "wrote tech spec" If you try to pass a project to `-p` that doesn't exist, you will get an error. ## View entries for a Project You can also pass `-p` to `recit entries` to view all entries for that project. Similarly, this will throw an error if project does not exist. recit entries -p "my-project" # Schema You can view the latest schema at [share/recit/recit.example.rec](https://git.capotej.com/capotej/recit/src/branch/main/share/recit/recit.example.rec)