Implement opal-task Phase 1: Database foundation

- Add SQLite database with schema for tasks, tags, and working_set
- Implement config management with Viper (opal.yml)
- Create Task struct with proper types (*time.Time, Priority int)
- Add database migration system
- Implement recurrence pattern parsing (1d, 1w, 1m, 1y)
- Setup project structure with cmd/ and internal/engine/
- Add dependencies: sqlite3, uuid, cobra, viper, color
This commit is contained in:
2026-01-04 14:41:16 +01:00
parent 1d87d93172
commit 9b5261b34c
14 changed files with 579 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
package engine
// WorkingSet is a mapping from small integers to task uuids for all pending tasks.
// The small integers are meant to be stable, easily-typed identifiers for users to interact with
// important tasks.
type WorkingSet struct {
byUUID map[string]*Task
byID []string
}