lantern

toodles-manual

Toodles Manual

CLI for todo list operations on Oculus graph nodes. Wraps the virtual fence API for checkbox lists.

Installation

pip install -e /path/to/toodles

Commands

Find Todo Lists

toodles find                    # All todo lists in graph
toodles find deploy             # Filter by pattern
toodles find --node=my-node     # Filter by slug
toodles find --json             # JSON output

List Items

toodles ls my-node              # All lists in node
toodles ls my-node:171          # By token index
toodles ls my-node:Pre-Flight   # By section path
toodles ls my-node:Tasks.todo   # Explicit type suffix
toodles ls my-node --all        # Include checked items
toodles ls my-node --json       # JSON output

Modify Items

toodles check my-node:Tasks 0       # Check item 0
toodles uncheck my-node:Tasks 0     # Uncheck item 0
toodles toggle my-node:Tasks 0      # Toggle item 0
toodles add my-node:Tasks "New task"
toodles remove my-node:Tasks 0      # Prompts for confirmation
toodles remove my-node:Tasks 0 --force

Current List (Workspace)

toodles current                     # Show current list
toodles current set my-node:Tasks   # Set current list
toodles current ls                  # List current
toodles current check 0             # Check in current
toodles current add "Task"          # Add to current

Shell Integration

# Get checked item content (for piping)
toodles checked my-node:Tasks

# Get checked item index
toodles checked my-node:Tasks --index

# Get all checked items
toodles checked my-node:Tasks --all

Address Formats

Path-based addressing supports multiple matching strategies:

Format Example Matches
slug my-node All lists in node
slug:index my-node:171 By token index
slug:SectionName my-node:Tasks Section name (stripped of label)
slug:label my-node:daily-tasks The [label] from heading
slug:Full [label] my-node:Tasks [daily] Full heading with label
slug:kebab-case my-node:pre-flight Kebab-case conversion
slug:path.todo my-node:Tasks.todo Explicit type suffix

Matching Examples

For a section ## My Tasks [my-tasks], all of these work:

toodles ls my-node:My Tasks              # Section name only
toodles ls my-node:my-tasks              # Label only
toodles ls my-node:My Tasks [my-tasks]   # Full heading
toodles ls my-node:my-tasks.todo         # Label with type suffix

Matching priority: label β†’ section name β†’ kebab-case β†’ full heading

Radio Mode

Lists with <!-- mode: radio --> comment behave as single-select:

  • Only one item can be checked at a time
  • Checking an item unchecks the previous selection
  • toodles checked returns the single selected item

Configuration

export OCULUS_API_URL=http://localhost:7778  # Default

Examples

# Daily workflow
toodles current set work:daily-tasks
toodles current ls
toodles current check 0
toodles current add "Review PR"

# Radio selector
toodles checked config:environment  # Returns "production"
toodles check config:environment 1  # Switch to "staging"

Provenance

Document

  • Status: πŸ”΄ Unverified

Fences

toodles-manual-installation-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-find-todo-lists-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-list-items-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-modify-items-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-current-list-workspace-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-shell-integration-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-configuration-fence-0

  • Status: πŸ”΄ Unverified

toodles-manual-examples-fence-0

  • Status: πŸ”΄ Unverified

West

slots:
- context:
  - Linking related manuals - snippy uses toodles
  slug: snippy-manual

North

slots:
- context:
  - Linking client registry to toodles implementation docs
  slug: wanderland-clients
↑ northwanderland-clients
← westsnippy-manual