Update README.md to reflect the new file location and rename the workon.md file accordingly.
46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
# `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 |