aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 1281634d1fa0df45ea5c3409b52151d870bce5df (plain)
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)