taskmaster-cli π§©
TaskMaster CLI is an interactive command-line interface designed to simplify the management of complex projects using TaskMaster AI.
About TaskMaster AI
TaskMaster AI is an advanced AI agent orchestrator for complex project management, especially in software development. It prevents context loss often seen in traditional AI tools during large-scale projects by maintaining long-term context. TaskMaster AI automates PRD creation, task breakdown, and planning, guiding AI agents to implement tasks coherently. It supports multiple AI providers (OpenAI, Anthropic, Google Gemini, etc.) and features a multi-role configuration (main, research, fallback) to optimize AI resource allocation.
- Website: task-master.dev
- GitHub: claude-task-master
- Discord: TaskMaster AI Community
Why TaskMaster CLI?
TaskMaster CLI was created to streamline the use of TaskMaster AI with an intuitive and interactive interface. It aims to:
- Simplify Usage: Hide the complexity of underlying commands behind a user-friendly interactive interface.
- Preserve Core Logic: Operate as a wrapper without altering the core system of TaskMaster AI.
- Automate Workflows: Optimize common operations to reduce manual intervention.
- Enhance Flexibility: Provide new features for managing tasks, dependencies, and processing order.
Github: taskmaster-cli
Demo: π New Tool for Taskmaster AI Users β Meet Taskmaster CLI!
π Getting Started
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js:
v22.8.0
or higher - TaskMaster AI Core: You can install it via the interactive CLI setup or manually. The minimum required version is
v0.23.0
or higher.
Installation
Install TaskMaster CLI globally on your system:
npm install -g @raja-rakoto/taskmaster-cli
Configuration
TaskMaster CLI requires API keys to communicate with various AI providers.
- Create a
.env
file in the root of your project by copying/renaming the.env.example
file: -
Open the
.env
file and add your API keys.
# API Keys (Required to enable respective provider) ANTHROPIC_API_KEY="your_anthropic_api_key_here" # Required: Format: sk-ant-api03-... PERPLEXITY_API_KEY="your_perplexity_api_key_here" # Optional: Format: pplx-... OPENAI_API_KEY="your_openai_api_key_here" # Optional, for OpenAI/OpenRouter models. Format: sk-proj-... GOOGLE_API_KEY="your_google_api_key_here" # Optional, for Google Gemini models. GEMINI_API_KEY="your_gemini_api_key_here" MISTRAL_API_KEY="your_mistral_key_here" # Optional, for Mistral AI models. XAI_API_KEY="YOUR_XAI_KEY_HERE" # Optional, for xAI AI models. AZURE_OPENAI_API_KEY="your_azure_key_here" # Optional, for Azure OpenAI models (requires endpoint in .taskmaster/config.json). OLLAMA_API_KEY="your_ollama_api_key_here" # Optional: For remote Ollama servers that require authentication. GITHUB_API_KEY="your_github_api_key_here" # Optional: For GitHub import/export features. Format: ghp_... or github_pat_... OPENROUTER_API_KEY="your_openrouter_api_key_here" # Optional: For OpenRouter models. Format: sk-proj-...
Standard Workflow
- Initialize a new project using the dedicated command.
- Configure your AI models (main, research, fallback) and response language.
- Generate tasks automatically from a PRD file (text or Markdown).
- Generate the associated task files.
- Break down main tasks into subtasks for better granularity.
- Manage project progress through the interactive CLI, including CRUD operations, dependency management, complexity analysis, reporting, and more.
https://github.com/user-attachments/assets/685afcc9-b6c9-406c-8485-7151a27dbe35
https://github.com/user-attachments/assets/99d46178-a93c-441d-82e7-2ec1dd508dc5
https://github.com/user-attachments/assets/bf553b97-a11b-4cfc-9337-9877e954c0c7
https://github.com/user-attachments/assets/44337fb8-a5a9-4709-9a65-1dc0bdd86181
https://github.com/user-attachments/assets/aa7334d6-7653-476d-8b65-f222f8273845
https://github.com/user-attachments/assets/fdb884c1-1f56-468e-985b-3977158dcb9e
β¨ Features
TaskMaster CLI provides a comprehensive set of features to manage your entire project lifecycle.
Functional Scope
- Initialization & Configuration:
- Global package installation.
- Create new TaskMaster projects.
- Define main, research, and fallback AI models.
- Set the response language.
- Task Generation & Decomposition:
- Generate tasks from a PRD (txt, markdown).
- Generate task files.
- Automatically decompose tasks into subtasks.
- Task Management (CRUD):
- View: Tree display, status filtering, detailed view, and show next task.
- Add: Add tasks/subtasks via AI prompts or from a PRD.
- Update: Modify tasks/subtasks, manage statuses, and convert between tasks and subtasks.
- Delete: Remove tasks, subtasks, and dependencies.
- Dependency Management:
- Add dependencies to tasks.
- Automatic validation and correction of inconsistencies.
- Analysis, Reporting & Documentation:
- Complexity evaluation.
- Report generation.
- Synchronization with documentation.
- Backup, Restore & Cleanup:
- Save and restore the state of all tasks and configurations.
- Massively clean up data (tasks, subtasks, dependencies).
Command Tree
TMAI-CLI
βββ π Initialization and Configuration
β βββ π¦ 1 - Install/Upgrade TMAI
β βββ β¨ 2 - Initialize TMAI | Update/Fix rules
β βββ π§ 3 - Configure AI models (interactive)
β βββ β© Configure AI models (quickly)
β βββ π 4 - Set response language
β
βββ π Generation and Decomposition
β βββ π 1 - Generate tasks from PRD (AI)
β βββ π 2 - Generate task files from tasks.json
β βββ π 3 - Decompose all tasks (AI)
β
βββ β
Task Management (CRUD)
β βββ π List and Navigation
β β βββ π List tasks
β β βββ π Show task details
β β βββ β‘οΈ Show next task
β β
β βββ β Add tasks
β β βββ β Add task (AI)
β β βββ β Add tasks from PRD (AI)
β β βββ β Add subtask (AI)
β β βββ β Add subtask (manual)
β β
β βββ βοΈ Update tasks
β β βββ βοΈ Update task (AI)
β β βββ βοΈ Update multiple tasks (AI)
β β βββ βοΈ Update subtask (AI)
β β βββ βοΈ Update task/subtask status
β β βββ βοΈ Convert task to subtask
β β βββ βοΈ Convert subtask to task
β β
β βββ ποΈ Delete tasks
β βββ ποΈ Delete task (with subtasks)
β βββ ποΈ Delete a subtask
β βββ ποΈ Delete all subtasks from a task
β βββ ποΈ Delete all dependencies (safe)
β βββ ποΈ Delete all dependencies (unsafe)
β
βββ π Dependencies
β βββ π Add dependency
β βββ β
Validate dependencies
β βββ π§ Fix dependencies
β
βββ π Analysis, Report, Documentation
β βββ π Analyze task complexity
β βββ π Show complexity report
β βββ π Sync tasks with README.md
β
βββ πΎ Backup, Restore and Clear
β βββ πΎ Backup tasks
β βββ π Restore tasks
β βββ π§Ή Clear all dependencies
β βββ π§Ή Clear all subtasks (only)
β βββ π§Ή Clear all tasks + related files
β
βββ πͺ Exit
πΊοΈ Roadmap
- [ ] Automatic dependency regeneration.
- [ ] Ensure accuracy and consistency in tag application.
β€οΈ Acknowledgements & Contributing
This project would not have been possible without the TaskMaster AI team, as it is built entirely on their exceptional ecosystem.
We welcome contributions to improve the project! Whether you want to contribute to TaskMaster AI Core or TaskMaster CLI, feel free to make pull requests, report issues, or suggest new features.
For Developers
The following scripts are available for developing the CLI itself.
Start
- π
start
- Run your application with bun. - π
start:smol
- Run your application with bun and a flag which configures the JavaScriptCore heap size to be smaller and grow slower. - π
start:bin
- Run your standalone binary app.
Clean
- π
clean
- Remove coverage data, prod, build.
Development
- π
dev
- Launch your application in development mode with bun. - π
dev:watch
- Interactive watch mode to automatically transpile source files with bun in development. - π
dev:hot
- Hot reloading of source files with bun in development. - π
dev:smol:watch
- Interactive watch mode to automatically transpile source files with bun in development, while using --smol flag. - π
dev:smol:hot
- Hot reloading source files with bun in development, while using --smol flag.
Build
- π
build
- Transpile and bundle source files with bun. - π
build:watch
- Interactive watch mode to automatically transpile source files with bun. - π
build:bin
- bun's bundler implements a --compile flag for generating a standalone binary from a TypeScript or JavaScript file, use this in your production environment to ensure optimal execution of your app.
Testing
- π
test
- Run bun test. - π
test:watch
- Interactive watch mode to automatically re-run tests with bun.
Linting and Formatting
- π
biome:start
- Starts the Biome daemon server. You can specify a custom configuration file path using the--config-path
option. - π
biome:stop
- Stops the Biome daemon server. - π
biome:fix
- Runs a source code check and applies automatic fixes (linter & formatter) according to the defined rules. - π
biome:unsafe
- Works likebiome:fix
, but may apply more invasive or risky changes.
Backup and Dependency Management
- π
backup
- Backup files with Grunt. - π
pkg-check
- Check useless dependencies with depcheck. - π
pkg-upgrade
- Upgrade outdated dependencies (interactive mode) with npm-check-updates.
Versioning
- π
versioning
- Start ungit server.
NPM Commands
- π
npm-version:major
- Increments the major version number of your project using npm. - π
npm-version:minor
- Increments the minor version number of your project using npm. - π
npm-version:patch
- Increments the version patch number of your project using npm. - π
npm-login
- Login to a registry user account. - π
npm-publish
- Publish your npm package with public access. - π
npm-unpublish
- Forcefully unpublish the cli package from npm. - π
npm-reset:registry
- Delete the custom npm registry. - π
npm-check:registry
- Get the currently configured registry for npm. - π
npm-proxy:start
- Start a Verdaccio server with a local npm proxy. - π
npm-proxy:set-registry
- Set the npm registry to use a local proxy. - π
npm-proxy:publish
- Publish your npm package via the local proxy. - π
npm-proxy:unpublish
- Forcefully unpublish the cli package from the npm registry via the local proxy. - π
npm-proxy:republish
- Republish your npm package by first unpublishing it and then publishing it again via the local proxy.
NVM
- π
nvm
- Manage multiple node.js versions. Easily switch between node versions per project to ensure compatibility.
Others
- π
qtype:tasks
- Generate types for tasks.json file.
Build Target
The build configuration uses Node.js as the target (target: "node"
) with an appropriate shebang (#!/usr/bin/env node
) to ensure maximum compatibility across different environments. This choice provides the best balance between performance and compatibility.
The CLI can be installed using any of the following package managers according to user preference:
- npm:
npm install -g @raja-rakoto/taskmaster-cli
- pnpm:
pnpm install -g @raja-rakoto/taskmaster-cli
- bun:
bun install -g @raja-rakoto/taskmaster-cli
Important note for local registry testing:
When testing the CLI with Verdaccio or a local registry, you may need to clear Bun's cache directories to avoid version conflicts. Delete the following directories:
~/.bun/_bun
~/.bun/install/cache/
This ensures you're testing with the freshly published version rather than a cached one.
Top comments (0)