The Problem

AI-driven development workflows need structured task management that persists across sessions and editors. Existing solutions either lack integration points for tooling or impose heavy framework constraints. This repo addresses that gap by providing a task-management system designed to work with any AI chat interface, but the codebase shows signs of architectural debt that affect maintainability.

What This Does

The repository is a collection of 6 self-contained projects (packages, apps, mcp-server, src, scripts, bin) totaling 1253 files. Core functionality lives in packages/tm-core/src and is consumed by 372 package files and 262 app files. Entry point run at packages/tm-core/src/modules/loop/loop-domain.ts:60 reaches 191 functions, while start at apps/cli/src/utils/auth-ui.ts:50 reaches 225 functions. The system touches filesystem via 40 functions (reads/writes) and makes outbound network calls through 1 function. Key data flows include execute -> handleApiResult (43 times), register -> addCommand (16 times), and getContext called from 44 places. Hub module scripts/modules/utils.js has 117 dependents and 1340 lines across 7 high cognitive-load findings.

How It Is Wired

Control flows through established entry points: run initiates the main loop, start handles CLI authentication, execute in apps/cli/src/commands/autopilot/abort.command.ts:29 reaches 242 functions and is the primary command execution path. Import cycles affect 38 modules across scripts/modules/utils.js, scripts/modules/config-manager.js, and scripts/modules/task-manager.js — these cycles increase blast radius when modifying shared logic. The most connected module scripts/modules/utils.js has Ca=117, Ce=3 and participates in a cycle, meaning changes ripple widely. packages/tm-core/src/index has instability 0.95 (Ca=2, Ce=41), making it a high-risk consolidation point. Paths from entry to filesystem: run -> finalize -> finalizeWorkflow -> getContext [fs.readFileSync]; start -> doGenerate -> getApiKey [fs.readFile].

How To Use It

Setup: No Dockerfile present. Project uses npm as package manager (4 package.json files in apps/cli, apps/docs, apps/extension, apps/mcp). Install with npm install at repo root.

Configuration: Required environment variables defined in .env.example. No committed secrets found, but configure API keys per editor integration guide.

Running it: CLI entry via npm run scripts defined in apps/cli/package.json. For Cursor integration, add Taskmaster MCP server using the Claude Code deeplink. For CLI use: npx task-master after installation.

Real-World Use

In a typical AI development workflow, a user runs task-master create --title "Implement auth" to persist a task. The execute command routes through handleApiResult to update storage via api-storage.ts constructor functions (validateConfig, initialize, getStorageType). Tags and workstreams are managed through packages/tm-core/src/modules/tags and workstreams domains. The system writes task state to .taskmaster/ directory, preserving context across editor restarts. Team collaboration uses the shared brief infrastructure in packages/tm-core/src/modules/briefs/.

Code Health & Issues

  • HIGH: Pin third-party GitHub Actions to commit SHA — .github/workflows uses dorny/paths-filter@v3, changesets/action@v1, stefanzweifel/git-auto-commit-action@v5 without SHAs; tags can move and leak secrets.
  • MEDIUM: Declare least-privilege permissions for GITHUB_TOKEN — 1 workflow declares no permissions, inheriting repository defaults.
  • MEDIUM: Enable Dependabot or Renovate — 11 manifest(s) with no update bot configured; advisories remain unpatched.
  • MEDIUM: Gate pull requests on dependency vulnerability scan — no dependency scan in CI; vulnerable packages can reach build.
  • MEDIUM: Set persist-credentials: false on checkout — checkout keeps token in .git/config, enabling malicious postinstall scripts to read pushable credentials.
  • LOW: Set timeout-minutes on workflow jobs — 1 workflow has no job timeout, risking overlap on two-hourly schedule.
  • LOW: Missing convention files — absent .editorconfig, .gitattributes, formatter config.

The Bottom Line

This repo delivers a functional task-management system that integrates with multiple AI editors and provides genuine cross-session persistence. The architecture spans 6 semi-independent projects, which offers flexibility but creates integration surface area. High-priority code health items center on CI/CD hardening (pinning action SHAs, adding dependency scanning, tightening token permissions). Teams already invested in the Taskmaster ecosystem will find immediate value; others should weigh the integration overhead against the benefit of editor-agnostic task tracking. The cognitive-load findings (oversized files, import cycles, deep nesting) suggest refactoring effort if long-term maintenance is a priority.