grokkit/todo/doing/workon.md
Greg Gauthier a4a1b49c9d chore(todo): move workon task from queued to doing
Update README.md to reflect the new file location and rename the workon.md file accordingly.
2026-03-31 20:12:10 +01:00

2.5 KiB

grokkit workon

Description: Automates the initiation of new todo item and fix development.

  1. selects a todo item out of the todo queue and moves it to the "doing" folder;
  2. creates a branch based on the item;
  3. generates a plan for implementation (amending it to the todo item under the heading "Work Plan");
  4. commits the plan to the branch.
  5. [optional] logs the beginning of the work using cnadd (if available).
  6. [optional] opens the branch in the IDE (specified in the config).

Assumptions:

Grokkit is being customized to suit my own development workflow. So, there are a number of features that may not be translatable to other developers' habits. As such, this feature assumes that the repository has a "todo" folder with a "queued", "doing" and "completed" subfolder, that function as the in-situ ticketing system. If the "todo" folder is not present, grokkit will create it.

Also, if no IDE is specified in the config, the workon command will default to not opening the editor. If cnadd is not available, the workon command will default to not logging the beginning of the work.

Benefits:

  1. Boosts productivity by automating routine tasks.
  2. Makes it easier to track the progress of the work.
  3. Makes feature development more uniform and consistent.

Usage:

grokkit workon <todo_item_title> [[-m '<custom_commit_message>'] [-f]] | [-c]

Arguments:

  • <todo_item_title>: The item to be worked on.

    • If this is a todo, then there should be a Markdown entry in the queued folder with the same name, which will be moved to the doing folder. That should also be the name of the branch.
    • If this is a fix, then use the argument as a branch name and as the name of a markdown file to be created, where the Work Plan will be stored in the "doing" folder.
    • In both instances, If spaces are present, replace them with dashes.
  • -m '<custom_commit_message>': custom commit message to use for the branch. Default is "Start working on <todo_item_title>".

  • -f: This signifies a "fix" rather than a todo item (the default is always a todo item)

  • -c: "completes" the work item (note: cannot be used with other flags). This means:

    • If it is a todo, it will be moved to the "completed" folder, and the index readme will be updated.
    • If it is a fix, the work plan will be moved to the "completed folder". No index update is necessary.
    • In either case, the update will be committed to the branch.

High-level implementation:

  1. TBD