Simplify Phase 1: remove tags and move theme to GUI phase

Cleaned up data model and configuration scope:

REMOVED:
- Tags field from Task model (out of scope, may never be needed)
- Tags from frontmatter example
- Tags from Phase 7 features
- Theme from Phase 1 AppConfig (not needed until GUI)

MOVED:
- Theme configuration to Phase 3 (when GUI is introduced)
- Added updated AppConfig in Phase 3 showing theme, window_size, last_opened_list

Phase 1 now focuses on core essentials:
- Task CRUD operations
- Markdown file I/O
- Basic data model (id, status, due_date, parent_id)
- CLI functionality

Benefits:
- Simpler Phase 1 implementation
- Less upfront complexity
- Theme configuration appears when it's actually used (GUI)
- Tags can be added later if needed (or never)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude 2025-11-02 18:41:33 +00:00
parent fd04624677
commit 71619eddf9
No known key found for this signature in database

28
PLAN.md
View file

@ -62,7 +62,6 @@ due: 2025-11-15T14:00:00Z
created: 2025-10-26T10:00:00Z
updated: 2025-10-26T12:30:00Z
parent: 550e8400-e29b-41d4-a716-446655440001
tags: [work, urgent]
---
Task description and notes go here in **markdown** format.
@ -84,8 +83,7 @@ Task {
due_date: Option<DateTime>, // From frontmatter
created_at: DateTime,
updated_at: DateTime,
parent_id: Option<Uuid>,
tags: Vec<String>,
parent_id: Option<Uuid>, // For subtasks
// Note: position stored in .listdata.json, not in frontmatter
}
@ -100,8 +98,7 @@ TaskList {
AppConfig {
local_path: PathBuf, // User-selected tasks folder (required)
theme: Theme,
last_opened_list: Option<Uuid>,
// Note: theme and UI preferences added in Phase 3 (GUI)
}
```
@ -332,8 +329,7 @@ AppConfig {
webdav_url: Option<String>,
webdav_credentials: Option<Credentials>,
last_sync: Option<DateTime>,
// Note: list_order and last_opened_list now in .metadata.json at root of tasks folder
// ...
// Note: list_order and last_opened_list in .metadata.json at root of tasks folder
}
// Add sync methods to TaskRepository
@ -455,6 +451,21 @@ crates/bevy-tasks-gui/
- No default hidden directories
- Remember choice in app config
#### App Configuration (Phase 3+)
**Update AppConfig** to include UI preferences:
```rust
AppConfig {
local_path: PathBuf, // From Phase 1
webdav_url: Option<String>, // From Phase 2
webdav_credentials: Option<Credentials>,
last_sync: Option<DateTime>,
theme: Theme, // NEW: light/dark mode
window_size: Option<(u32, u32)>, // NEW: remember window size
last_opened_list: Option<Uuid>, // NEW: restore last view
}
```
### Dependencies
**bevy-tasks-gui/Cargo.toml**:
@ -621,7 +632,7 @@ mod android {
- [ ] Move tasks between lists
- [ ] Change storage folder location in settings
- [ ] Search functionality
- [ ] Themes (light/dark mode)
- [ ] Theme selection (light/dark mode)
#### Desktop-Specific
- [ ] Drag & drop reordering
@ -702,7 +713,6 @@ mod android {
- [ ] Easy onboarding for Google Tasks users
#### Advanced Task Management
- [ ] Tags and custom fields
- [ ] Recurring tasks (daily, weekly, monthly, custom)
- [ ] Task templates (save common tasks)
- [ ] Bulk operations (select multiple, bulk edit)