cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm
leaflet
readability
golang
1# Noteleaf
2
3[](https://codecov.io/gh/stormlightlabs/noteleaf)
4[](https://goreportcard.com/report/github.com/stormlightlabs/noteleaf)
5[](LICENSE)
6[](go.mod)
7
8```sh
9 ,, ,...
10`7MN. `7MF' mm `7MM .d' ""
11 MMN. M MM MM dM`
12 M YMb M ,pW"Wq.mmMMmm .gP"Ya MM .gP"Ya ,6"Yb. mMMmm
13 M `MN. M 6W' `Wb MM ,M' Yb MM ,M' Yb 8) MM MM
14 M `MM.M 8M M8 MM 8M"""""" MM 8M"""""" ,pm9MM MM
15 M YMM YA. ,A9 MM YM. , MM YM. , 8M MM MM
16.JML. YM `Ybmd9' `Mbmo`Mbmmd'.JMML.`Mbmmd' `Moo9^Yo..JMML.
17```
18
19A note, task & time management CLI built with Golang & Charm.sh libs. Inspired by TaskWarrior & todo.txt CLI applications.
20
21## Development
22
23Requires Go v1.24+
24
25### Testing
26
27#### Handlers
28
29The command handlers (`cmd/handlers/`) use a multi-layered testing approach for happy and error paths:
30
31- Environment Isolation
32 - Tests manipulate environment variables to simulate configuration failures
33- File System Simulation
34 - By creating temporary directories with controlled permissions, tests verify that handlers properly handle file system errors like read-only directories, missing files, and permission denied scenarios.
35- Data Corruption Testing
36 - Tests intentionally corrupt database schemas and configuration files to ensure handlers detect and report data integrity issues.
37- Table-Driven Error Testing
38 - Systematic testing of multiple error scenarios using structured test tables