Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9bda024
Removed some dead code from the repo.
Idorobots Jun 2, 2026
ec07e77
Refactored the stats command placement
Idorobots Jun 2, 2026
faf4319
Add textual migration plan
Idorobots Jun 5, 2026
d559df8
Convert tasks list to Textual
Idorobots Jun 5, 2026
36b4fd1
Converted tasks capture to Textual
Idorobots Jun 5, 2026
ef4aa58
Sped up the test suite a bit.
Idorobots Jun 5, 2026
b874807
Converted the agenda command to textual.
Idorobots Jun 6, 2026
b30b425
Converted the board command to Textual
Idorobots Jun 7, 2026
9d75ce6
Refactored the footer to better match the old layout
Idorobots Jun 7, 2026
d9cba2f
Fixed agenda/board hangups
Idorobots Jun 7, 2026
5c2b03c
Made the test suite a bit faster.
Idorobots Jun 7, 2026
4d03f9c
Refactored external editor handling.
Idorobots Jun 8, 2026
6017fc6
Renamed events to actions and layout to ui.
Idorobots Jun 8, 2026
c183765
Drop "legacy" noniteractive output from interactive commands
Idorobots Jun 10, 2026
886cd04
Refactor selection input modals
Idorobots Jun 11, 2026
1266c6e
Updated the vibes.
Idorobots Jun 11, 2026
f861bf3
Reorganized the serialization/deserialization modules.
Idorobots Jun 11, 2026
96e53c1
Refactored the config & logging modules
Idorobots Jun 11, 2026
e36e570
Reorganized the TUI modules
Idorobots Jun 11, 2026
6f3433d
Reorganized the common logic modules.
Idorobots Jun 12, 2026
21eeed4
Cleaned up the logic package.
Idorobots Jun 12, 2026
ace5413
Further code review cleanup.
Idorobots Jun 13, 2026
9b0adb6
Reorginised the query runner code
Idorobots Jun 13, 2026
acdbb5e
Split query runner from CLI filters processing
Idorobots Jun 14, 2026
7cceeb7
Updated the roadmap.
Idorobots Jun 14, 2026
b28eb07
Fixed some minor naming issues.
Idorobots Jun 14, 2026
e1d95a2
Updated the README and docs
Idorobots Jun 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
191 changes: 22 additions & 169 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,187 +22,40 @@ Top-level config sections:
- `filter` for custom `--filter-<name>` query snippets
- `order-by` for custom `--order-by-<name>` query snippets
- `with` for custom `--with-<name>` query snippets
- `capture` for named task capture templates
- `agenda` for named agenda views
- `board` for named board views

Custom switch argument handling:

- If a custom query contains `$arg`, the generated CLI switch requires exactly one argument.
- If `$arg` is not present, the generated switch does not require an argument.

```yaml
defaults:
--done-states: DONE,CANCELLED,DELEGATED
--buckets: 80
--filter-priority: A
--mapping: examples/mapping_example.json
--exclude: examples/exclude_example.txt
filter:
level-above: select(.level > $arg)
has-todo: select(.todo != none)
order-by:
recent-first: sort_by(.repeats + .deadline + .closed + .scheduled | max)
with:
priority-value: .properties.priority_value = .priority
```
See [docs/index.md](docs/index.md) for the full config layout.

## Commands

### `org tasks query`

Run jq-style queries over your Org Mode tasks.

```bash
# Expand all nodes, select completed tasks, extract heading, return a page of results
poetry run org tasks query '[ .[][] | select(.todo in $done_states) | .title_text ][$offset: $offset + $limit]' \
--done-states DONE,CANCELLED \
--max-results 10 \
--offset 10 \
examples/ARCHIVE_small
```

```text
Fix broken data endpoint in spartan sensor mesh on ESP8266 when there's too large JSON to stringify.
Replace the humidity/temperature sensors on the inside sensor with CO sensor.
...
```
### `tasks`

Query language reference: [docs/query_language.md](docs/query_language.md)
- `org tasks add` - Create a new task heading and insert it into an Org file.
- `org tasks update` - Update one or more matched task headings and save the changes.
- `org tasks remove` - Delete one or more matched task headings and their subtrees.
- `org tasks capture` - Create a task from a configured capture template.
- `org tasks list` - List matching tasks in interactive, static, or exported form.
- `org tasks query` - Run jq-style queries over loaded Org task data.
Query language reference: [docs/query_language.md](docs/query_language.md)

### `org stats all`

Show a full overview: global task stats, top tasks, top tags, and groups.

```bash
poetry run org stats all \
--use tags \
--max-results 5 \
--max-tags 3 \
--max-groups 2 \
--max-relations 3 \
examples/ARCHIVE_small
```

```text
2023-10-19 2023-11-14
┊▂ ▂ ▂ ▂ ▆ █ ▄ ▄ ▂ ▄ █ ▄ ▄ ▂ ▄ █ ┊ 4 (2023-10-26)
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Total tasks: 33
Unique tasks: 32
Average tasks per day: 1.22
Max tasks on a single day: 4
Max repeats of a single task: 2

Task states:
DONE ┊████████████████████████████████████████████████████████████████████████ 30
CANCELLED┊██ 1
DELEGATED┊ 0
TODO ┊██ 1
SUSPENDED┊██ 1
...
```
### `stats`

### `org stats summary`
- `org stats summary` - Show task-only summary metrics and histograms.
- `org stats tags` - Show statistics for selected tags or top tag results.
- `org stats groups` - Show statistics for explicit or discovered tag groups.
- `org stats all` - Show the combined overview of tasks, tags, and groups.

Show task-only metrics and histograms.
### `agenda`

```bash
poetry run org stats summary \
--with-tags-as-category \
--filter-date-from 2023-10-20 \
--filter-date-until 2023-11-15 \
examples/ARCHIVE_small
```

### `org stats tags`

Show focused stats for selected tags or top tags.

```bash
poetry run org stats tags \
--show Debugging,Jira \
--max-relations 3 \
--filter-not-completed \
examples/ARCHIVE_small
```

### `org stats groups`

Show stats for explicit or discovered tag groups.

```bash
poetry run org stats groups \
--group Debugging,Erlang \
--group ProjectManagement,Jira \
--max-results 2 \
examples/ARCHIVE_small
```
- `org agenda` - Show a day-oriented interactive agenda with scheduling and deadline views.

### `org tasks list`
### `board`

List matching tasks with filters and ordering.
- `org board` - Show an interactive board view of tasks using configured or fallback columns.

```bash
poetry run org tasks list \
--filter-completed \
--order-by-level \
--order-by-timestamp-asc \
--max-results 5 \
--offset 20 \
examples/ARCHIVE_small
```

```text
examples/ARCHIVE_small: * DONE Prepare some stories for refinement. :Jira:ProjectManagement:
examples/ARCHIVE_small: * DONE Reorganize tickets on the CHAT project board.:Jira:ProjectManagement:
...
```

### `org board`

Display matching tasks as a workflow-style board with one column per todo state plus `COMPLETED`.

```bash
poetry run org board \
--todo-states TODO,WAITING,INPROGRESS \
--done-states DONE,CANCELLED \
examples/ARCHIVE_small
```

### `org tasks add`

Create a new heading in an Org file.

```bash
poetry run org tasks add \
--todo TODO \
--title "Update docs" \
--tag Docs \
--body "Refresh command documentation" \
ROADMAP.org
```

### `org tasks update`

Update one task heading selected by query ID or title.

```bash
poetry run org tasks update \
--query-id task-1 \
--todo DONE \
--closed "<2026-04-13>" \
ROADMAP.org
```

### `org tasks remove`

Delete one task heading (including its subtree) by title or ID.

```bash
poetry run org tasks remove \
--title "Update docs" \
ROADMAP.org
```

## Notes
## Roadmap

- Command docs and defaults: [docs/index.md](docs/index.md)
- Current roadmap: [VIBES.org](VIBES.org)
Loading
Loading