1- # taskers
1+ # Taskers
22
3- Taskers is a Linux-first terminal workspace for agent-heavy work. It provides
4- Niri-style top-level windows, local pane splits, tabs inside panes, and an
5- attention rail for active and completed work.
3+ Taskers is a Linux-first terminal workspace for agent-heavy work. It combines:
4+
5+ - top-level workspace windows that behave like a tiling canvas
6+ - panes inside each window
7+ - tabs inside each pane
8+ - an attention rail for unread, waiting, error, and completed work
9+ - a local control CLI for notifications, agent state, browser automation, and debugging
610
711The active product lives at the repo root. Archived pre-cutover GTK/AppKit code
812is kept under ` taskers-old/ ` for reference only.
913
10- ## Try it
14+ ## Documentation
15+
16+ - [ Daily usage] ( docs/usage.md )
17+ - [ Notifications and attention] ( docs/notifications.md )
18+ - [ Taskersctl operator guide] ( docs/taskersctl.md )
19+ - [ Release checklist] ( docs/release.md )
20+
21+ ## Install
1122
1223Linux (` x86_64-unknown-linux-gnu ` ):
1324
@@ -16,12 +27,54 @@ cargo install taskers --locked
1627taskers
1728```
1829
19- The first launch downloads the exact version-matched Linux bundle from the tagged
20- GitHub release. The Linux app requires GTK4/libadwaita plus the host WebKitGTK
21- 6.0 runtime.
30+ The first launch downloads the exact version-matched Linux bundle from the
31+ tagged GitHub release. The Linux app requires GTK4/libadwaita plus the host
32+ WebKitGTK 6.0 runtime.
2233
2334Mainline macOS support is currently not shipped from this repo root.
2435
36+ ## First 5 Minutes
37+
38+ Start Taskers:
39+
40+ ``` bash
41+ taskers
42+ ```
43+
44+ Keep the workspace model straight:
45+
46+ - A workspace contains top-level workspace windows.
47+ - A workspace window contains panes.
48+ - A pane contains tabs.
49+ - Scrolling/panning is a workspace-window concern. Splits and tabs stay local to the current window.
50+
51+ Open a terminal in Taskers and emit a test notification:
52+
53+ ``` bash
54+ taskersctl notify --title " Taskers" --body " Hello from the current pane"
55+ ```
56+
57+ You should see:
58+
59+ - an unread badge in the sidebar
60+ - a notification row in the attention rail
61+ - a desktop banner unless the target is already visible and notification suppression is enabled
62+
63+ Try the built-in shell helpers from a Taskers terminal:
64+
65+ ``` bash
66+ taskers_waiting " Need review"
67+ taskers_done " Finished"
68+ taskers_error " Build failed"
69+ ```
70+
71+ Open a browser pane from the pane controls, then inspect it from the same Taskers terminal:
72+
73+ ``` bash
74+ taskersctl browser snapshot
75+ taskersctl browser get title
76+ ```
77+
2578## Develop
2679
2780On Ubuntu 24.04, install the Linux UI dependencies first:
@@ -30,13 +83,14 @@ On Ubuntu 24.04, install the Linux UI dependencies first:
3083sudo apt-get install -y libgtk-4-dev libadwaita-1-dev libjavascriptcoregtk-6.0-dev libwebkitgtk-6.0-dev xvfb
3184```
3285
33- Run the app directly :
86+ Install the app into Cargo's bin directory, then run it from there :
3487
3588``` bash
36- cargo run -p taskers-gtk --bin taskers-gtk
89+ cargo install --path crates/taskers-app --force
90+ taskers-gtk
3791```
3892
39- Point the desktop launcher at the repo-local dev build :
93+ Point the desktop launcher at that Cargo-bin install :
4094
4195``` bash
4296bash scripts/install-dev-desktop-entry.sh
@@ -47,10 +101,10 @@ Run the headless baseline smoke:
47101``` bash
48102TASKERS_TERMINAL_BACKEND=mock \
49103bash scripts/headless-smoke.sh \
50- ./target/debug/ taskers-gtk \
104+ " $( command -v taskers-gtk) " \
51105 --smoke-script baseline \
52106 --diagnostic-log stderr \
53107 --quit-after-ms 5000
54108```
55109
56- Release checklist: [ docs/release.md] ( docs/release.md )
110+ For publishing and release prep, use [ docs/release.md] ( docs/release.md ) .
0 commit comments