diff --git a/server/tm/README.md b/server/tm/README.md
new file mode 100644
index 0000000..6b6e62d
--- /dev/null
+++ b/server/tm/README.md
@@ -0,0 +1,76 @@
+# Task Management (tm) Package
+
+The `tm` package provides a comprehensive task management system with support for task dependencies, ownership, and various task states.
+
+## Overview
+
+This package defines interfaces and types for managing tasks in a system where:
+- Each task has a single owner
+- Tasks can be in various states (todo, in progress, completed, etc.)
+- Tasks have priorities and due dates
+
+## Core Components
+
+### Types (`types.go`)
+
+- **Task**: The main task entity with all task properties
+- **TaskStatus**: Enum for task states (pending, in progress, completed, etc.)
+- **TaskPriority**: Enum for task priorities (low, medium, high, urgent)
+- **Owner**: Represents a task owner
+
+- **TaskFilter**: For filtering task queries
+- **Request/Response types**: For API operations
+
+### Interfaces (`interface.go`)
+
+#### TaskManager
+The main interface for task management operations:
+- CRUD operations for tasks
+- Task status management (start, complete)
+- Task queries and filtering
+- Task archiving
+
+### Errors (`errors.go`)
+
+Comprehensive error definitions:
+- Common task management errors
+- Task-specific errors with context
+
+## Key Features
+
+### Task States
+- **To Do**: Task is created but not started
+- **In Progress**: Task is currently being worked on
+- **Completed**: Task is finished
+- **Archived**: Task is archived (soft delete)
+
+### Task Priorities
+- **Low**: Low priority tasks
+- **Medium**: Normal priority tasks
+- **High**: High priority tasks
+
+### Filtering and Queries
+- Filter by owner, status, priority
+- Filter by date ranges
+- Pagination support
+
+## Usage Example
+
+```go
+// Create a task manager implementation
+var taskManager tm.TaskManager
+
+// Create a new task
+task, err := taskManager.CreateTask(ctx, &tm.TaskCreateRequest{
+    Title:       "Implement user authentication",
+    Description: "Add login and registration functionality",
+    OwnerID:     "user123",
+    Priority:    tm.PriorityHigh,
+})
+
+// Start a task
+task, err = taskManager.StartTask(ctx, "task1")
+
+// Complete a task
+task, err = taskManager.CompleteTask(ctx, "task1")
+```
