dme-agent 9.69.0 → 9.69.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,77 @@
1
1
  ---
2
2
  name: dme-app-shell
3
3
  description: >
4
- DME 9.69 desktop app shells (Electron / Tauri / hybrid).
5
- Triggers: /dme-app-shell, electron, tauri, desktop chrome, titlebar.
4
+ DME 9.69 desktop app shells for Electron, Tauri, hybrid. Minimal chrome,
5
+ richer motion than web, titlebar, command palette, peace gray ops UI.
6
+ Triggers: /dme-app-shell, electron UI, tauri UI, desktop shell, titlebar,
7
+ app layout, desktop dashboard chrome.
6
8
  ---
7
9
 
8
- # DME App Shell 9.69
10
+ # DME App Shell 9.69 — Electron / Tauri
9
11
 
10
- 1. Platform: **electron** | **tauri** | hybrid
11
- 2. Custom titlebar + drag region; OS window controls zone
12
- 3. Left icon rail or full sidebar · content pane · optional inspector
13
- 4. Command palette > nested menus
14
- 5. No marketing hero inside the shell
15
- 6. Motion: subtle (sidebar width, panel opacity) — no bounce on chrome
16
- 7. shadcn: Sidebar, Menubar, Command, Tabs, Sheet, Tooltip
17
- 8. Tauri: lean DOM; prefer native dialogs/tray APIs
12
+ Desktop apps get **richer motion** and **tighter ops density** than marketing web — still peaceful, still minimal.
18
13
 
19
- Deliver: shell map → chrome vs content → shadcn compose → subtract.
14
+ ## Intake (if missing)
15
+
16
+ Platform: **electron** | **tauri** | hybrid · brand or peace gray · product work object
17
+
18
+ ## Shell map
19
+
20
+ ```
21
+ [ custom titlebar · drag region · window controls ]
22
+ [ icon rail or sidebar | main work surface | optional inspector ]
23
+ [ status / toast layer ]
24
+ [ command palette overlay ]
25
+ ```
26
+
27
+ ### Laws
28
+
29
+ 1. **No marketing hero** inside authenticated shell
30
+ 2. **Work object center** — table/queue/editor, not posters
31
+ 3. **Command palette > deep nested menus**
32
+ 4. Titlebar: drag region; don’t put critical actions only in OS menu
33
+ 5. Peace gray default unless brand locked
34
+ 6. shadcn for content controls; native dialogs/tray when OS-better (Tauri)
35
+
36
+ ## Motion (app-rich, not clown)
37
+
38
+ | Surface | Recipe |
39
+ |---|---|
40
+ | Sidebar collapse | width + opacity · 200–280ms emphasized |
41
+ | Panel dock | cubicOut slide |
42
+ | Command palette | spring snappy scale/opacity |
43
+ | Route change | opacity + y 6–10 · optional layoutId title |
44
+ | Welcome first-run | use **/dme-welcome** craft (2–4 beats) |
45
+ | List hydrate | stagger 50–80ms easeOut |
46
+
47
+ Always honor `prefers-reduced-motion`.
48
+
49
+ ## Icons
50
+
51
+ **system-rail** strategy: Lucide rail + labels on expand · tooltip when collapsed · active = surface weight
52
+
53
+ ## shadcn map
54
+
55
+ `sidebar` · `menubar` · `command` · `tabs` · `sheet` · `dialog` · `tooltip` · `scroll-area` · `separator` · `button` · `input` · `table` · `badge` · `dropdown-menu` · `sonner`
56
+
57
+ ## Electron / Tauri notes
58
+
59
+ | | |
60
+ |---|---|
61
+ | Electron | watch window controls spacing per OS; no double titlebar |
62
+ | Tauri | lean DOM; prefer native file/message dialogs when appropriate |
63
+ | Both | frameless + custom chrome must keep traffic lights / Win buttons usable |
64
+
65
+ ## Web vs app split (hybrid)
66
+
67
+ - Public marketing routes → **web-calm** (/dme-landing)
68
+ - Desktop shell → **app-rich** (this skill)
69
+ Document split in decision brief.
70
+
71
+ ## Deliver
72
+
73
+ 1. Shell wireframe (text)
74
+ 2. Motion density locks
75
+ 3. Icon rail map
76
+ 4. Compose shadcn + framer
77
+ 5. Subtract chrome until work object breathes
@@ -1,21 +1,89 @@
1
1
  ---
2
2
  name: dme-icons
3
3
  description: >
4
- DME 9.69 icon strategy. Lucide stroke family; sparse vs system-rail.
5
- Triggers: /dme-icons, icon system, sidebar icons, lucide, toolbar.
4
+ DME 9.69 intelligent icon doctrine. Lucide/Phosphor/Radix with discipline
5
+ recognition, nav, status — never decorative spam. Triggers: /dme-icons,
6
+ lucide, icon system, sidebar icons, toolbar icons, icon density.
6
7
  ---
7
8
 
8
- # DME Icons 9.69
9
+ # DME Icons 9.69 — Intelligent, not spam
9
10
 
10
- 1. One stroke family (Lucide default 1.5–2px)
11
- 2. Size: **16/20px** dense UI · **24px** empty/hero only
12
- 3. Strategies:
13
- - **none** — landings/editorial (type carries hierarchy)
14
- - **sparse-functional** — action icons only
15
- - **system-rail** — nav rail + toolbar, labels on expand
16
- - **onboarding** — 1–3 step glyphs max
17
- 4. Icons label actions — never decorate paragraphs
18
- 5. No multicolor icon packs in product UI
19
- 6. Active = weight/bg, not rainbow recolor
11
+ Icons are **affordance and status**, not confetti.
20
12
 
21
- Deliver: strategy pick → icon map for nav/actions → shadcn + lucide compose.
13
+ ## Law
14
+
15
+ If removing the icon loses **no** recognition and **no** faster scan → **remove it**.
16
+
17
+ ## Stack
18
+
19
+ | Default | Also OK (pick one set per product) |
20
+ |---|---|
21
+ | **lucide-react** | Phosphor, Radix Icons |
22
+
23
+ Never mix 3 icon libraries on one surface. Never emoji as product chrome.
24
+
25
+ ## Size & stroke
26
+
27
+ | Context | Size | Stroke |
28
+ |---|---|---|
29
+ | Dense table / meta | 14–16 | 1.5–2 |
30
+ | Nav / toolbar | 18–20 | 1.5–2 |
31
+ | Empty / welcome glyph | 24–32 | 1.5 |
32
+ | Marketing feature spam | **don’t** | — |
33
+
34
+ Align to text cap-height. Optical center in hit targets ≥44px mobile.
35
+
36
+ ## Strategies (pick one per surface)
37
+
38
+ | Strategy | When | Rules |
39
+ |---|---|---|
40
+ | **none** | editorial landing, manifesto | type carries hierarchy |
41
+ | **sparse-functional** | most product UI | icons only on actions / destructive / search / close |
42
+ | **system-rail** | app sidebar / Electron shell | icon rail + labels on expand; active = bg/weight not rainbow |
43
+ | **status-system** | dashboards | Badge + optional icon; color never sole channel |
44
+ | **onboarding** | welcome steps | **1–3** glyphs total for whole flow |
45
+
46
+ ## Where icons earn space
47
+
48
+ - Navigation items (with labels, or tooltip if collapsed rail)
49
+ - Primary/secondary actions when verb is faster with symbol (Search, Settings, Close)
50
+ - Status: success / warning / error / offline (pair with text)
51
+ - Empty state: **one** quiet glyph max
52
+ - Input affordances: show/hide password, clear, calendar
53
+
54
+ ## Where icons are crime
55
+
56
+ - Every feature card with a different colorful glyph + essay
57
+ - Icon beside every H2 “for polish”
58
+ - Random multicolor packs
59
+ - Icon-only mystery meat for non-universal actions
60
+ - Animated spinning icons for no reason
61
+
62
+ ## Pairing rules
63
+
64
+ | Case | Rule |
65
+ |---|---|
66
+ | Nav | icon + label (collapsed: icon + tooltip) |
67
+ | Button | icon optional left of verb |
68
+ | Table row action | icon-only OK if universal + aria-label |
69
+ | Marketing | prefer zero or one mark, not six |
70
+
71
+ ## Compose with shadcn
72
+
73
+ ```tsx
74
+ import { Search, Plus, ChevronRight } from "lucide-react"
75
+ import { Button } from "@/components/ui/button"
76
+ // Button size icon + aria-label for icon-only
77
+ ```
78
+
79
+ Active nav: `bg-zinc-100 dark:bg-zinc-800` + weight — not recoloring the SVG to 5 brand hues.
80
+
81
+ ## Deliver
82
+
83
+ 1. Strategy name
84
+ 2. Icon map (nav / actions / status)
85
+ 3. Size tokens
86
+ 4. Implement with lucide + shadcn
87
+ 5. Run spam test: strip half — if clearer, keep stripped
88
+
89
+ Full doctrine: `assets/references/icon-doctrine.md`
@@ -1,19 +1,111 @@
1
1
  ---
2
2
  name: dme-motion
3
3
  description: >
4
- DME 9.69 motion bible. Functional 120–250ms reveal/stagger only.
5
- Triggers: /dme-motion, framer, animate landing, entrance, reduced-motion.
4
+ DME 9.69 Absolute motion craft. Framer Motion, cubic-bezier graphs, springs,
5
+ platform density (web calm / Electron-Tauri rich), reduced-motion law.
6
+ Triggers: /dme-motion, framer-motion, keyframes, cubic-out, easing, spring,
7
+ animate UI, page transition, stagger, prefers-reduced-motion.
6
8
  ---
7
9
 
8
- # DME Motion 9.69
10
+ # DME Motion 9.69 — Absolute
9
11
 
10
- 1. Default density: **functional** (not expressive carnival)
11
- 2. Duration: **120–250ms**; stagger children **40–80ms**
12
- 3. Easing: ease-out / `cubic-bezier(0.22, 1, 0.36, 1)`
13
- 4. Landing: hero once (opacity + y 12→0); sections once-in-view
14
- 5. Dashboard: state feedback only; dialog/sheet 150ms
15
- 6. Onboarding: step crossfade ≤200ms; ≤3 steps
16
- 7. Always honor `prefers-reduced-motion`
17
- 8. Banned: particles, mesh morph loops, typing forever, bounce spam
12
+ Motion is **craft**, not confetti. Peace aesthetic: soft landings, clear intent, no carnival.
18
13
 
19
- Deliver: density label + recipe + CSS/Framer snippet → implement → subtract.
14
+ ## 0. Resolve density first
15
+
16
+ | Platform | Density | Allowed |
17
+ |---|---|---|
18
+ | **Web** | calmer | functional UI + **one** hero beat; light stagger 40–60ms |
19
+ | **Mobile web** | minimal | opacity / short crossfade; no heavy shared-element |
20
+ | **Electron / Tauri** | richer | welcome choreography, layoutId, spring chrome, route transitions |
21
+ | **prefers-reduced-motion** | hard cut | ≤80ms opacity or instant; kill travel/parallax/spring travel |
22
+
23
+ ## 1. Easing graphs (abuse these — vary by intent)
24
+
25
+ | Token | cubic-bezier | Use |
26
+ |---|---|---|
27
+ | **easeOut** | `0.16, 1, 0.3, 1` | entrances (default) |
28
+ | **easeIn** | `0.55, 0, 1, 0.45` | exits |
29
+ | **easeInOut** | `0.65, 0, 0.35, 1` | reposition on-screen |
30
+ | **cubicOut** | `0.33, 1, 0.68, 1` | sheets, drawers, soft panels |
31
+ | **expoOut** | `0.16, 1, 0.3, 1` | premium hero / desktop reveal |
32
+ | **emphasized** | `0.2, 0, 0, 1` | settle after drag / material |
33
+
34
+ ```css
35
+ --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
36
+ --ease-cubic-out: cubic-bezier(0.33, 1, 0.68, 1);
37
+ --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
38
+ ```
39
+
40
+ ## 2. Springs (Framer / motion)
41
+
42
+ | Token | stiffness | damping | mass | Use |
43
+ |---|---|---|---|---|
44
+ | soft | 280 | 24 | 0.8 | press, icon toggle |
45
+ | snappy | 400 | 30 | 0.6 | command palette, tab indicator |
46
+ | gentle | 120 | 20 | 1.0 | welcome, large panels (desktop) |
47
+ | stiff | 500 | 40 | 0.5 | dense tools |
48
+
49
+ ```tsx
50
+ const easeOut = [0.16, 1, 0.3, 1] as const
51
+ const springSnappy = { type: "spring", stiffness: 400, damping: 30, mass: 0.6 }
52
+ ```
53
+
54
+ ## 3. Duration bands
55
+
56
+ | Band | ms |
57
+ |---|---|
58
+ | feedback | 80–120 |
59
+ | functional | 150–250 |
60
+ | panel | 220–380 |
61
+ | page / welcome | 300–600 |
62
+ | hard cap | ≤800 continuous |
63
+
64
+ ## 4. First-class tools
65
+
66
+ 1. **framer-motion** / **motion/react** — layout, AnimatePresence, layoutId, springs
67
+ 2. **CSS transition / @keyframes** — micro states when lighter
68
+ 3. **WAAPI** — one-offs without React weight
69
+
70
+ ## 5. Pattern recipes
71
+
72
+ **List enter (web/app)**
73
+ `staggerChildren: 0.05` · child `y: 8 → 0` + opacity · easeOut 200–280ms
74
+
75
+ **Sheet**
76
+ `y` or `x` + opacity · cubicOut 280–360ms · backdrop fade easeOut
77
+
78
+ **Dialog**
79
+ scale `0.98 → 1` + opacity · **no bounce**
80
+
81
+ **Tab indicator**
82
+ `layoutId` + spring snappy
83
+
84
+ **Button press**
85
+ scale `0.98` spring soft
86
+
87
+ **Welcome (desktop)**
88
+ 2–4 beats max: mark → title → body → CTA · then **stillness**
89
+
90
+ **Route (desktop)**
91
+ opacity + slight y; optional shared layout title
92
+
93
+ ## 6. Gray / white motion taste
94
+
95
+ - Prefer opacity + small translation (4–12px) over loud scale
96
+ - Shadows only on overlays; animate opacity of overlay not neon glow
97
+ - Gradients: soft zinc washes, slow optional desktop ambient — never mesh carnival
98
+
99
+ ## 7. Banned
100
+
101
+ particles · blob morph loops · mesh storms · infinite typing hero · bounce on ops dashboards · same fade on every node · parallax fighting scroll
102
+
103
+ ## 8. Deliver
104
+
105
+ 1. Density label (web-calm | app-rich | reduced)
106
+ 2. Easing map used
107
+ 3. Framer/CSS snippets
108
+ 4. Implement
109
+ 5. Subtract excess motion
110
+
111
+ Full bible: package `assets/references/motion-bible.md` when present.
@@ -1,20 +1,87 @@
1
1
  ---
2
2
  name: dme-welcome
3
3
  description: >
4
- DME 9.69 onboarding / first-run welcome. Value then one setup then first win.
5
- Triggers: /dme-welcome, onboarding, first-run, empty state setup, welcome flow.
4
+ DME 9.69 welcome and onboarding as craft. Peace aesthetic, Framer Motion beats,
5
+ short human copy, platform-aware (desktop rich / web calm). Triggers: /dme-welcome,
6
+ onboarding, first-run, welcome screen, empty setup, splash, intro sequence.
6
7
  ---
7
8
 
8
- # DME Welcome 9.69
9
+ # DME Welcome 9.69 — Craft sequence
9
10
 
10
- 1. Flow: **value account one essential setup first success**
11
- 2. ≤3 visible steps · thin progress · skip always available
12
- 3. Motion: functional step crossfade 180–200ms
13
- 4. Icons: onboarding strategy (1–3 glyphs) — never 12-tooltip tours
14
- 5. After: empty state = short title + one line + one CTA
15
- 6. Copy caps: step title short · body ≤2 lines · buttons = real verbs
16
- 7. shadcn: Dialog/Sheet or full page · Progress · Button · Input
11
+ Welcome is a **first-run craft piece**, not a fake “hello!” every login.
17
12
 
18
- Banned: guided product tours with tooltip chains, feature-card spam on step 1.
13
+ ## When to build
19
14
 
20
- Deliver: step list copy → motion → implement → subtract.
15
+ | Yes | No |
16
+ |---|---|
17
+ | First open of desktop app | Every dashboard visit |
18
+ | Empty workspace needs first object | 12-tooltip product tour |
19
+ | Account just created | Marketing inside logged-in shell |
20
+
21
+ ## Flow (addiction via ease)
22
+
23
+ ```
24
+ value (why you're here)
25
+ → account / identity if needed
26
+ → ONE essential setup
27
+ → first success action
28
+ → stillness + product
29
+ ```
30
+
31
+ - ≤ **3** visible steps
32
+ - Progress thin and quiet
33
+ - **Skip** always available
34
+ - Buttons = real verbs (`Criar primeiro projeto`, not `Continuar jornada`)
35
+
36
+ ## Platform density
37
+
38
+ | Platform | Motion |
39
+ |---|---|
40
+ | **Web** | Crossfade / opacity + y 8–12px · 180–280ms easeOut · max one stagger group |
41
+ | **Electron/Tauri** | 2–4 beat choreography OK · spring gentle · layoutId mark→title optional |
42
+ | **Reduced motion** | Instant or ≤80ms fade; no travel |
43
+
44
+ ### Desktop beat recipe (example)
45
+
46
+ 1. **0ms** mark/logo opacity + scale 0.98→1 spring soft
47
+ 2. **120ms** title y 12→0 easeOut
48
+ 3. **200ms** one-line lead
49
+ 4. **280ms** primary CTA
50
+ 5. **Stillness** — no loop
51
+
52
+ ## Visual (peace)
53
+
54
+ - Default: **peace gray** (zinc/stone) unless brand locked
55
+ - Soft contrast; breathing whitespace
56
+ - **One** protagonist: mark **or** title **or** product preview
57
+ - Icons: onboarding strategy · **1–3 glyphs** for whole flow
58
+ - No feature-card grid on step 1
59
+
60
+ ## Copy caps
61
+
62
+ | Element | Max |
63
+ |---|---|
64
+ | Step title | 4–6 words |
65
+ | Body | 1–2 lines |
66
+ | Helper | 1 line |
67
+ | CTA | verb + object |
68
+
69
+ Banned: seamless, next-gen, unlock, empower, “your journey”, wall of text.
70
+
71
+ ## Stack
72
+
73
+ - **shadcn:** Button, Progress, Input, Dialog/Sheet or full-page route
74
+ - **framer-motion:** AnimatePresence for steps
75
+ - **lucide:** optional single step glyph
76
+
77
+ ## Empty state after welcome
78
+
79
+ Short title + one line + **one** CTA. One quiet icon max. No “Welcome to your dashboard!” hero forever.
80
+
81
+ ## Deliver
82
+
83
+ 1. Step list + copy
84
+ 2. Platform density + easing
85
+ 3. Framer beat map
86
+ 4. Implement
87
+ 5. Subtract — if beat 4 doesn’t teach, cut it
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dme-agent",
3
- "version": "9.69.0",
3
+ "version": "9.69.1",
4
4
  "description": "DME Agent 9.69 — Neominimal Identity Engine. Detect-only bootstrap + TUI. Ask palette · motion bible · web vs app · icons · welcome.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/install.mjs CHANGED
@@ -27,7 +27,7 @@ import { agentsConflictPromptInline, multiSelect, printScanTable } from "./tui.m
27
27
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
28
28
  const PKG_ROOT = path.resolve(__dirname, "..");
29
29
  const ASSETS = path.join(PKG_ROOT, "assets");
30
- const VERSION = "9.69.0";
30
+ const VERSION = "9.69.1";
31
31
  const VERSION_SHORT = "9.69";
32
32
  const MARKER_BEGIN = "<!-- DME-AGENT-9.69 BEGIN -->";
33
33
  const MARKER_END = "<!-- DME-AGENT-9.69 END -->";