@nelsonkwesi/track-master v1.0.0
Track Master
By Nelson Anane
A fork of Task Master by @eyaltoledano & @RalphEcom with enhanced Supabase integration and centralized backend.
A task management system for AI-driven development with Claude, designed to work seamlessly with Cursor AI. Features Supabase integration for cloud synchronization and multi-device support!
Requirements
- Anthropic API key (Claude API)
 - OpenAI SDK (for Perplexity API integration, optional)
 - Supabase account and project (for cloud sync, optional)
 
See API-KEYS.md for detailed instructions on setting up required API keys.
Quick Start
Option 1 | MCP (Recommended):
MCP (Model Control Protocol) provides the easiest way to get started with Track Master directly in your editor.
- Add the MCP config to your editor (Cursor recommended, but it works with other text editors):
 
{
	"mcpServers": {
		"track-master": {
			"command": "npx",
			"args": ["-y", "--package=track-master", "track-master-mcp"],
			"env": {
				"ANTHROPIC_API_KEY": "YOUR_API_KEY_HERE",
				"PERPLEXITY_API_KEY": "YOUR_API_KEY_HERE",
				"MODEL": "claude-3-7-sonnet-20250219",
				"PERPLEXITY_MODEL": "sonar-pro",
				"MAX_TOKENS": "64000",
				"TEMPERATURE": "0.2",
				"DEFAULT_SUBTASKS": "5",
				"DEFAULT_PRIORITY": "medium"
			}
		}
	}
}Enable the MCP in your editor
Prompt the AI to initialize Task Master:
Can you please initialize taskmaster-ai into my project?- Use common commands directly through your AI assistant:
 
Can you parse my PRD at scripts/prd.txt?
What's the next task I should work on?
Can you help me implement task 3?
Can you help me expand task 4?Option 2: Using Command Line
Installation
# Install globally
npm install -g task-master-ai
# OR install locally within your project
npm install task-master-aiInitialize a new project
# If installed globally
task-master init
# If installed locally
npx task-master-initThis will prompt you for project details and set up a new project with the necessary files and structure.
Common Commands
# Initialize a new project
task-master init
# Parse a PRD and generate tasks
task-master parse-prd your-prd.txt
# List all tasks
task-master list
# Show the next task to work on
task-master next
# Generate task files
task-master generateFeatures
- š¤ AI-Driven Task Management: Generate tasks from PRDs, break them down, and analyze complexity
 - āļø Cloud Synchronization: Sync your tasks across devices with Supabase integration
 
Supabase Integration
Track Master includes robust Supabase integration for cloud synchronization and multi-device support!
Quick Setup
- Set up environment variables in your 
.envfile: 
# Supabase Configuration - Choose one of these authentication methods:
# Option 1: Anon key with authentication (recommended, respects RLS)
SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_KEY=your-anon-public-key
ENABLE_SUPABASE_SYNC=true
# Option 2: Service role key (bypasses RLS, use cautiously)
SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_SECRET_KEY=your-service-role-key
ENABLE_SUPABASE_SYNC=true- Authenticate with Supabase (only needed for anon key method):
 
./tm-login- Sync your tasks:
 
# Standard bidirectional sync (recommended)
node sync-tasks.js
# Force push local tasks to Supabase
node sync-tasks.js push
# Force pull tasks from Supabase to local
node sync-tasks.js pull
# Direct sync script with enhanced field mapping
node sync-to-supabase.jsValid Status Values
Track Master automatically maps task status values to compatible values in your Supabase database:
| Local Status | Supabase Status | 
|---|---|
| 'pending' | 'pending' | 
| 'in-progress' | 'in_progress' | 
| 'done' | 'done' | 
| 'canceled' | 'cancelled' | 
| 'todo' | 'pending' | 
For detailed instructions on setting up Supabase, see the Supabase Integration Guide.
Documentation
For more detailed information, check out the documentation in the docs directory:
- Installation
 - Usage
 - Commands
 - Configuration
 - API Reference
 - Supabase Integration
 - Tutorial - Step-by-step guide to getting started with Task Master
 - Command Reference - Complete list of all available commands
 - Task Structure - Understanding the task format and features
 - Example Interactions - Common Cursor AI interaction examples
 
Troubleshooting
If task-master init doesn't respond:
Try running it with Node directly:
node node_modules/claude-task-master/scripts/init.jsOr clone the repository and run:
git clone https://github.com/eyaltoledano/claude-task-master.git
cd claude-task-master
node scripts/init.jsContributors
Star History
Licensing
Task Master is licensed under the MIT License with Commons Clause. This means you can:
ā Allowed:
- Use Task Master for any purpose (personal, commercial, academic)
 - Modify the code
 - Distribute copies
 - Create and sell products built using Task Master
 
ā Not Allowed:
- Sell Task Master itself
 - Offer Task Master as a hosted service
 - Create competing products based on Task Master
 
See the LICENSE file for the complete license text and licensing details for more information.
vibe-task-master
vibe-task-master
Supabase Setup
To use Track Master with Supabase, you need to set up the proper environment variables.
Required Environment Variables
Create a .env file in the root directory with the following variables:
SUPABASE_URL=your-supabase-project-url
SUPABASE_KEY=your-supabase-anon-key
ENABLE_SUPABASE_SYNC=trueService Role Key for CLI (Required)
Because the Track Master CLI accesses Supabase directly (unlike a web app), you need to provide a service role key to bypass Row Level Security (RLS) policies:
- Go to your Supabase dashboard at https://app.supabase.com
 - Select your project
 - Go to "Project Settings" > "API"
 - Under "Project API keys", copy the "service_role" key (not the anon/public key)
 - Add it to your 
.envfile: 
SUPABASE_SECRET_KEY=your-service-role-keyImportant security note: The service role key has full access to your database and bypasses RLS. Never expose this key in client-side code or check it into version control. It should only be used for server-side or local CLI applications.
Automatic Setup
Run the following command to automatically configure your Track Master environment:
node final-solution.jsThis will guide you through setting up the necessary configuration.
Field Mapping
Valid Status Values
Through testing, we've confirmed that the following status values are accepted by your Supabase schema:
| Local Status | Supabase Status | 
|---|---|
| 'pending' | 'pending' | 
| 'in-progress' | 'in_progress' | 
| 'done' | 'done' | 
| 'canceled' | 'cancelled' | 
Note: The value 'todo' is NOT a valid status in your Supabase schema. The CLI automatically maps 'todo' to 'pending' behind the scenes.
When syncing tasks between Track Master and Supabase, the following field mappings are applied:
Status Field
Track Master Status ā Supabase Status
------------------------------------
pending           ā todo
in-progress       ā in_progress
done              ā donePriority Field
Track Master Priority ā Supabase Priority
--------------------------------------
low                 ā 1
medium              ā 2
high                ā 3
critical            ā 4These mappings ensure compatibility between the CLI tool and your existing web application.
Resolving Supabase Issues
Fixed Issues
- Wrong Table Reference: Updated adapter to use 
project_taskstable instead oftasks - Field Types: Fixed priority and status fields to use text values instead of numbers:
- Priority: Used text values ('low', 'medium', 'high') instead of numbers
 - Status: Ensured only valid status values ('todo', 'in_progress', 'done', 'cancelled') are used
 
 - Row Level Security (RLS): Used service role key for CLI tool while maintaining RLS in web app
 - Schema Compatibility: Adapted CLI schema to match exactly what the web app uses
 
Required Setup
Service Role Key: The CLI tool requires a service role key to bypass RLS policies
- Add this to your 
.envfile:SUPABASE_SECRET_KEY=your-service-role-key - You can get this from your Supabase dashboard: Project Settings > API > Service Role Key
 
- Add this to your 
 Valid Status Values: The following status mappings are enforced:
pendingātodoin-progressāin_progressdoneādonecancelled/canceledācancelled
Valid Priority Values: The following priority mappings are used:
lowālow(text value)mediumāmedium(text value)highāhigh(text value)criticalāhigh(text value)
Troubleshooting
If you encounter issues with task statuses:
1. Use node sync-remaining-tasks.js to sync only tasks with 'pending' status
2. Check the database schema for the exact allowable values for the status field
3. Update your local task statuses to match what's acceptable in your Supabase schema
6 months ago