dorkhub

cfait

Take control of your TODO list

trougnouf
Rust1233 forksGPL-3.0updated 1 day ago
visit the demogit clone https://github.com/trougnouf/cfait.gittrougnouf/cfait

Cfait -- Take control of your TODO list

A fast and powerful, offline-first task manager for your terminal, desktop, and phone.

Releases F-Droid License Donate through Liberapay


Cfait is built for people who want keyboard-centric efficiency.

You can use it comfortably from the command line (TUI), on your desktop (GUI), or on the go with the native Android app. Because it is built entirely offline-first, you can manage your tasks perfectly without ever connecting to a server.

If you do want to sync your tasks across devices, Cfait connects seamlessly to any standard CalDAV server (Nextcloud, Radicale, Baikal, ...) without locking your data inside a proprietary walled garden. Backed by a shared Rust core, it starts instantly and handles thousands of tasks without stuttering.

✨ Highlights

  • Think it, type it: No clicking through menus. Type Buy green tea @tomorrow !1 @@dharma_city to create a high-priority task, due tomorrow, at a specific location.
  • 🧠 Deep organization: Go beyond flat lists with hierarchical tags (#gardening:kiwai), blocking dependencies, and parent/child task trees.
  • ⏱️ Time & goals: Start/pause tasks to track time spent. Set estimated durations (~2h) or recurring habit goals (#read:book:=goal:5/y).
  • 🪄 Dynamic aliases: Define shortcuts on the fly. Typing #hiking:=#exercise,@@outside applies the alias instantly and saves it for future use.

📸 Glimpse

Desktop (GUI & TUI) Mobile (Android)
Cfait GUI Screenshot
The Graphical Interface in v0.5.2 (history)

Cfait TUI Screenshot
The Terminal Interface in v0.5.0 (history)
Cfait Android Screenshot
The Android client in v0.5.2 (history)

📖 Documentation & usage

Cfait is designed to keep you in flow. Instead of a massive wiki, the app is entirely self-documenting.

  • Everyday usage: Press ? (in the TUI/GUI) or navigate to the Help tab (Android) to open the interactive syntax guide and keyboard shortcut cheat sheet.
  • Configuration: The CLI/TUI configuration file (~/.config/cfait/config.toml) is completely self-documenting. Open it in any text editor to see all available options, headless daemon setup, and UI tweaks.
  • Under the hood: Want to see the exact sorting algorithms, how we handle CalDAV merge conflicts, or how our Markdown subtask extraction works? Read our SPECS.md — it is the ultimate, up-to-date source of truth for Cfait's architecture.

🚀 Installation

We offer both Stable and Rolling releases. We highly encourage users to try the rolling release to get the latest features and report bugs!

(Note: On our releases page, the "Rolling" tag stays pinned at the very top. To find the latest stable version, scroll past it and click "Downloads" on the numbered release).

  • 🐧 Linux: Available on Flathub, the AUR (yay -S cfait), or via .deb / .tar.gz on our Releases page.
  • 👺 FreeBSD: Available in Ports/Packages, install with pkg install cfait
  • 📱 Android: Get it on F-Droid, Google Play, or download the APK.
  • 🪟 Windows: Check the Releases page for binaries.
  • 🍎 MacOS: Download pre-compiled binaries provided by Martin Stut on https://static.stut.de/cfait-macos/
  • ⚙️ Rust (Cargo): cargo install cfait (TUI) or cargo install cfait --features gui --bin cfait-gui (GUI).

☁️ CalDAV providers

You can use the default Local collection entirely offline. But if you want to sync, Cfait works with standard CalDAV servers. We recommend:

  • Self-hosted: Radicale (lightweight and feature-complete, runs on anything including Raspberry Pi) or Nextcloud.
  • Free & managed: Disroot offers a privacy-focused platform with free nextcloud-based CalDAV access.

🛡️ Privacy Policy

Cfait does not collect data; data is stored on your device and on your CalDAV server.

🤗 Community & support

Have a question, found a bug, or want to contribute?

If Cfait helps you stay on top of your life, consider supporting development:

  • 💳 Liberapay: https://liberapay.com/trougnouf
  • 💳 Ko-fi: https://ko-fi.com/trougnouf
  • 🏦 Bank (SEPA): BE77 9731 6116 6342
  • Bitcoin: bc1qc3z9ctv34v0ufxwpmq875r89umnt6ggeclp979
  • Ł Litecoin: ltc1qv0xcmeuve080j7ad2cj2sd9d22kgqmlxfxvhmg
  • Ξ Ethereum: 0x0A5281F3B6f609aeb9D71D7ED7acbEc5d00687CB

Released under the GPL-3.0 License

more like this

leaf

Lightweight, self-hosted task tracking

Rust50

taskbutler

Create and add progress bars, Office365 Files and Dropbox Paper papers by labels and link them to your Todoist tasks.

Python50

search

search projects, people, and tags