惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - webstonehq/tuxedo: A fast, keyboard-driven termi...
mikenikles · 2026-05-09 · via Hacker News: Show HN

A fast, keyboard-driven terminal UI for todo.txt. Vim-style bindings, atomic writes, instant external-edit detection, and four hand-tuned themes — all in a single static binary.

CI Release License: MIT Rust

list view

Highlights

  • Pure todo.txt. Reads and writes the standard format — every line is plain text you can edit with anything else.
  • Vim keys, no surprises. j / k to move, dd to delete, gg / G to jump, u to undo (50 levels), chord prompts (gg, dd, fp, fc) with a 600 ms window.
  • Atomic, sync-friendly writes. Every change goes through write-temp-then-rename. If another process — Dropbox, an editor, a script — modifies the file, tuxedo reloads on the next keypress (or within ~250 ms while idle) and flashes a notice.
  • Built-in agenda. t opens a focused view that groups overdue, due-today, and upcoming tasks.
  • Sibling-file archive. A moves completed tasks to done.txt next to your file, atomically.
  • Filter, sort, multi-select. Cycle by +project or @context, sort by priority / due / file order, and bulk-complete or bulk-delete in visual mode.
  • Four themes, three densities. Cycle with T and D. Choices persist across runs.
  • No daemon, no database, no cloud. One file in, one file out.

Screens

Empty state • cell-bowtie mark and quick-start when the file has no tasks empty
Today / agenda • overdue, due-today, and upcoming groups agenda
Archive • completed tasks grouped by completion date archive
Filter sidebar activefp cycles projects with j/k, fc cycles contexts filter
Help? opens the full keybindings overlay help
How to generate screenshots

The screenshots above are checked-in SVGs. Regenerate them with:

cargo run --example screenshots

Themes

T cycles through four built-in themes.

Muted Slate (default) Dawn
muted slate dawn
Nord Matrix
nord matrix

Install

Homebrew (macOS, Linux)

brew install webstonehq/tap/tuxedo

Prebuilt binaries

Download the archive for your platform from the latest release and put tuxedo on your PATH.

Targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin, x86_64-pc-windows-msvc. Each archive ships with a .sha256 checksum.

From source

cargo install --git https://github.com/webstonehq/tuxedo

Or clone and build:

git clone https://github.com/webstonehq/tuxedo
cd tuxedo
cargo build --release
./target/release/tuxedo [FILE]

Requires the Rust 2024 edition (recent stable toolchain).

Usage

tuxedo [FILE]      # open FILE (created if missing)
tuxedo             # open ./todo.txt, or a sample file if none
tuxedo --sample    # open the bundled sample file in the temp dir
tuxedo --help
tuxedo --version

If FILE is omitted, tuxedo opens ./todo.txt from the current working directory if it exists. Otherwise it falls back to a sample todo.txt in the system temp directory so you can poke around without committing to a path.

Edits are persisted on every change via atomic write (write .tmp, rename).

If the file changes on disk (another editor, a sync client, a script), tuxedo notices on the next keypress, or within ~250 ms while idle, and reloads. The keystroke that triggered the reload is consumed — press it again to act on the fresh state — and the status bar flashes a notice.

Pressing A appends every completed task to a sibling done.txt and removes them from the working file (atomically: done.txt is written before the originals are dropped).

Keybindings

Navigation

Key Action
j / next task
k / previous task
gg first task
G last task
Ctrl-d / Ctrl-u half-page down / up

Editing

Key Action
a add task
e / i edit current task
x toggle complete
dd delete task
p cycle priority A → B → C → ·
c add or remove a context
+ add a project
u undo (50 levels)

Filtering, sort, view

Key Action
/ search
fp filter by project (j / k cycles, Esc clears)
fc filter by context (j / k cycles, Esc clears)
s cycle sort: priority → due → file order
v enter visual / multi-select; space toggles a row
x / dd (in visual) bulk-complete / bulk-delete the selection
t today / agenda view
A archive completed tasks → done.txt
H toggle showing done tasks in the main list

Layout & theme

Key Action
[ toggle filter sidebar
] toggle detail sidebar
T cycle theme
D cycle density: compact → comfortable → cozy
L toggle line numbers

System

Key Action
? help overlay
, settings overlay
q quit

Two-key chord prompts (gg, dd, fp, fc) show a g… / d… / f… indicator in the status-bar mode chip while the leader is armed; the window is 600 ms.

todo.txt format

Standard todo.txt lines:

(A) 2026-04-28 Call dentist @phone +health due:2026-05-08
  • (A) — priority, A through Z (omit for none)
  • 2026-04-28 — creation date in ISO 8601
  • +project — project tag
  • @context — context tag
  • key:value — extension; due:YYYY-MM-DD is recognized for sort and agenda grouping

Completed tasks are prefixed with x and a completion date:

x 2026-05-05 2026-05-01 Submit expense report +work

Configuration

Persisted to ${XDG_CONFIG_HOME:-$HOME/.config}/tuxedo/config.toml. Cycling theme, density, or sort, and toggling sidebars / line-numbers / done-visibility all update the file. Unknown keys are ignored, so older binaries don't break on newer files.

Development

mise run fmt      # cargo fmt --all
mise run clippy   # cargo clippy --all-targets --locked -- -D warnings
mise run test     # cargo test --locked

CI runs all three on every push and pull request. Tasks are also runnable as plain cargo commands if you don't use mise.

Acknowledgments

  • todo.txt by Gina Trapani — the format that makes a tool like this possible.
  • ratatui and crossterm — the rendering and terminal-input crates tuxedo is built on.

Contributing

Issues and pull requests are welcome. For larger changes, please open an issue first to discuss the approach. Run mise run fmt clippy test (or the plain cargo equivalents) before submitting.

License

Released under the MIT License.