Merge _configs/ into config/ for single configuration directory. Update all path references. Changes: - Move _configs/* to config/ - Update .gitignore for new patterns - No code references to _configs/ found Impact: -1 root directory (layout_conventions.md compliance)
359 lines
11 KiB
Markdown
359 lines
11 KiB
Markdown
# Syntaxis - Features Guide
|
||
|
||
Comprehensive feature comparison and documentation for the **Terminal UI (TUI)** and **Web Dashboard** interfaces.
|
||
|
||
---
|
||
|
||
## 📊 Feature Parity Matrix
|
||
|
||
### Project Management
|
||
|
||
| Feature | TUI | Dashboard | Notes |
|
||
|---------|-----|-----------|-------|
|
||
| View Projects List | ✅ | ✅ | Table/grid display of all projects |
|
||
| View Project Details | ✅ | ✅ | Detailed information per project |
|
||
| Create Projects | ✅ | ✅ | Form-based project creation |
|
||
| Delete Projects | ❌ | ✅ | Future TUI enhancement |
|
||
| Search Projects | ❌ | ✅ | Filter by name/description |
|
||
| View Security Assessments | ✅ | ✅ | Security profile & risk levels |
|
||
| Project Phases | ✅ | ✅ | Track current phase |
|
||
|
||
### Task Management
|
||
|
||
| Feature | TUI | Dashboard | Notes |
|
||
|---------|-----|-----------|-------|
|
||
| View Task List | ✅ | ✅ | All tasks for a project |
|
||
| Create Tasks | ✅ | ✅ | Add new tasks/checklists |
|
||
| Complete/Uncomplete Tasks | ✅ | ✅ | Toggle completion status |
|
||
| Task Priority Levels | ✅ | ✅ | Critical, High, Medium, Low |
|
||
| Task Type Classifications | ✅ | ✅ | Feature, BugFix, Documentation, Testing, Deployment, Maintenance |
|
||
| View Task Details | ✅ | ✅ | ID, description, priority, type, status |
|
||
|
||
### Task Sorting
|
||
|
||
| Sort Option | TUI | Dashboard | Details |
|
||
|-------------|-----|-----------|---------|
|
||
| Newest First | ✅ | ✅ | Sort by creation date (descending) |
|
||
| Oldest First | ✅ | ✅ | Sort by creation date (ascending) |
|
||
| Highest Priority | ✅ | ✅ | Critical → High → Medium → Low |
|
||
| Lowest Priority | ✅ | ✅ | Low → Medium → High → Critical |
|
||
| Completed First | ✅ | ✅ | Completed tasks before pending |
|
||
| Pending First | ✅ | ✅ | Pending tasks before completed |
|
||
| **Total Sort Options** | **6** | **6** | **Feature Parity Achieved ✅** |
|
||
|
||
### Task Filtering
|
||
|
||
| Feature | TUI | Dashboard | Details |
|
||
|---------|-----|-----------|---------|
|
||
| Show All Tasks | ✅ | ✅ | Display entire task list |
|
||
| Show Pending Only | ✅ | ✅ | Filter to incomplete tasks |
|
||
| Show Completed Only | ✅ | ✅ | Filter to completed tasks |
|
||
| Search by Description | ✅ | ✅ | Real-time text search |
|
||
| Filter by Priority | ❌ | ✅ | Future TUI enhancement |
|
||
|
||
### Task Statistics
|
||
|
||
| Metric | TUI | Dashboard | Details |
|
||
|--------|-----|-----------|---------|
|
||
| Total Tasks Count | ✅ | ✅ | Complete task count |
|
||
| Completed Count | ✅ | ✅ | Number of completed tasks |
|
||
| Pending Count | ✅ | ✅ | Number of incomplete tasks |
|
||
| Completion Percentage | ✅ | ✅ | (Completed / Total) × 100 |
|
||
| Progress Bar | ✅ | ✅ | Visual progress visualization |
|
||
| Per-Priority Statistics | ❌ | ✅ | Breakdown by priority level |
|
||
| Per-Type Statistics | ❌ | ✅ | Breakdown by task type |
|
||
|
||
### User Interface
|
||
|
||
| Feature | TUI | Dashboard | Details |
|
||
|---------|-----|-----------|---------|
|
||
| Keyboard Navigation | ✅ | ⚠️ | TUI has vim-style (hjkl) keys |
|
||
| Mouse Support | ❌ | ✅ | Dashboard has full mouse support |
|
||
| Responsive Design | ✅ | ✅ | Adapts to screen/window size |
|
||
| Color Themes | ❌ | ✅ | Future enhancement for TUI |
|
||
| Dark Mode | ❌ | ✅ | Supported in Dashboard |
|
||
| Real-time Updates | ✅ | ✅ | Live data synchronization |
|
||
|
||
---
|
||
|
||
## 🎯 Task Priority Levels
|
||
|
||
Both TUI and Dashboard support identical priority classifications:
|
||
|
||
```
|
||
Critical (🔴) - Highest priority, needs immediate attention
|
||
High (🟠) - Important, should be completed soon
|
||
Medium (🟡) - Standard priority (default)
|
||
Low (🟢) - Can be deferred
|
||
```
|
||
|
||
### Priority Sorting Behavior
|
||
|
||
- **Highest Priority Sort**: Critical → High → Medium → Low
|
||
- **Lowest Priority Sort**: Low → Medium → High → Critical
|
||
- **Default Priority**: Medium (applied to tasks without explicit priority)
|
||
|
||
---
|
||
|
||
## 🏷️ Task Type Classifications
|
||
|
||
Both TUI and Dashboard recognize six task type categories:
|
||
|
||
| Type | Icon | Purpose | Use Case |
|
||
|------|------|---------|----------|
|
||
| Feature | ⭐ | New feature implementation | Building new capabilities |
|
||
| BugFix | 🐛 | Bug fixes and patches | Fixing issues and regressions |
|
||
| Documentation | 📚 | Documentation and guides | Writing docs and guides |
|
||
| Testing | ✔ | Testing and QA tasks | Quality assurance work |
|
||
| Deployment | 🚀 | Deployment and release | Release management |
|
||
| Maintenance | 🔧 | Maintenance and updates | Ongoing maintenance work |
|
||
|
||
### Default Task Type
|
||
|
||
When a task doesn't specify a type, it defaults to **Feature**.
|
||
|
||
---
|
||
|
||
## 📈 Statistics Calculation
|
||
|
||
### Real-time Metrics
|
||
|
||
Both TUI and Dashboard continuously calculate:
|
||
|
||
1. **Total Tasks**: Sum of all tasks in a project
|
||
```
|
||
Total = Count(all tasks)
|
||
```
|
||
|
||
2. **Completed Count**: Tasks marked as done
|
||
```
|
||
Completed = Count(tasks where completed == true)
|
||
```
|
||
|
||
3. **Pending Count**: Tasks not yet completed
|
||
```
|
||
Pending = Total - Completed
|
||
```
|
||
|
||
4. **Completion Percentage**: Project progress indicator
|
||
```
|
||
Percentage = (Completed / Total) × 100
|
||
```
|
||
|
||
5. **Progress Bar**: Visual representation
|
||
- Filled: █ (completed)
|
||
- Empty: ░ (pending)
|
||
|
||
### Example Calculation
|
||
|
||
For a project with 10 tasks (7 completed, 3 pending):
|
||
```
|
||
Total: 10
|
||
Completed: 7
|
||
Pending: 3
|
||
Completion %: 70.0%
|
||
Progress Bar: [███████░░]
|
||
```
|
||
|
||
---
|
||
|
||
## 🎨 Display Examples
|
||
|
||
### Terminal UI (TUI) - Task Statistics Screen
|
||
|
||
```
|
||
┌─ Statistics ──────────────────────────────────────────────┐
|
||
│ Total: 10 | Completed: 7 ✓ | Pending: 3 ⏳ | Progress: 70.0%
|
||
│
|
||
│ [███████░░] │
|
||
└──────────────────────────────────────────────────────────┘
|
||
|
||
┌─ Tasks (10) [Filtered] ───────────────────┬─ Details ─────────┐
|
||
│ [✓] Implement authentication │ ID: task_001 │
|
||
│ [ ] Add caching layer │ Priority: High │
|
||
│ [✓] Write documentation │ Type: Feature │
|
||
│ [ ] Setup CI/CD pipeline │ │
|
||
│ [✓] Deploy to staging │ Status: Completed │
|
||
│ ... │ Created: 2025-... │
|
||
└────────────────────────────────────────────┴───────────────────┘
|
||
|
||
Help: q/Esc: Quit | ↑↓: Navigate | Space: Toggle | n: New | /: Filter
|
||
```
|
||
|
||
### Web Dashboard - Task Statistics Display
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ Statistics │
|
||
│─────────────────────────────────────────────────────────│
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
||
│ │ Total │ │Completed │ │ Completion % │ │
|
||
│ │ 10 │ │ 7 │ │ 70.0% │ │
|
||
│ └──────────┘ └──────────┘ └──────────────┘ │
|
||
│ │
|
||
│ [███████░░] │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## ⌨️ Terminal UI (TUI) Key Bindings
|
||
|
||
### General Navigation
|
||
- **q** or **Esc**: Quit application
|
||
- **Tab**: Switch between main screens
|
||
|
||
### Projects Screen
|
||
- **↑/k** or **↓/j**: Navigate projects
|
||
- **Enter**: View project details
|
||
- **c**: Create new project
|
||
- **s**: View security assessments
|
||
|
||
### Tasks Screen
|
||
- **↑/k** or **↓/j**: Navigate task list
|
||
- **Space**: Toggle task completion
|
||
- **n**: Create new task
|
||
- **/**: Open sort/filter menu
|
||
- **f**: Toggle completion filter
|
||
- **c**: Clear all filters
|
||
- **←/h** or **→/l**: Navigate sort options
|
||
- **Enter**: Apply selected sort
|
||
- **b**: Back to project details
|
||
|
||
### Edit Screens
|
||
- **b**: Cancel and go back
|
||
|
||
---
|
||
|
||
## 🔄 Implementation Details
|
||
|
||
### Data Models
|
||
|
||
Both TUI and Dashboard use identical data structures:
|
||
|
||
```rust
|
||
struct ChecklistItemDto {
|
||
id: String,
|
||
task_id: String,
|
||
description: String,
|
||
completed: bool,
|
||
completed_at: Option<String>,
|
||
created_at: String,
|
||
priority: TaskPriority, // Added in Phase 12
|
||
task_type: TaskType, // Added in Phase 12
|
||
}
|
||
|
||
enum TaskPriority {
|
||
Critical,
|
||
High,
|
||
Medium,
|
||
Low,
|
||
}
|
||
|
||
enum TaskType {
|
||
Feature,
|
||
BugFix,
|
||
Documentation,
|
||
Testing,
|
||
Deployment,
|
||
Maintenance,
|
||
}
|
||
```
|
||
|
||
### Backward Compatibility
|
||
|
||
Both applications use `#[serde(default)]` attributes on new fields, ensuring compatibility with older API versions that don't return priority/type information.
|
||
|
||
### Sorting Implementation
|
||
|
||
Type-safe sorting using Rust enums:
|
||
|
||
```rust
|
||
pub(crate) enum TaskSortOption {
|
||
CreatedNewest,
|
||
CreatedOldest,
|
||
PriorityHighest,
|
||
PriorityLowest,
|
||
CompletedFirst,
|
||
PendingFirst,
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 Comparison Summary
|
||
|
||
### When to Use TUI
|
||
|
||
✅ **Best for:**
|
||
- Command-line workflows
|
||
- Remote SSH sessions (no GUI needed)
|
||
- Power users comfortable with keyboard navigation
|
||
- Minimal resource usage
|
||
- Quick task management without browser overhead
|
||
|
||
### When to Use Dashboard
|
||
|
||
✅ **Best for:**
|
||
- Team collaboration (shared dashboard view)
|
||
- Visual project overview
|
||
- Mouse-based navigation preference
|
||
- Complex filtering and analysis
|
||
- Advanced reporting (per-priority/type statistics)
|
||
- Mobile/tablet access (responsive web design)
|
||
|
||
### Feature Parity (Phase 12)
|
||
|
||
**TUI Capabilities:**
|
||
- 6 sort options ✅
|
||
- Task statistics with progress bar ✅
|
||
- Priority and type support ✅
|
||
- Real-time filtering ✅
|
||
- Vim-style navigation ✅
|
||
|
||
**Dashboard Capabilities:**
|
||
- 6 sort options ✅
|
||
- Task statistics with breakdown ✅
|
||
- Priority and type support ✅
|
||
- Advanced filtering (by priority/type) ✅
|
||
- Mouse and keyboard support ✅
|
||
- Mobile responsive design ✅
|
||
|
||
---
|
||
|
||
## 🚀 Roadmap
|
||
|
||
### Short Term (Next Sprint)
|
||
- [ ] Display priority/type badges in TUI task list
|
||
- [ ] Filter by priority in TUI
|
||
- [ ] Dashboard export to CSV/JSON
|
||
- [ ] Task due date support
|
||
|
||
### Medium Term (Q1 2025)
|
||
- [ ] Priority/type breakdown statistics (both interfaces)
|
||
- [ ] TUI color themes
|
||
- [ ] Dashboard mobile improvements
|
||
- [ ] Task dependency tracking
|
||
|
||
### Long Term (Q2+ 2025)
|
||
- [ ] Team collaboration features
|
||
- [ ] Task assignment and notifications
|
||
- [ ] Burndown chart visualization
|
||
- [ ] Integration with external tools
|
||
- [ ] API rate limiting and caching
|
||
|
||
---
|
||
|
||
## 📚 Related Documentation
|
||
|
||
- **TUI README**: `crates/syntaxis-tui/README.md`
|
||
- **Dashboard README**: `crates/syntaxis-dashboard/README.md`
|
||
- **API Documentation**: `crates/syntaxis-api/README.md`
|
||
- **Architecture Guide**: `ARCHITECTURE.md`
|
||
|
||
---
|
||
|
||
**Last Updated**: November 14, 2025
|
||
**Status**: Feature Parity Achieved ✅ (Phase 12)
|
||
**Tests**: 52 TUI + 12 Dashboard = 64 tests passing ✅
|