1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# 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 <command> [<args>]
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 <command>' 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)
|