Skip to content

OneNoted/taskers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

260 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taskers

Taskers is a Linux-first terminal workspace for agent-heavy work. It combines:

  • top-level workspace windows that behave like a tiling canvas
  • panes inside each window
  • tabs inside each pane
  • an attention rail for unread, waiting, error, and completed work
  • a local control CLI for notifications, agent state, browser automation, and debugging
  • the ability to next more terminals then you'll ever know what to do with!

The active product lives at the repo root. Archived pre-cutover GTK/AppKit code is kept under taskers-old/ for reference only.

image

Documentation

Install

Linux (x86_64-unknown-linux-gnu):

cargo install taskers --locked
taskers

The first launch downloads the exact version-matched Linux bundle from the tagged GitHub release. The Linux app requires GTK4/libadwaita plus the host WebKitGTK 6.0 runtime.

Mainline macOS support is currently not shipped from this repo root.

First 5 Minutes

Start Taskers:

taskers

Keep the workspace model straight:

  • A workspace contains top-level workspace windows.
  • A workspace window contains panes.
  • A pane contains tabs.
  • Scrolling/panning is a workspace-window concern. Splits and tabs stay local to the current window.

Open a terminal in Taskers and emit a test notification:

taskersctl notify --title "Taskers" --body "Hello from the current pane"

You should see:

  • an unread badge in the sidebar
  • a notification row in the attention rail
  • a desktop banner unless the target is already visible and notification suppression is enabled

Try the built-in shell helpers from a Taskers terminal:

taskers_waiting "Need review"
taskers_done "Finished"
taskers_error "Build failed"

Open a browser pane from the pane controls, then inspect it from the same Taskers terminal:

taskersctl browser snapshot
taskersctl browser get title

Develop

On Ubuntu 24.04, install the Linux UI dependencies first:

sudo apt-get install -y libgtk-4-dev libadwaita-1-dev libjavascriptcoregtk-6.0-dev libwebkitgtk-6.0-dev xvfb

Install the app into Cargo's bin directory, then run it from there:

cargo install --path crates/taskers-app --force
taskers-gtk

Point the desktop launcher at that Cargo-bin install:

bash scripts/install-dev-desktop-entry.sh

Run the headless baseline smoke:

TASKERS_TERMINAL_BACKEND=mock \
bash scripts/headless-smoke.sh \
  "$(command -v taskers-gtk)" \
  --smoke-script baseline \
  --diagnostic-log stderr \
  --quit-after-ms 5000

For publishing and release prep, use docs/release.md.

About

taskers is an agent-first terminal workspace app scaffolded around a Linux-first Rust shell, a flexible terminal backend boundary, and a Niri-like tiling model for terminal workspaces.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors