--- # Most projects only have one or two projects. label is used in prose and value is used as an index. Setup those task-id-prefix and projects values. task-id-prefix: 'OB' projects: - label: 'Old Bear VTT' path: '.' prefix: 'OBV' value: 'old-bear-vtt' - label: 'Old Bear Brawl' path: '.' prefix: 'OBB' value: 'old-bear-brawl' - label: 'Common' path: '.' prefix: 'CMN' value: 'cmn' task-statuses: - label: 'Planning' value: 'planning' description: 'We do not yet know what it should do.' - label: 'Triage' value: 'triage' description: 'We do not yet know how to do it.' - label: 'Ready' value: 'ready' description: 'Task is ready to be worked on.' - label: 'In Progress' value: 'in-progress' description: 'Task is currently being worked on.' - label: 'Testing' value: 'testing' description: 'Task is currently being tested.' - label: 'Blocked' value: 'blocked' description: 'Task is waiting on external dependencies.' - label: 'Done' value: 'done' description: 'Task is completed and verified.' task-types: - value: 'bug' prefix: 'BUG' label: 'Bug' description: 'The task is a bug to fix.' - value: 'feature' prefix: 'ENH' label: 'Feature' description: 'The task is a new feature to implement.' - value: 'chore' prefix: 'CHR' label: 'Chore' description: 'The task is a routine maintenance or administrative task.' --- # Project Task Tracker ## Instructions for Working with Tasks ### Quick Start (Environment Setup) Before running task commands, source the helper environment script in your shell to load convenient aliases and paths: ```bash source ./scripts/env.sh ``` ### Task ID Configuration - Set the document-wide `task-id-prefix` in YAML frontmatter (this tracker uses `OB`). - Optionally export `TASK_ID_PREFIX` in your shell or in the local settings sourced by `scripts/env.sh` (`scripts/env.sh.local` or `.env`). It overrides frontmatter; when neither is set, the default is `OT`. - Prefixes must start with a letter and contain only letters, digits, underscores, or hyphens. Display IDs are uppercase and anchors are lowercase. - Numbers remain globally monotonic across the document, with at least three digits. Project and task-type `prefix` fields do not control these IDs. - After changing the prefix, run `update-tasks` to normalize existing IDs and internal anchor links. Numeric IDs can still be used with task commands. - All task commands accept `-f /path/to/tasks.md`; `TASKS_FILE` supplies the default path when exported. ### Command Reference You can manage tasks using the provided automation scripts in `./scripts/` (or via their aliases): - **List tasks**: - `get-tasks` (or `./scripts/get-tasks`): Show active pending tasks. - `get-planning-tasks` (or `get-tasks --planning`): Show tasks in _Planning_ or _Triage_ status. - `get-tasks --all`: List all tasks regardless of status. - `get-tasks --accept "Status:In Progress"` / `get-tasks --reject "Project:Example"`: Filter tasks. - `get-tasks --all --accept "Epic:poc" --select "ID,Title,Epic"`: Filter or select the Epic column. Epic filters accept frontmatter values (`poc`) or labels (`Proof of Concept`), case-insensitively. - `get-tasks --all --reject "Epic:poc"`: Exclude an Epic by value or label; comma-separated lists such as `Epic:poc,bootstrap` also work. - **View a specific task**: - `get-task OT-001` (or `./scripts/get-task 1`): Inspect task details, requirements, and metadata. - `get-task OT-001 --json`: Output task data in JSON format, including `epic` (value) and `epic_label`. - `get-task OT-001 --epic`: Output only the canonical Epic value. - **Add a new task**: - `add-task "Task Title" --project=example-project --type=feature --status=triage` - (Optionally supply `-d "Description and checklist"`) - Add `--epic=poc` (or `--epic="Proof of Concept"`) to assign an Epic defined in frontmatter. - **Update an existing task**: - `update-task OT-001 --status in_progress` - `update-task OT-001 --title "New Title"` - `update-task OT-001 --status done --check-all` - `update-task OT-001 --append-description "- [ ] Additional subtask"` - `update-task OT-001 --epic=poc` / `update-task OT-001 --clear-epic`: Assign or remove an Epic. - **Synchronize document**: - `update-tasks` (or `./scripts/update-tasks`): Re-indexes task IDs, re-renders the summary progress table, and regenerates metadata enum tables. ### Workflow Guidelines 1. **Do Not Edit the Summary Table Manually**: The summary table below is automatically regenerated from the detailed task entries. Use `./scripts/add-task` and `./scripts/update-task`, or edit the detailed task blocks directly and run `./scripts/update-tasks`. 2. **Anchor Tags as SSOT**: Each task in `## Detailed Tasks` is defined by an anchor tag: `` The attributes on this anchor tag are the canonical source of truth for the task's state. `data-epic` is optional; its value comes from frontmatter `epics`. Summary and detail views display the corresponding label. 3. **Task Lifecycle**: - **Triage**: Conceptualization and scoping phase. - **Ready**: Ready to be picked up for implementation. - **In Progress**: Actively being worked on. - **Testing**: Code complete and ready for verification. - **Done**: Completed and verified. - **Blocked**: Waiting on external dependencies. ## Overall Progress | ID | Title | Project | Status | Type | |:-----|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------|:-------|:-----------------| | OB-001 | In voice and audio settings the 4th button for streaming is mostly off screen | Old Bear VTT | Done | [Feature](#ob-001) | | OB-002 | When adding a new token to the board try to not put it on top of an existing one | Old Bear VTT | Done | [Feature](#ob-002) | | OB-003 | When uploading files allow selecting multiple files at once | Old Bear VTT | Done | [Feature](#ob-003) | | Common | Ready | [Feature](#ob-211) | --- ## Detailed Tasks ### In voice and audio settings the 4th button for streaming is mostly off screen **ID:** OB-001 **Project:** Old Bear VTT **Status:** Done **Type:** Feature **Description:** In voice and audio settings the 4th button for streaming is mostly off screen ### When adding a new token to the board try to not put it on top of an existing one **ID:** OB-002 **Project:** Old Bear VTT **Status:** Done **Type:** Feature **Description:** When adding a new token to the board try to not put it on top of an existing one ### When uploading files allow selecting multiple files at once **ID:** OB-003 **Project:** Old Bear VTT **Status:** Done **Type:** Feature **Description:** When uploading files allow selecting multiple files at once --- ## Notes #### Projects (Rendered from frontmatter projects) | Value | Label | Prefix | Path | | :------------- | :------------- | :----- | :--- | | old-bear-vtt | Old Bear VTT | OBV | . | | old-bear-brawl | Old Bear Brawl | OBB | . | #### Task Statuses (Rendered from frontmatter task-statuses) | Value | Label | Description | | :---------- | :---------- | :---------------------------------------- | | triage | Triage | Task is still being defined. | | ready | Ready | Task is ready to be worked on. | | in-progress | In Progress | Task is currently being worked on. | | testing | Testing | Task is currently being tested. | | blocked | Blocked | Task is waiting on external dependencies. | | done | Done | Task is completed and verified. | #### Task Types (Rendered from frontmatter task-types) | Value | Label | Prefix | Description | | :------ | :------ | :----- | :-------------------------------------------------------- | | bug | Bug | BUG | The task is a bug to fix. | | feature | Feature | ENH | The task is a new feature to implement. | | chore | Chore | CHR | The task is a routine maintenance or administrative task. |