Skip to content

Commit 01fb6b5

Browse files
authored
Merge pull request #3 from enesify/feature/bat-10-readme-update
docs(readme): expand overview for BAT-10
2 parents 73f9217 + 7d4ef22 commit 01fb6b5

1 file changed

Lines changed: 42 additions & 5 deletions

File tree

README.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,58 @@
11
# TaskWAL (`tw`)
22

3-
Local-first task tracker using an append-only JSONL write-ahead log (`~/.taskwal/wal.log` on Unix, `%USERPROFILE%\.taskwal\wal.log` on Windows).
3+
**TaskWAL** is a **local-first**, Kanban-style task tracker for the terminal. Every change is appended to a **write-ahead log** (JSON lines on disk); the tool **replays** that log to build your **Todo**, **Doing**, and **Done** columns—no server, no account, no cloud sync.
44

55
![TaskWAL board (TUI)](docs/images/board.png)
66

7-
## Build
7+
The default data file is `wal.log` under `~/.taskwal/` on Unix and `%USERPROFILE%\.taskwal\` on Windows.
8+
9+
![TaskWAL stats (text output)](docs/images/stats.png)
10+
11+
## Why TaskWAL?
12+
13+
- **Offline and yours:** Tasks live on your machine. There is no hosted backend or login—just a directory and a log file.
14+
- **Transparent history:** The WAL is **append-only**. Deletes and edits are **events** in the log, not silent overwrites. Inspect or script against the stream with `tw log`.
15+
- **Terminal-native:** Small CLI for day-to-day moves, plus an optional full-screen **board** (`tw board`) with `ratatui` for keyboard-driven review.
16+
- **Daily focus:** The **Done** column defaults to what you finished **today** (local calendar date), so `tw ls` and `tw board` stay oriented around “what I closed this day” unless you widen the view (`--all`, `--date`).
17+
18+
## Use cases
19+
20+
- **Personal inbox + WIP limits:** Capture work in Todo, pull a few items into Doing, close them to Done when finished.
21+
- **Developer workflow:** Stay in the shell next to git and builds; no context switch to a web app.
22+
- **Travel or locked-down networks:** Full functionality without connectivity.
23+
- **Automation and backup:** JSONL lines are easy to grep, pipe, or archive; replay semantics stay predictable.
24+
25+
## Features at a glance
26+
27+
- Stable **ULID** task identifiers (prefix matching when unique)
28+
- **Tags**, **notes**, rename, column moves, and **append-only** removal
29+
- **`tw ls`** (columns in the terminal) and **`tw board`** (interactive TUI) with the same view flags
30+
- **`tw stats`** for aggregate counts and **`tw log`** for raw WAL output
31+
- Optional **`TASKWAL_DIR`** to relocate the data directory
32+
33+
For every subcommand, flag, and TUI key, see the full guides: **[docs/USAGE.md](docs/USAGE.md)** (English) and **[docs/KULLANIM.md](docs/KULLANIM.md)** (Türkçe).
34+
35+
## Installation
836

937
Requires [Rust](https://rustup.rs/) 1.70+.
1038

39+
**Build** (binary at `target/release/tw`):
40+
1141
```bash
1242
cargo build --release
13-
# binary: target/release/tw
1443
```
1544

45+
**Install** into Cargo’s bin directory (e.g. `~/.cargo/bin/tw` on Unix):
46+
47+
```bash
48+
cargo install --path . --force
49+
```
50+
51+
Re-run `cargo install` after pulling updates. If `cargo` is not on your `PATH`, see [docs/USAGE.md](docs/USAGE.md) for shell setup hints.
52+
1653
## Cross-platform
1754

18-
- **macOS / Linux / Windows:** same codebase; `crossterm` + `ratatui` work on common terminals.
55+
- **macOS / Linux / Windows:** Same codebase; `crossterm` + `ratatui` work on common terminals.
1956
- Build on each OS you ship for, or use cross-compilation (e.g. `cargo build --release --target x86_64-pc-windows-gnu` from a configured toolchain).
2057

2158
## Documentation
@@ -66,7 +103,7 @@ tw log # raw WAL JSON lines
66103

67104
## Environment
68105

69-
- **`TASKWAL_DIR`:** override the data directory (used by tests and for custom locations). WAL file: `$TASKWAL_DIR/wal.log`.
106+
- **`TASKWAL_DIR`:** Override the data directory (tests and custom locations). WAL file: `$TASKWAL_DIR/wal.log` on Unix; `%TASKWAL_DIR%\wal.log` on Windows.
70107

71108
## License
72109

0 commit comments

Comments
 (0)