mont

Crates.iomont
lib.rsmont
version0.1.0
created_at2026-01-25 01:33:12.916019+00
updated_at2026-01-25 01:33:12.916019+00
descriptionA task tracker to help you and your agent write robust, reliable code
homepage
repositoryhttps://github.com/Sawyer-Powell/mont
max_upload_size
id2067839
size404,063
Sawyer Powell (Sawyer-Powell)

documentation

README

mont

A task tracker to help you and your agent write robust, reliable code. Built on jj-vcs.

Installation

MacOS (manual compilation)

# Ensure that you have jj-vcs installed
brew install jj

# Ensure that you have rust/cargo installed
curl https://sh.rustup.rs -sSf | sh

# Clone this repo
git clone https://github.com/Sawyer-Powell/mont

# Compile and install
cargo install --path ./mont

Quick Start

# Create a new task (opens your editor)
% mont
created: .tasks/my-task.md

# Or create a quick jot (unstructured idea)
% mont jot -q "Add user authentication"
created: .tasks/cheerful-otter.md

# View what's ready to work on
% mont ready

# Start working on a task
% mont start my-task

# When done, complete the task
% mont done -m "Added auth backend"

Core Concepts

Jots are unstructured ideas that need to be refined into tasks. Use them to capture random ill-defined tasks from your stream of consciousness while working.

Tasks are concrete work items with clear completion criteria.

Gates are quality checkpoints (tests pass, code reviewed, etc.) that must be unlocked before completing a task.

The Multieditor

mont opens your editor with a multi-document format. Create, edit, and link tasks in one session:

---
id: auth-backend
title: Add authentication backend
gates: [code-review]
---
Implement JWT-based auth with refresh tokens.

---
id: auth-frontend
title: Add login UI
after: [auth-backend]
---
Build login/logout components.

Save to apply changes atomically. Use mont <ids> to edit specific tasks.

Using Claude

# Let Claude tackle a task
% mont claude auth-backend

# Claude receives a prompt with task details, dependencies, and repo context
# It works through gates, asks for review, then completes the task

Use mont prompt to preview what Claude will receive.

Commands

Command Description
mont Open editor to create/edit tasks
mont <ids> Edit specific tasks
mont status Show in-progress tasks
mont list Show task dependency graph
mont ready Show tasks ready for work
mont jot [title] Create a quick jot
mont distill <id> Convert jot to tasks
mont start <id> Begin working on a task
mont done [-m msg] Complete current task
mont unlock <id> -p <gate> Mark gate as passed
mont show <id> View task details
mont delete <id> Delete a task
mont claude <id> Launch Claude Code for a task

Tips

Fuzzy finder. Install fzf to enable picker functionality. Instead of typing in a task id, many commands accept you entering ? in their place. For each ?, a picker is invoked to select the task id.

Claude integration. Use mont claude <task-id> to launch Claude Code with a dynamically generated prompt based on your task state. Use mont prompt to inspect what prompt would be generated.

Shortcuts. mont st is an alias for mont status.

Commit count: 186

cargo fmt