etu

command module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2026 License: MIT Imports: 20 Imported by: 0

README

Etu

Go Report Card Go Reference

Etu is a simple journaling tool that talks to the etu-backend API over gRPC (default: grpc.etu.timeclimbers.com).

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.

Installation

Homebrew
brew tap icco/tap
brew install etu
Local Build

Dependencies: Go 1.25 or later, Task (optional).

  1. git clone the repo
  2. task build (or go build -o etu .)
  3. Run ./etu

Usage

Before running you need an API key for the etu-backend. You can:

  1. Put your API key in ~/.config/etu/config.json with keys api_key and optionally grpc_target (default: grpc.etu.timeclimbers.com:443), or
  2. Set the ETU_API_KEY environment variable (and optionally ETU_GRPC_TARGET).

Example config file:

{
  "api_key": "your-64-char-hex-api-key",
  "grpc_target": "grpc.etu.timeclimbers.com:443"
}

Config and the "time since last post" cache live under ~/.config/etu/. Tag generation and storage are handled by the backend; see etu-backend for setup.

$ etu
Etu. A personal command line journal.

Usage:
  etu [flags]
  etu [command]

Available Commands:
  create      Create a new journal entry (attach images/audio via drag & drop in TUI or -i/--image, -a/--audio).
  delete      Delete a journal entry.
  edit        Edit a journal entry.
  help        Help about any command
  last        Output a string of time since last post.
  list        List journal entries, with an optional starting datetime.
  search      Search journal entries using fuzzy search.
  stats       Show journal stats (blips, tags, words written).
  tags        List all tags with usage counts.
  timesince   Output a string of time since last post.

Flags:
  -h, --help      help for etu
  -v, --version   version for etu

Use "etu [command] --help" for more information about a command.

Inspiration

Etu is the personification of time according to the Lakota.

Etu is inspired heavily by the work of @neauoire at wiki.xxiivv.com, Time Travelers, and the screenshots in the inspiration folder.

Other projects that inspired me:

History

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 gRPC API.

Documentation

Overview

Package main implements the etu CLI: a personal command-line journal.

Directories

Path Synopsis
Package client provides the etu journal backend client: configuration, caching, and gRPC calls used by the CLI and TUI.
Package client provides the etu journal backend client: configuration, caching, and gRPC calls used by the CLI and TUI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL