Giter Site home page Giter Site logo

tuido's Introduction

A terminal interface for efficient browsing and management of [x]it! formatted todo items. Inspired, loosely, by Getting Things Done (David Allen) and various entries of the self-help skills via habits genre (Charles Duhigg, James Clear, Anders Ericsson, etc).

Features

  • searches the working directory recursively for [x]it! compatible items in .xit, .md, and .txt files
  • compactly displays pending todos and offers navigation between todo and done
  • allows for creating new items, updating existing items, and persists updates to disk
  • allows for filtering via tags
  • a simple pomodoro mode for timeboxed focus on individual items
  • one-button (z) progressive snooze parks items for 1,2,3,5,8,... days

tuidi preview

Usage

From some directory containing [x]it! files / items:

tuido

Configuration

Tuido writes new items by default to $HOME/.tuido/YYYY-MM-DD.xit. To set a different write location, create file tuido.conf in the user config directory ($HOME/.config in linux, $HOME/AppData in windows). The write location can be a file, which will be appended to, or a directory, which whill recieve datestamped .xit files as in the default setting.

writeto=~/mysingletodolist.txt
writeto=~/todos

Include a .tuido file in individual directories to add filetypes for parsing along that subtree.

extensions=go,js,cpp

In app controls

  • ?: help
  • n: make a new item
  • slected item controls:
    • [space]: set status open
    • x, X: set status checked (done)
    • s, ~: set status obsolete
    • a, @: set status ongoing
    • e: edit item text
    • p: enter a pomodoro session for item
    • z: snooze this item (set a later active date)
  • [tab]: switch between pending and done items
  • /: filter list by #tags
  • [up], [down]: navigate items
  • q: quit

Development

  1. install go (see https://go.dev)
  2. (suggested) read the in-readme tutorial for https://github.com/charmbracelet/bubbletea
  3. clone repo
  4. go run .

tuido is dogfooding. The project's .tuido file:

  • instructs tuido to parse items in .go files as well as the defaults.
  • instructs tuido to write new items directly to this readme

Result being that the app, runnng in test, contains a good running list of development todos & a convenient method to append to the roadmap.

Licence

GPL

Roadmap

  • #feat make new-items repsect the filetype being written to (leading comment slashes for code files, leading bullet for readme, etc)
  • [@] process #dates
    • from items themselves
      • from #due tags
      • according to [x]it spec
    • (for creation #date) from the names of an item's source file
  • [@] #ui sort items by priority [ ], age [ ], or due #dates [x]
  • #feat #ui provide details / context (preview into source file) on current selected item, or quick open of an item's source location
  • #feat allow plain-text fuzzy text search/filter of item body text (only tag names currently)
  • [@] #feat specify / parse a format for recurring items (call mom, eat a salad)
    • #repeat=durationShorthand is active
    • [@] need to mark open + postpone + set new due date on x done markers
  • have infrastructure for managing task-specific checklist files (beach trip) #feat #ui #maybe
  • [@] #feat #maybe accept command line flags or config for other file extenstions, source directories, etc
  • #feat #maybe fully respect / implement the [x]it spec
  • #feat respect .gitignire configs
  • tag v0.0.1, produce platform builds
  • add quick-escalate (!) importance modifier

tuido's People

Contributors

nilock avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.