A premium, high-performance CLI Task Manager built with React, Ink, and TypeScript. Features a snappy terminal interface and a beautiful, interactive GUI mode.
- Blazing Fast CLI: Optimized startup using dynamic imports. CLI commands run in <100ms.
- Interactive GUI: A stunning React-based terminal UI with real-time updates.
- Status Tracking: Track tasks through
pending,in_progress, andcompletedstates. - Due Dates: Set and track deadlines with natural language parsing (e.g., "tomorrow", "next friday").
- Priority System: Organize tasks by
high,medium, orlowpriority. - Search & Filter: Find tasks instantly with text or
@tagsearch. - Intelligent Sorting: Smart prioritization by status, due date, priority, and completion status.
- Codebase Scanner: Automatically discover
TODO,FIXME, andBUGcomments in your code. - Visual Progress: Real-time progress bar tracking your daily productivity.
- Custom Theme: Beautiful Pink aesthetics.
# Clone the repository
git clone https://github.com/chrisburlacu1/task-cli.git
cd task-cli
# Install dependencies
npm install
# Build the project
npm run build
# Link globally (optional)
npm linkSimply run the command with no arguments:
tasksControls:
a: Add a new taskf: Search tasks (text or@tag)s: Start task (set status toin_progress)x: Stop task (set status topending)space/enter: Toggle completiond: Delete selected taskc: Clear all completed tasksq: Quit
Manage your tasks directly from the terminal with subcommands:
tasks add "Water the plants" --high --due tomorrow # Add with priority & date
tasks start 1 # Mark task #1 as in-progress
tasks stop 1 # Mark task #1 as pending
tasks list --sort due # List sorted by deadline
tasks done 1 # Toggle task #1
tasks rm 2 # Delete task #2
tasks clear # Clear all completed tasks
tasks archive # Archive all completed tasks
tasks history # View archived tasksThe theme can be customized in src/theme.ts. Change colors, text styles, and more to match your setup.
npm start: Run the CLI (use-- <args>to pass arguments).npm run build: Compile TypeScript todist/.npm test: Run tests with Vitest.npm run lint: Run ESLint.npm run format: Format code with Prettier.
- Framework: Ink (React for CLI)
- Storage:
conf(Local persistence) - Validation:
zod - Utilities:
date-fns,nanoid
Built with ❤️ for rapid productivity using Gemini 3 Flash. (This project was entirely AI-generated)
You can also manage your tasks directly through the Gemini CLI!
In this directory, run:
gemini extensions link .The Gemini agent will have access to:
add_task: Add tasks with priorities,@tags, and due dates.list_tasks: See everything on your plate, with optional date filtering.update_task: Modify existing tasks (text, priority, due date).set_task_status: Explicitly set status (pending,in_progress,completed).get_all_tags: See all tags currently in use.search_tasks: Smart fuzzy search to find tasks without listing everything.git_branch_from_task: Create a git branch directly from a task ID.scan_todos: Scan your codebase forTODO/FIXMEcomments.read_meeting_actions: Extract tasks from a meeting notes file intelligently.bulk_add_tasks: Convert multiple scanned items into tasks in one turn.toggle_task: Mark tasks as done/pending.delete_task: Remove tasks.clear_completed: Bulk clean-up.
Ask Gemini: "Find the login task and create a branch for it."