updated docs

This commit is contained in:
serversdwn
2025-11-25 23:26:47 +00:00
parent 1a6c8cf98c
commit bd0ac0d95b
2 changed files with 129 additions and 17 deletions

View File

@@ -2,7 +2,7 @@
**Task Decomposition Engine** - A self-hosted web application for managing deeply nested todo trees with advanced time tracking and project planning capabilities.
![Version](https://img.shields.io/badge/version-0.1.5-orange)
![Version](https://img.shields.io/badge/version-0.1.6-orange)
![License](https://img.shields.io/badge/license-MIT-blue)
## Overview
@@ -15,13 +15,21 @@ TESSERACT is designed for complex project management where tasks naturally decom
- **Dual View Modes**:
- **Tree View**: Hierarchical collapsible tree with full nesting
- **Nested Kanban**: Status-based board where parent tasks appear in multiple columns
- **Dynamic Status Workflows** (v0.1.6):
- Customizable per-project status workflows
- Drag-and-drop status reordering
- Add, rename, or delete statuses with validation
- Project Settings modal for easy configuration
- **Intelligent Time Tracking**:
- Leaf-based time calculation (parent times = sum of descendant leaf tasks)
- Automatic exclusion of completed tasks from time estimates
- Shows remaining work, not total estimated work
- Auto-complete parents when all children are done
- **Rich Metadata**: Tags, time estimates, priority flags, and status tracking
- **Enhanced Task Creation**: Full-featured forms with all metadata fields upfront
- **Rich Metadata**: Tags, time estimates, priority flags, and customizable status tracking
- **Enhanced Task Creation**:
- Full-featured forms with all metadata fields upfront
- Status selector in task creation forms
- Subtask creation directly in Kanban view
- **LLM Integration**: Import JSON task trees generated by AI assistants
- **Real-Time Search**: Find tasks across projects with filtering
- **Self-Hosted**: Full data ownership and privacy
@@ -79,23 +87,43 @@ docker-compose down -v
2. Enter a project name and optional description
3. Click "Create"
### Managing Project Settings
Click the **⚙️ Settings** button in the project header to access:
**Status Workflow Management:**
- **View Statuses**: See all current statuses in order with task counts
- **Reorder**: Drag and drop statuses to change Kanban column order
- **Add Status**: Click "+ Add Status" to create a new custom status
- **Rename**: Click any status name to edit inline (auto-formats to lowercase_with_underscores)
- **Delete**: Click trash icon to remove unused statuses
- Cannot delete statuses that have tasks (shows warning with count)
- Cannot delete the last remaining status
- **Save**: Click "Save Changes" to apply your workflow
**Default Statuses**: `backlog`, `in_progress`, `on_hold`, `done`
### Managing Tasks
#### Tree View
**Add Root Task**: Click "+ Add Root Task" button
- Enter title (required)
- Add description (optional)
- Add tags (comma-separated, e.g., "frontend, bug-fix")
- Set time estimate (hours and minutes)
- **Select status** (defaults to "backlog")
- Choose flag color (8 colors or none)
**Add Subtask**: Click the "+" icon on any task
- Same full-featured form as root tasks
- Creates a child of the selected task
- Status selector available
**Edit Task**: Click the three-dot menu (⋮) on any task
- **Change Status**: Backlog → In Progress → Blocked → Done
- **Change Status**: Choose from your project's custom statuses
- **Set Time Estimate**: Separate hours and minutes inputs
- **Edit Description**: Multi-line text area
- **Edit Tags**: Comma-separated list
- **Set Flag Color**: 8 colors available
- **Edit Title**: Rename the task
@@ -113,13 +141,22 @@ The Kanban board displays tasks in a nested hierarchy while maintaining status-b
- Have distinct styling (thick orange border, bold title)
- Click chevron to expand/collapse and see children in that column
- Cannot be dragged (only leaf tasks are draggable)
- Click "+" button to add subtasks directly
**Leaf Tasks**:
- Appear only in their status column
- Fully draggable between columns
- Standard card styling
- Click "+" button to add subtasks (converts to parent)
**Add Task**: Click "+" in any column to create a root-level task
**Add Root Task**: Click "+" in any column header
- Opens TaskForm with status pre-selected to that column
- All metadata fields available (tags, time, flag, description)
**Add Subtask**: Click "+" button on any task card (appears on hover)
- Opens TaskForm below the parent card
- Status defaults to current column
- Automatically expands parent after creation
**Move Tasks**: Drag and drop leaf task cards between columns
@@ -172,6 +209,11 @@ TESSERACT can import task hierarchies from JSON files, making it perfect for LLM
```json
{
"project": {
"name": "My Project",
"description": "Project description",
"statuses": ["backlog", "in_progress", "on_hold", "done"]
},
"tasks": [
{
"title": "Main Task",
@@ -198,7 +240,10 @@ TESSERACT can import task hierarchies from JSON files, making it perfect for LLM
}
```
See `example-import.json` for a complete example with v0.1.4 features.
**Notes:**
- `project.statuses` is optional (defaults to: backlog, in_progress, on_hold, done)
- `status` must match one of the project's statuses
- See `example-import.json` for a complete example
### Search
@@ -217,6 +262,7 @@ projects
├─ id (PK)
├─ name
├─ description
├─ statuses (JSON array, default: ["backlog", "in_progress", "on_hold", "done"])
├─ created_at
└─ updated_at
@@ -226,7 +272,7 @@ tasks
├─ parent_task_id (FK → tasks.id) [self-referencing]
├─ title
├─ description
├─ status (enum: backlog, in_progress, blocked, done)
├─ status (String, validated against project.statuses)
├─ sort_order
├─ estimated_minutes (Integer)
├─ tags (JSON array)
@@ -274,17 +320,18 @@ tesseract/
├─ frontend/
│ ├─ src/
│ │ ├─ components/
│ │ │ ├─ TreeView.jsx # Hierarchical tree
│ │ │ ├─ KanbanView.jsx # Status board
│ │ │ ├─ TaskMenu.jsx # Three-dot menu
│ │ │ ├─ TaskForm.jsx # Enhanced creation form
│ │ │ SearchBar.jsx # Search component
│ │ │ ├─ TreeView.jsx # Hierarchical tree
│ │ │ ├─ KanbanView.jsx # Status board
│ │ │ ├─ ProjectSettings.jsx # Status workflow management
│ │ │ ├─ TaskMenu.jsx # Three-dot menu
│ │ │ TaskForm.jsx # Enhanced creation form
│ │ │ └─ SearchBar.jsx # Search component
│ │ ├─ pages/
│ │ │ ├─ ProjectList.jsx # Project list
│ │ │ └─ ProjectView.jsx # Project detail
│ │ │ ├─ ProjectList.jsx # Project list
│ │ │ └─ ProjectView.jsx # Project detail
│ │ ├─ utils/
│ │ │ ├─ api.js # API client
│ │ │ └─ format.js # Time/tag formatting
│ │ │ ├─ api.js # API client
│ │ │ └─ format.js # Time/tag formatting
│ │ └─ App.jsx
│ ├─ Dockerfile
│ └─ package.json
@@ -363,9 +410,10 @@ services:
Ensure JSON structure matches schema. Common issues:
- Missing required `title` field
- Invalid `status` values (must be: backlog, in_progress, blocked, done)
- Invalid `status` values (must match project's statuses)
- Invalid `estimated_minutes` (must be positive integer)
- Malformed JSON syntax
- Status not in project's status list (import validates against project.statuses)
## Roadmap