You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Etu is a simple journaling tool that uses Notion as a database.
7
+
Etu is a simple journaling tool that talks to the [etu-backend](https://github.com/icco/etu-backend) API over gRPC (default: `grpc.etu.natwelch.com`).
8
8
9
9
It should be noted the main goal of Etu is to write interstitial journals. See https://betterhumans.pub/replace-your-to-do-list-with-interstitial-journaling-to-increase-productivity-4e43109d15ef for more on this topic.
10
10
@@ -19,23 +19,29 @@ brew install etu
19
19
20
20
### Local Build
21
21
22
-
Build Dependencies:
22
+
**Dependencies:** Go 1.25 or later, [Task](https://taskfile.dev/) (optional).
23
23
24
-
- Go 1.25 or later
25
-
-https://taskfile.dev/
24
+
1.`git clone` the repo
25
+
2.`task build` (or `go build -o etu .`)
26
+
3. Run `./etu`
26
27
27
-
Build
28
+
## Usage
28
29
29
-
1. git clone code
30
-
1.`task build`
31
-
1.`./etu`
30
+
Before running you need an API key for the etu-backend. You can:
32
31
33
-
## Usage
32
+
1. Put your API key in `~/.config/etu/config.json` with keys `api_key` and optionally `grpc_target` (default: `grpc.etu.natwelch.com:443`), or
33
+
2. Set the `ETU_API_KEY` environment variable (and optionally `ETU_GRPC_TARGET`).
34
+
35
+
Example config file:
34
36
35
-
Before running you need to set `NOTION_KEY`. Optionally, you can set `OPENAI_API_KEY` to enable automatic tag generation.
37
+
```json
38
+
{
39
+
"api_key": "your-64-char-hex-api-key",
40
+
"grpc_target": "grpc.etu.natwelch.com:443"
41
+
}
42
+
```
36
43
37
-
- To get a Notion key go to https://www.notion.so/profile/integrations
38
-
- To get an OpenAI key (optional) go to https://platform.openai.com/api-keys
44
+
Config and the "time since last post" cache live under `~/.config/etu/`. Tag generation and storage are handled by the backend; see [etu-backend](https://github.com/icco/etu-backend) for setup.
39
45
40
46
```
41
47
$ etu
@@ -46,7 +52,7 @@ Usage:
46
52
etu [command]
47
53
48
54
Available Commands:
49
-
create Create a new journal entry. If no date provided, current time will be used.
55
+
create Create a new journal entry (attach images via drag & drop in TUI or -i/--image).
50
56
delete Delete a journal entry.
51
57
help Help about any command
52
58
last Output a string of time since last post.
@@ -63,7 +69,7 @@ Use "etu [command] --help" for more information about a command.
63
69
64
70
## Inspiration
65
71
66
-
Etu is [the personifcation of time](https://en.wikipedia.org/wiki/Time_and_fate_deities) according to the [Lakota](https://en.wikipedia.org/wiki/Lakota_people).
72
+
Etu is [the personification of time](https://en.wikipedia.org/wiki/Time_and_fate_deities) according to the [Lakota](https://en.wikipedia.org/wiki/Lakota_people).
67
73
68
74
Etu is inspired heavily by the work of @neauoire at [wiki.xxiivv.com](https://wiki.xxiivv.com/#about), [Time Travelers](https://github.com/merveilles/Time-Travelers), and the screenshots in the [inspiration](https://github.com/icco/etu/tree/main/inspiration) folder.
69
75
@@ -75,8 +81,4 @@ Other projects that inspired me:
75
81
76
82
## History
77
83
78
-
I've rewritten this aproximately seven times. Originally I made this to be a location based blogging app. Then it turned into a time tracking app. Then into a wiki. Then another time tracking app. Then a journaling tool. First with Charm as a DB, then with SQLite, then with Notion.
79
-
80
-
## Future
81
-
82
-
I've been thinking about making the AI and the backend pluggable. If you have ideas on how to do that, open a ticket and ping @icco.
84
+
I've rewritten this approximately seven times. Originally a location-based blogging app, then time tracking, wiki, journaling. Backends: Charm, SQLite, Notion, and now the [etu-backend](https://github.com/icco/etu-backend) gRPC API.
0 commit comments