tom_vscode_workflow

> Tom VS Code — part of the Tom Framework by Peter Nicolai Alexis Kyaw. > Licensed BSD-3-Clause. See LICENSE.

TOM Tracker — a lightweight VS Code extension that surfaces the workspace's *.todo.yaml tree as an interactive @TODO bottom panel and a clickable mindmap. It is the panel-facing companion to tom_vscode_shared, which it uses to scan, read, update, and render todo files.

---

Overview

tom_vscode_workflow (display name TOM Tracker) is a self-contained VS Code extension focused on TODO-oriented workflows. Where tom_vscode_shared provides the pure todo model, scanner, and Mermaid renderer, this package wires that logic into VS Code surfaces:

1. The @TODO bottom panel — an accordion webview (tomTracker.todoPanel) with a tracker graph, a todo list, and two free-form note editors. 2. The TODO mindmap — a full-tab Mermaid flowchart of every *.todo.yaml under the scan root, with click-to-open navigation. 3. A YAML Graph custom editor — registered opportunistically from yaml_graph_core / yaml_graph_vscode when those packages resolve, and silently skipped otherwise.

All disk-facing logic — finding the scan root, gathering files, parsing items, mutating todos, rendering the flowchart — is delegated to tom-vscode-shared; this package owns only the VS Code glue (webviews, commands, logging, error capture).

---

Installation

Internal workspace extension; build it from source:

npm install
npm run compile      # tsc -p ./  → out/extension.js

It depends on the DartScript extension at runtime — extensionDependencies lists tom.dartscript-vscode, so VS Code installs that alongside it.

Workspace library dependencies are consumed by path:

// package.json
"dependencies": {
  "tom-vscode-shared": "file:../tom_vscode_shared",
  "yaml-graph-core": "file:../yaml_graph_core",
  "yaml-graph-vscode": "file:../yaml_graph_vscode",
  "@vscode/codicons": "^0.0.44",
  "yaml": "^2.8.2"
}

VS Code engine ^1.96.0. Activation: onStartupFinished.

---

Features

Commands

Command idTitlePurpose
tomTracker.showLog TOM Tracker: Show Log Reveal the "Tom Tracker Log" output channel.
tomTracker.showDebugLog TOM Tracker: Show Debug Log Reveal the "Tom Tracker Debug Log" output channel.
tomTracker.showTodoMindmap TOM Tracker: Show TODO Mindmap Open the workspace-wide *.todo.yaml Mermaid flowchart.

Views

ContributionIdWhere
Panel container tomTracker-todo-panel (@TODO, $(checklist)) Bottom panel.
Webview view tomTracker.todoPanel (@TODO) Inside the container.

@TODO panel sections

The panel is an accordion (components/accordionPanel.ts) with four sections:

SectionRole
TRACKERGraph/overview of the tracked todos.
TODOS The scanned todo items (via scanTodoFiles + readTodoFile ), editable in place ( updateTodoInFile ).
FILE1 / FILE2 Free-form note editors over todo1.md / todo2.md in the workspace root, auto-saved on a debounce timer.

Infrastructure

CapabilityProvided by
Centralized logging (output channel, console, file) infrastructure/logger.ts ( log , debug , showLog , showDebugLog ).
Global error handlers + command/listener wrappers infrastructure/errorCapture.ts ( installGlobalErrorHandlers , wrapCommand , wrapListener , reportError ).

---

Quick start

1. Build and launch the extension (npm run compile, then run the Extension Development Host). 2. Open the @TODO bottom panel — the accordion shows the tracker, todo list, and the two note editors. 3. Run TOM Tracker: Show TODO Mindmap from the command palette to render the whole *.todo.yaml tree as a Mermaid flowchart; click a node to open the file or reveal the todo.

---

Usage

Browsing and editing todos

The @TODO panel scans from the workspace root, lists the todos it finds, and writes edits straight back into the source *.todo.yaml files through tom-vscode-shared. The two note editors (FILE1/FILE2) are a scratch space: they read and auto-save todo1.md / todo2.md in the workspace root.

The mindmap

tomTracker.showTodoMindmap resolves the scan root (master.mindmap.yaml / topmost .git), gathers every *.todo.yaml, builds the directory/file tree, extracts dependency links, and renders a Mermaid flowchart TD (bundled lib/mermaid.min.js). Nodes are color-coded by status; depends_on / blocked_by edges are dotted. Clicking a node posts back to the extension, which opens the file, selects the todo, or reveals the directory.

---

Architecture

                  extension.ts
        (activation: logger + error handlers,
         command + panel + mindmap + graph editor)
                       │
     ┌─────────────────┼──────────────────────┐
     ▼                 ▼                        ▼
  handlers/         components/           infrastructure/
  flowPanel-        accordionPanel        logger.ts
   handler.ts        (reused UI)          errorCapture.ts
  todoMindmap-
   handler.ts
     │
     ▼
  tom-vscode-shared  (scan / read / update / renderFlowchart)
  yaml-graph-core + yaml-graph-vscode  (optional custom editor)
ComponentFileResponsibility
Entry point extension.ts Activation/deactivation, command + view + custom-editor registration.
@TODO panel handlers/flowPanel-handler.ts WebviewViewProvider for the accordion panel and todo/file editing.
Mindmap handlers/todoMindmap-handler.ts Full-tab Mermaid flowchart panel + node-click navigation.
Accordion UI components/accordionPanel.ts Reusable collapsible-section HTML builder.
Logging infrastructure/logger.ts Output-channel + console + file logging.
Error capture infrastructure/errorCapture.ts Global handlers and command/listener wrappers.

The YAML Graph custom editor is registered through dynamic import() so a missing yaml-graph-* package degrades gracefully instead of failing activation.

---

Ecosystem

scanner, and Mermaid renderer this extension is built on. - yaml_graph_core / yaml_graph_vscode — the optional YAML Graph custom editor. - tom_vscode_extension — the main Tom AI extension; the @TODO mindmap is adapted from its preview handlers. - Repository map — the whole Tom VS Code ecosystem at a glance.

---

Status

Nametom-vscode-workflow (display name TOM Tracker)
Version0.1.0
VS Code engine^1.96.0
Runtime dependencies tom-vscode-shared , yaml-graph-core , yaml-graph-vscode , @vscode/codicons , yaml
Extension dependencytom.dartscript-vscode
Buildnpm run compile (TypeScript ^5.3.0)
Lintnpm run lint (eslint src --ext ts)
Testsnone in-package
LicenseBSD-3-Clause

---

License

Part of the Tom Framework by Peter Nicolai Alexis Kyaw, BSD-3-Clause. See LICENSE.