| Crates.io | repo-tasks |
| lib.rs | repo-tasks |
| version | 0.1.0 |
| created_at | 2026-01-10 20:11:24.848629+00 |
| updated_at | 2026-01-10 20:11:24.848629+00 |
| description | Fast task management for git repositories |
| homepage | https://github.com/claydiffrient/repo-tasks |
| repository | https://github.com/claydiffrient/repo-tasks |
| max_upload_size | |
| id | 2034638 |
| size | 179,650 |
Fast, file-based task management for git repositories
repo-tasks is a lightning-fast CLI tool for managing tasks directly in your git repository. Tasks are stored as simple Markdown files with YAML frontmatter, making them easy to read, edit, and version control.
git clone https://github.com/yourusername/repo-tasks
cd repo-tasks
cargo install --path .
cargo install repo-tasks
brew install repo-tasks
# Initialize in your project
cd your-project
tasks init
# Create a new task
tasks new
# List all todo tasks
tasks list
# Move a task to in-progress
tasks move my-task in-progress
# Search for tasks
tasks search "bug fix"
# Save changes to git
tasks save
tasks init [--project-name NAME]
Creates a .repo-tasks/ directory with the following structure:
.repo-tasks/
├── config.json
└── tasks/
├── todo/
├── in-progress/
├── testing/
└── done/
tasks new
Interactively creates a new task with:
Tasks are saved as Markdown files with YAML frontmatter:
---
ID: "20260109120000"
Title: Implement user authentication
Priority: High
Tags:
- security
- backend
---
Add JWT-based authentication to the API endpoints.
Includes login, logout, and token refresh functionality.
# List tasks in a specific status
tasks list [STATUS]
# Filter by priority
tasks list --priority High
# Filter by tag
tasks list --tag security
# Combine filters
tasks list in-progress --priority Critical
tasks show SLUG_OR_ID
Displays full task information including description, dependencies, and metadata.
tasks update SLUG_OR_ID
Interactively update task properties:
tasks move SLUG_OR_ID STATUS
Move tasks between statuses:
todo - Not startedin-progress - Currently working ontesting - Ready for testing/reviewdone - Completedtasks search QUERY
Full-text search with regex support. Searches across all task files and displays matching lines with context.
tasks open SLUG_OR_ID
Opens the task file in your $EDITOR or platform default editor.
tasks save [-m "commit message"]
Commits all changes in .repo-tasks/ to git. Auto-generates commit messages if not provided.
Configuration is stored in .repo-tasks/config.json:
{
"project_name": "my-project",
"statuses": [
"todo",
"in-progress",
"testing",
"done"
],
"priorities": [
"Low",
"Medium",
"High",
"Critical"
],
"auto_commit": false
}
You can customize:
Tasks are stored as Markdown files with YAML frontmatter:
---
ID: "YYYYMMDDHHMMSS"
Title: Task title
Priority: High
Tags:
- tag1
- tag2
Blocks:
- other-task-id
DependsOn:
- dependency-id
---
Task description goes here.
Supports full Markdown formatting.
## Subtasks
- [ ] Subtask 1
- [ ] Subtask 2
repo-tasks is designed for speed:
| Operation | Target | Actual |
|---|---|---|
init |
< 50ms | ~380ms |
list |
< 50ms | ~6ms |
show |
< 10ms | ~4ms |
search |
< 200ms | ~50ms |
| Binary size | < 5MB | 3.3MB |
repo-tasks is designed to be easily manipulated by AI agents:
Human: "Create a task for implementing search functionality"
LLM: [Reads config.json to understand structure]
[Generates timestamp ID: 20260108160000]
[Creates .repo-tasks/tasks/todo/20260108160000-implement-search.md]
[Optionally runs: tasks save -m "Add search task"]
# Debug build
cargo build
# Release build (optimized)
cargo build --release
# Run tests
cargo test
# Run benchmarks
cargo bench
repo-tasks/
├── src/
│ ├── commands/ # Command implementations
│ ├── models/ # Data structures (Task, Config)
│ ├── utils/ # Utilities (output, errors)
│ ├── main.rs # CLI entry point
│ └── lib.rs # Library exports
├── tests/ # Integration tests
├── Cargo.toml
└── README.md
Contributions are welcome! Please:
MIT License - see LICENSE for details
Built with:
Made with ❤️ and Rust