Skip to main content
Glama
README.md6.53 kB
# @task-master/tm-core Core library for Task Master AI - providing task management and orchestration capabilities with TypeScript support. ## Overview `tm-core` is the foundational library that powers Task Master AI's task management system. It provides a comprehensive set of tools for creating, managing, and orchestrating tasks with AI integration. ## Features - **TypeScript-first**: Built with full TypeScript support and strict type checking - **Dual Format**: Supports both ESM and CommonJS with automatic format detection - **Modular Architecture**: Clean separation of concerns with dedicated modules for different functionality - **AI Provider Integration**: Pluggable AI provider system for task generation and management - **Flexible Storage**: Abstracted storage layer supporting different persistence strategies - **Task Parsing**: Advanced parsing capabilities for various task definition formats - **Error Handling**: Comprehensive error system with specific error types - **Testing**: Complete test coverage with Jest and TypeScript support ## Installation ```bash npm install @task-master/tm-core ``` ## Usage ### Basic Usage ```typescript import { generateTaskId, PlaceholderTask } from '@task-master/tm-core'; // Generate a unique task ID const taskId = generateTaskId(); // Create a task (coming soon - full implementation) const task: PlaceholderTask = { id: taskId, title: 'My Task', status: 'pending', priority: 'medium' }; ``` ### Modular Imports You can import specific modules to reduce bundle size: ```typescript // Import types only import type { TaskId, TaskStatus } from '@task-master/tm-core/types'; // Import utilities import { generateTaskId, formatDate } from '@task-master/tm-core/utils'; // Import providers (AI providers coming soon) // import { AIProvider } from '@task-master/tm-core/providers'; // Import storage import { PlaceholderStorage } from '@task-master/tm-core/storage'; // Import parsers import { PlaceholderParser } from '@task-master/tm-core/parser'; // Import errors import { TmCoreError, TaskNotFoundError } from '@task-master/tm-core/errors'; ``` ## Architecture The library is organized into several key modules: - **types/**: TypeScript type definitions and interfaces - **providers/**: AI provider implementations for task generation - **storage/**: Storage adapters for different persistence strategies - **parser/**: Task parsing utilities for various formats - **utils/**: Common utility functions and helpers - **errors/**: Custom error classes and error handling ## Development ### Prerequisites - Node.js >= 20.0.0 - npm or yarn ### Setup ```bash # Install dependencies npm install # Build the library npm run build # Run tests npm test # Run tests with coverage npm run test:coverage # Lint code npm run lint # Format code npm run format ``` ### Scripts - `build`: Build the library for both ESM and CJS formats - `build:watch`: Build in watch mode for development - `test`: Run the test suite - `test:watch`: Run tests in watch mode - `test:coverage`: Run tests with coverage reporting - `lint`: Lint TypeScript files - `lint:fix`: Lint and auto-fix issues - `format`: Format code with Prettier - `format:check`: Check code formatting - `typecheck`: Type-check without emitting files - `clean`: Clean build artifacts - `dev`: Development mode with watch ## ESM and CommonJS Support This package supports both ESM and CommonJS formats automatically: ```javascript // ESM import { generateTaskId } from '@task-master/tm-core'; // CommonJS const { generateTaskId } = require('@task-master/tm-core'); ``` ## Roadmap This is the initial package structure. The following features are planned for implementation: ### Task 116: TypeScript Types - [ ] Complete type definitions for tasks, projects, and configurations - [ ] Zod schema validation - [ ] Generic type utilities ### Task 117: AI Provider System - [ ] Base provider interface - [ ] Anthropic Claude integration - [ ] OpenAI integration - [ ] Perplexity integration - [ ] Provider factory and registry ### Task 118: Storage Layer - [ ] File system storage adapter - [ ] Memory storage adapter - [ ] Storage interface and factory ### Task 119: Task Parser - [ ] PRD parser implementation - [ ] Markdown parser - [ ] JSON task format parser - [ ] Validation utilities ### Task 120: Utility Functions - [ ] Task ID generation - [ ] Date formatting - [ ] Validation helpers - [ ] File system utilities ### Task 121: Error Handling - [ ] Task-specific errors - [ ] Storage errors - [ ] Provider errors - [ ] Validation errors ### Task 122: Configuration System - [ ] Configuration schema - [ ] Default configurations - [ ] Environment variable support ### Task 123: Testing Infrastructure - [ ] Unit test coverage - [ ] Integration tests - [ ] Mock utilities ### Task 124: Documentation - [ ] API documentation - [ ] Usage examples - [ ] Migration guides ### Task 125: Package Finalization - [ ] Final testing and validation - [ ] Release preparation - [ ] CI/CD integration ## Implementation Checklist ### ✅ Task 115: Initialize tm-core Package Structure (COMPLETED) - [x] Create tm-core directory structure and base configuration files - [x] Configure build and test infrastructure - [x] Create barrel export files for all directories - [x] Add development tooling and documentation - [x] Validate package structure and prepare for development ### 🚧 Remaining Implementation Tasks - [ ] **Task 116**: TypeScript Types - Complete type definitions for tasks, projects, and configurations - [ ] **Task 117**: AI Provider System - Base provider interface and integrations - [ ] **Task 118**: Storage Layer - File system and memory storage adapters - [ ] **Task 119**: Task Parser - PRD, Markdown, and JSON parsers - [ ] **Task 120**: Utility Functions - Task ID generation, validation helpers - [ ] **Task 121**: Error Handling - Task-specific and validation errors - [ ] **Task 122**: Configuration System - Schema and environment support - [ ] **Task 123**: Testing Infrastructure - Complete unit and integration tests - [ ] **Task 124**: Documentation - API docs and usage examples - [ ] **Task 125**: Package Finalization - Release preparation and CI/CD ## Contributing This package is part of the Task Master AI project. Please refer to the main project's contributing guidelines. ## License MIT - See the main project's LICENSE file for details. ## Support For questions and support, please refer to the main Task Master AI documentation.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eyaltoledano/claude-task-master'

If you have feedback or need assistance with the MCP directory API, please join our Discord server