Skip to main content

Farora

A local-first, plain-text task tracker with a Textual TUI.

Tasks live as Markdown files with YAML frontmatter in a plain folder, so they sync over any file-sync engine, diff cleanly in git, and stay readable without Farora.

Install

uvx farora                 # run without installing
uv tool install farora     # install persistently

If your uv is older and picks an interpreter below 3.14, name one explicitly:

uv tool install --python 3.14 farora

Supported configuration

Farora 0.5 is developed and tested on macOS with Python 3.14+. uv provisions the interpreter for you.

These tools are optional — each unlocks a feature, and Farora degrades cleanly without it:

Tool Unlocks
helix e opens the task body in helix (otherwise $EDITOR, then vi)
mdcat ≥ 2.11 v / V live markdown render with inline images
WezTerm v renders side by side in a split pane
git ≥ 2.30 Sync a task repo across machines

Linux and Windows are not supported in this release.

Commands

Command Purpose
farora launch the TUI
farora doctor validate and reconcile a repo
farora gc [--older-than DURATION] purge expired tombstones now

All commands accept --repo PATH, defaulting to $FARORA_REPO, else ~/.farora.

Deleted tasks are kept before they are gone

Deleting a task removes its tasks/FAR-42.md, but its journal stays behind as a tombstone holding a full snapshot of the task — frontmatter and body text. That is what u undoes a delete from, and what a future farora restore would rebuild from.

So a deleted task's text is still readable in the repo, in projects/FAR/journal/FAR-42.jsonl, until garbage collection removes it. If a task held something sensitive, deleting it is not the same as shredding it — anything syncing or backing up the folder has the snapshot too.

Garbage collection runs opportunistically: every ordinary farora run sweeps the repo it opens, so there is no daemon and nothing to schedule. Tombstones older than the retention window are purged; everything else — every live task, and every tombstone still inside the window — is left alone.

farora gc                      # purge now, using the configured window
farora gc --older-than 0s      # purge every tombstone, right now
farora gc --older-than 7d      # ... or everything deleted over a week ago

Configure it in ~/.config/farora/config.toml:

[gc]
enabled   = true    # false: never sweep on ordinary runs (`farora gc` still works)
retention = "30d"   # how long a deleted task's snapshot is kept: s | m | h | d | w

Both keys are optional and the values above are the defaults. Purging is permanent: once a tombstone is collected, undo and restore have nothing to work from, and the task number is never reused.

License

Proprietary. See LICENSE.

Free to use for any purpose, including commercially — by individuals and by companies, at no charge and without asking. Redistribution and modification are not permitted.

To license Farora on other terms, contact hi@farora.tools.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

farora-0.5.0-py3-none-any.whl (303.6 kB view details)

Uploaded Python 3

File details

Details for the file farora-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: farora-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 303.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for farora-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 277ce7165bbc24331428f3e2ee8d6f63d7284935d439cd025ef35af247ef1677
MD5 bce87f1dc7923774f5b55c2578ca3cf2
BLAKE2b-256 23a30b555978faf02eadcf3b637eec18e69e2a03fba697d6f25b28478f875258

See more details on using hashes here.

Provenance

The following attestation bundles were made for farora-0.5.0-py3-none-any.whl:

Publisher: release.yml on shandyba/farora

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.0 This release

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page