Skip to main content

Yui: git based personal task manager

Project description

Yui - personal task manager

Git based personal task manager. 100% command line. (also, Japanese girl name)

4 dummies

  1. yui without arguments will display help

Workflow:

  1. Add task to the heap yui create task name or short descriprion
    1. Show tasks in heap yui list heap
  2. Pick the task to current day schedule yui pick %taskId%
    1. Show tasks for current day yui list cur
  3. Open task in text editor yui open %taskId%
    1. Task file is just md file with yaml header
    2. Adjust status in header
    3. Write any notes below
    4. Save
  4. When you done working, or before next day
    1. Move unfinished tasks back to heap yui reset all
    2. Archive tasks with status done yui archive today
  5. View archive for specific date yui list 2023-01-11
  6. Run manual git command on task list yui git %git_command% %git_command_args%
  7. Adjust visible scope with yui scope

How it works

  1. There is git repository behind the scenes. So you have history and you can sync tasks using any git server. History, branches, etc.
    1. Create/pick/reset/archive commands will invoke git add + git commit commands automatically.
  2. Task data stored in plain text files.
    1. Format markdown(.md) with yaml header.
    2. You work with single task using plain text editor, like kate
  3. yui tool is used to organize and navigate .md files

The method

Step 1: Write it down and forget.

Once you spot new task or idea - you just add it to the heap, and continue with your current work. So you stay focused.

yui create

Heap is the most chaotic, unorganised, unsorted, backlog you can imagine. Do not waste your time on details, just stock pile it in the heap as is.

Imagine that you are working with paper stickers and you have a big box of chaotic notes written on stickers - that's the heap.

yui list heap

Will show you tasks in the heap in form of table

 id | context  | project    | name                                                                   | status
----|----------|------------|------------------------------------------------------------------------|-------
 7  | personal | yui        | show creation date column in task list                                 | new   
 15 | personal | yui        | sanitize slashes in task filename                                      | new

First column is taskId you will need it to manipulate the task

Step 2: pick the task into daily plan

Pick all tasks you are planning to work with today.

yui pick %taskId%

Will pick the task

yui list cur

Will display tasks for current day.

If you made a mistake, you can return the task back to heap

yui reset %taskId%

Step 3: open the task in text editor

yui open %taskId%

Step 4: change status to work

Adjust yaml header, simple replace status: new with status: work.

You can use any custom statuses, but buildin - new, work, done will be highlighted in yui list output.

Step 5: Make notes while you are working on the task

As for it's just .md file, you can make any notes behind yaml header.

Note: you can work with as many tasks at once as you want

That's just plain text files, after all.

Step 6: change task status to done

In yaml header, replace status: work with status: work.

Step 7: check your progress

yui list cur

Will get more green lines while you complete the tasks.

Step 8: Cleanup workspace

yui reset all

Will return unfinished tasks back to the heap

yui archive today

Will move only done tasks to archive folder with current day. You can also use "yesterday" or specify date as "YYYY-MM-DD", or anything else recognized by php strtotime() function.

To view archived tasks use:

yui list YYYY-MM-DD

Step 9: apply git

All git commands are mapped with yui git.

Most used: - yui git log history of changes in tasks - yui git remote add origin %link% link your task list with remote repository - yui git push save local changes to remote repository - yui git pull load fresh changes from remote repository

Todo

Markdown with yaml header can be easily parsed, so it's a subject for creting extensions for yui. Also, tasks can be accessed/synced using git remotes. That's potential for multiple clients (mobile, gui etc).

Project details


Download files

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

Source Distribution

yui-0.0.3.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

yui-0.0.3-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file yui-0.0.3.tar.gz.

File metadata

  • Download URL: yui-0.0.3.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for yui-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a9a1907619c8d9cc84adce54fcebe0f351fc7ac9522c36b5a5d0a2631598e5d4
MD5 f32e784b29c56ef83fa9fb1e3b25ff8d
BLAKE2b-256 ec6b832273c6c894fb1e4e201609671f40195044384343c99f4f0f721ecc5f08

See more details on using hashes here.

File details

Details for the file yui-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: yui-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for yui-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 78106c5f56335a465d043fc2e9e526892b8f5f8fbc74cafc456ac66441590e22
MD5 a5be81b659658c1b0311a60e28a4aa8f
BLAKE2b-256 0a1661bd50ece70fa90e0325f42b7ee7fdbdccf9d0dafa7860964547307a4804

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page