rafta

command module
v0.0.0-...-bc5b573 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2025 License: MPL-2.0 Imports: 5 Imported by: 0

README

A raft (boat) in a sea of tasks (checkmarks) logo

Rafta

Really, Another F*cking Todo App?!

Why?

Most TODO tools suck for power users:

  • In your way: You have to go to them. They don't notify you, or embed into your workflow.
  • Overkill: Many try to be wikis, calendars, or even programming platforms.
  • Walled gardens: APIs locked behind subscriptions or bad docs.
  • Hard to extend: Monolithic or closed-source.
  • Stuck in files: Forcing you to setup/use cloud storage like Dropbox, iCloud, SyncThing just to keep your tasks in sync accross devices.

Rafta flips that:

  • A simple gRPC server to store and sync tasks.
  • A clean schema designed for anyone to build clients.
  • No scope creep — task management, nothing more.
  • Built for hackers — SQLite backend, no lock-in.
  • Self-hosted Server Approach - Ensuring a common source of truth for all your devices

If you want a TODO system that stays out of your way and works wherever you work (Neovim, shell, mobile, etc.), take part in the development of rafta. I promise, I put a lot of thought into it before risking creating a new standard.

Dev Setup

  • API: gRPC, documented in resources/schema.proto
  • Auth: JWT (via Auth endpoint)
  • Quickstart: docker-compose up
  • Client responsibility: All UI, notifications, etc.
flowchart LR
    client(Rafta Client)
    srv[Rafta Server]
    db([SQLite DB])

    client--gRPC-->srv
    srv--query/update-->db
    db--result-->srv
    srv--response-->client

Client ideas

  • Neovim Plugin: Like oil.nvim, but for tasks.
  • Mobile App: Clean UI, simple UX, timely push notifications.
  • iCal Client: Generate public/private calendar feeds from task filters.

Why not existing tools?

Rafta is a thin server spec with an open schema. You bring the clients.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
app
auth
auth handles everything related to JWT.
auth handles everything related to JWT.
autogen command
* This package isn't the actual rafta server.
* This package isn't the actual rafta server.
pb
server.go Creates and instantiates all 3 protobuf servers that rafta uses:
server.go Creates and instantiates all 3 protobuf servers that rafta uses:
sec
sec handles miscelaneous security functions like hash validation and password generation.
sec handles miscelaneous security functions like hash validation and password generation.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL