$ show eyaltoledano/claude-task-master
Task Master is a monorepo providing an AI-driven task management system designed for integration with AI coding assistants (Claude Code, Cursor, Windsurf, etc.). It consists of a CLI tool (`task-master`), an MCP server, a VS Code extension, and core library packages. The system manages tasks with statuses, priorities, dependencies, tags, and subtasks, and offers AI-assisted operations like PRD parsing, task expansion, complexity analysis, and TDD workflow automation (autopilot). It supports multiple storage backends (local JSON files, remote Hamster API via Supabase) and 15+ AI providers. The architecture follows a clean layered pattern with domain modules in `@tm/core` consumed by CLI and MCP interfaces, though a legacy `scripts/` directory still contains overlapping logic being gradually migrated. The codebase demonstrates strong engineering practices including factory patterns, abstract base classes, dependency injection, atomic file operations, and extensive test coverage. Some technical drift is present due to the ongoing migration from JavaScript to TypeScript and duplicated MCP server implementations.
The LLM identified 6 files worth highlighting for reuse:
Implements atomic JSON file operations with cross-process locking using `steno` for atomic writes and `proper-lockfile` for file-based locks. Provides `readJson`, `writeJson`, `modifyJson`, `deleteJson`, `exists`, and `atomicFileWrite`. The `modifyJson` pattern reads a file, applies a transform, then writes atomically, preventing data corruption from concurrent processes. This is a reusable utility for any project needing safe concurrent file access.
Provides a layered configuration merging system with three tiers: defaults, global config, local project config, and environment variables. The merge logic handles partial updates and supports custom validation. This pattern is cleanly isolated and can be extracted for any application requiring hierarchical configuration merging.
A lightweight logger factory that creates named logger instances with configurable levels, MCP transport support (sends log events via MCP server), and child loggers. Supports silent mode and runtime level changes. The design is clean, has no external dependencies beyond a few types, and can be reused in any Node.js or Bun application needing structured logging with transport abstraction.
Manages authentication sessions with Supabase, including OAuth flows, token refresh, MFA handling, and legacy migration. Uses an initialization promise pattern to prevent race conditions during concurrent calls. The session lifecycle is well-defined and isolated from UI logic. This module can be extracted as a reusable auth service for any Supabase-based application.
Abstract base class for AI providers implementing common capabilities like retry (with exponential backoff), token usage tracking, and concurrency control. Concrete providers only need to implement a few abstract methods. The retry and tracking logic is generic and can be reused for any external API integration with rate limits or transient failures.
Detects the active AI coding IDE (Cursor, Windsurf, VS Code, etc.) by checking environment variables, process names, and file system markers. Uses a profile map for easy extension. This is a reusable utility for any tool that needs to adapt its behavior based on the developer environment.