A simple CLI task manager written in Go — built as a CodeRabbit workshop demo.
This project intentionally contains several bugs and code smells to demonstrate how AI-powered code review tools catch real issues.
go build -o tasks .
./tasks --help./tasks add "Buy groceries" # Add a task
./tasks list # List all tasks
./tasks list --limit 2 # List first N tasks
./tasks complete 1 # Mark task #1 as done
./tasks delete 1 # Delete task #1This codebase contains 6 intentional bugs. Try opening a PR and letting CodeRabbit find them. Here are hints — no spoilers on location:
| # | Category | Hint |
|---|---|---|
| 1 | File path | The data file location is not portable across machines |
| 2 | Error handling | A JSON decode error is silently swallowed |
| 3 | Error handling | A file write error is never checked |
| 4 | Bounds check | A slice operation can panic at runtime |
| 5 | Logic | Deleting a task doesn't actually remove it |
| 6 | ID generation | Task IDs can collide after deletions |
- Fork / push this repo to your GitHub account
- Install the CodeRabbit GitHub App
- Create a branch, make a change, open a PR
- Watch CodeRabbit review your code automatically
For local IDE review, install the CodeRabbit VS Code / Cursor extension.