vibe-ticket
A high-performance ticket management system for developers, built with Rust. Features Git worktree integration for parallel development workflows.
Quick Start
Traditional Workflow
# Install
# Initialize project
# Create and start a ticket
# Work in the worktree
# Track progress
# Complete ticket
Spec-Driven Development Workflow (NEW!)
# Create specification from natural language
# Generate implementation plan
# Create tasks and export as tickets
# Start working on generated tickets
Key Features
- Git Worktree Support: Work on multiple tickets simultaneously
- Concurrent Edit Protection: Safe multi-user/multi-process ticket access with automatic lock management
- Spec-Driven Development: AI-powered specification generation from natural language
- Create specs from requirements using
/specify - Generate implementation plans with
/plan - Create executable task lists with
/tasks - Validate specifications with
/validate
- Create specs from requirements using
- Task Management: Break tickets into trackable tasks with parallel execution support
- Bulk Operations: Update, tag, close, or archive multiple tickets at once
- Saved Filters: Create and reuse custom ticket filters
- Custom Aliases: Define shortcuts for frequently used commands
- Time Tracking: Log time spent on tickets with detailed reports
- Custom Hooks: Execute scripts on ticket lifecycle events
- Interactive Selection: fzf-style fuzzy search for quick ticket selection
- Flexible Search: Find tickets with powerful filters
- Export/Import: JSON, YAML, CSV, and Markdown formats
- AI Integration: Full Claude Code support with slash commands
- MCP Server: Run as Model Context Protocol server for AI assistants
Spec-Driven Development (NEW!)
Transform natural language requirements into executable specifications:
# Create specification from requirements
# Generate implementation plan
# Create executable task list
# Validate specification
Slash Commands in Claude Code
When using Claude Code with MCP integration:
/specify "Build a REST API with authentication"
/plan --tech-stack rust,postgresql
/tasks --parallel --export-tickets
/validate --generate-report
Essential Commands
Productivity Features (NEW!)
Bulk Operations
# Update multiple tickets at once
# Tag multiple tickets
# Close multiple tickets
# Archive old tickets
Saved Filters
# Create a reusable filter
# List saved filters
# Apply a filter
Custom Aliases
# Create command shortcuts
# Run an alias
Time Tracking
# Start/stop timer
# Log time manually
# View time report
Custom Hooks
# Create lifecycle hooks
# List and manage hooks
Interactive Selection (fzf-style)
# Fuzzy search and select a ticket
# Multi-select for bulk operations
# Quick status/priority change
Configuration
# .vibe-ticket/config.yaml
git:
worktree_default: true # Create worktrees by default
worktree_prefix: "./{project}-vibeticket-"
project:
default_priority: medium
Documentation
- Command Reference
- Configuration
- Spec-Driven Development
- Slash Commands Guide - NEW!
- Git Worktree Guide
- Claude Integration
- MCP Integration Guide
- Data Formats
AI Assistant Setup
# Generate CLAUDE.md for AI assistance
# Add strict AI rules
MCP (Model Context Protocol) Support
vibe-ticket can run as an MCP server for AI assistants like Claude:
# Install (MCP is now included by default)
# Add to Claude Code (global)
# Test the server
AI Assistant Integration
When using vibe-ticket with AI assistants via MCP:
- All CLI operations are available through MCP - AI can create tickets, manage tasks, search, and more
- Spec-Driven Development with AI - Use natural language to create specifications and generate implementation plans
- Slash Commands in Claude Code - Direct commands like
/specify,/plan,/tasks,/validate - Integrated workflow - AI can seamlessly switch between code editing and ticket management
Example AI interactions:
"Create a ticket for the bug we just found"
"Generate a specification for a REST API"
"/specify Build a user authentication system"
"/plan --tech-stack rust,jwt --architecture layered"
"/tasks --granularity fine --parallel"
"Validate the specification and check for ambiguities"
Available MCP Tools for Spec-Driven Development:
vibe-ticket_spec_specify- Create specs from natural languagevibe-ticket_spec_plan- Generate implementation plansvibe-ticket_spec_generate_tasks- Create task listsvibe-ticket_spec_validate- Validate specifications
See MCP Integration Guide for detailed setup and usage.
Best Practices
Ticket Management
- Always create a ticket before starting work
- Use meaningful ticket slugs that describe the task
- Update ticket status as work progresses
- Close tickets with descriptive completion messages
Git Worktree Workflow
- Each ticket gets its own isolated worktree directory
- Work in
./project-vibeticket-<slug>/directories - Clean up worktrees after closing tickets:
vibe-ticket worktree remove <ticket> - Use
vibe-ticket worktree listto track active worktrees
Documentation Testing
- Run
cargo test --docregularly to ensure examples work - Keep documentation examples up-to-date with code changes
- Doc tests prevent documentation drift
Active Development Tips
- Check current context with
vibe-ticket check - Use
vibe-ticket list --status doingto see active work - Break complex work into tasks within tickets
- Conduct retrospectives after major tasks
Concurrent Access Safety
- vibe-ticket automatically handles multiple users/processes accessing tickets
- File locking prevents data corruption during concurrent modifications
- Stale locks are automatically cleaned up after 30 seconds
- Operations retry automatically if a file is temporarily locked
Installation
From Source
# With MCP support
Prerequisites
- Rust 1.70+
- Git (for branch/worktree features)
Contributing
See CONTRIBUTING.md for guidelines.