summaryrefslogtreecommitdiff
path: root/.agent/ux_philosophy.md
blob: e9b6a877c5ca7d96a4576c8542350949354d088c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# UI/UX Review & Redesign Proposal

## Current State Analysis: "The Unusable Form"

The current "Quick Add" modal (in `index.html`) and the "Planning" tab form suffer from several friction points:

1.  **Context Blindness:** When adding a Trello card, you must first pick a source, then a board, then a list. This is 3+ clicks before you even type the task name.
2.  **Repetitive Data Entry:** Creating multiple related stories (e.g., across 3 repos) requires filling the entire form 3 times.
3.  **No "Smart" Defaults:** The form doesn't remember your last used project, repo, or base image.
4.  **Mobile Friction:** Select dropdowns are native and small, making them hard to use for long lists of repos or boards.
5.  **Information Overload:** The "Task" and "Shopping" tabs in the modal use the same `HandleUnifiedAdd` endpoint but different fields, leading to a "leaky abstraction" in the UI.

---

## 1. Redesign: The "Command Palette" Model

Instead of a traditional form, we should move towards a **Command Palette** style interaction (Ctrl+K).

### Proposed Streamlined Flow:
1.  **Trigger:** `Ctrl+K` opens a search-first modal.
2.  **Type:** User types "doot: fix css in dashboard" or "claudomator: update go version".
3.  **Prefix Detection:**
    *   `d:` or `t:` -> Todoist task.
    *   `tr:` -> Trello card.
    *   `c:` or `s:` -> Claudomator Story (New).
4.  **Contextual Suggestions:** As the user types, the bottom of the modal shows:
    *   "Repo: doot" (detected from prefix or frequency)
    *   "Project: Phase 6"
    *   "Base Image: Go 1.24"

---

## 2. Resource Management Model (Repos, Images, Projects)

The user requested a "better model for management." We should move away from flat strings and toward a **Resource Graph**.

### New SQLite Schema (Internal)
*   **`claudomator_repos`:** `id, name, remote_url, default_branch, local_path`
*   **`claudomator_images`:** `id, name, tag, description (e.g., "Go 1.24 + Node 22")`
*   **`claudomator_projects`:** `id, name, description`
*   **`project_repos`:** Junction table linking projects to multiple repositories.

### Management UI
Instead of hiding these in settings, we should have a **"Library" view** (perhaps a new tab or a sub-section of Planning) where users can:
*   Quick-add a new repo.
*   Toggle which "Base Images" are active for selection.
*   Group repos into "Projects" for batch operations.

---

## 3. UI/UX Recommendations & Plugins

### Recommended Plugins/Libraries
1.  **[Tom Select](https://tom-select.js.org/):** To replace native `<select>`. This allows for:
    *   Searchable dropdowns (essential for 20+ repos).
    *   Custom rendering (show repo icons/logos in the list).
    *   Remote data loading (HTMX-friendly).
2.  **[Alpine.js](https://alpinejs.dev/):** To handle "Local UI State" without page refreshes.
    *   Example: Toggling between "Simple Task" and "Complex Story" modes in the same modal.
    *   Example: Multi-select for repos.
3.  **[Tailwind Forms Plugin](https://github.com/tailwindlabs/tailwindcss-forms):** To make inputs look professional with zero effort.
4.  **[Lucide Icons](https://lucide.dev/):** To replace the emoji-heavy UI with cleaner, more professional SVG icons.

---

## 4. Proposed User Flow for Story Creation

**Goal: From "Idea" to "Running Agent" in < 15 seconds.**

1.  **Open Studio:** User clicks a new "Create Story" button (or `Ctrl+K` then `s`).
2.  **Draft:** User types the goal.
3.  **Auto-Select:** System auto-selects the "Active Project" and its associated "Primary Repo".
4.  **Elaborate (AI):** User hits `Enter`. HTMX swaps the form for a "Thinking..." animation.
5.  **Review Tree:** AI returns a task tree. User can click a task to edit its "Validation Spec".
6.  **Launch:** User hits "Execute". Story moves to `IN_PROGRESS` and appears on the main dashboard.

---

## Next Steps (Deferred to Phase 7)
*   Implement the SQLite migrations for the new Resource Graph.
*   Build the "Story Studio" using Alpine.js + Tom Select.
*   Create the management UI for Repos and Projects.