@lattices/cli 0.5.0 → 0.6.0
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.
package/README.md
CHANGED
package/apps/mac/Info.plist
CHANGED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
</dict>
|
|
27
27
|
</array>
|
|
28
28
|
<key>CFBundleVersion</key>
|
|
29
|
-
<string>0.
|
|
29
|
+
<string>0.5.0</string>
|
|
30
30
|
<key>CFBundleShortVersionString</key>
|
|
31
|
-
<string>0.
|
|
31
|
+
<string>0.5.0</string>
|
|
32
32
|
<key>LSMinimumSystemVersion</key>
|
|
33
33
|
<string>13.0</string>
|
|
34
34
|
<key>LSUIElement</key>
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
</dict>
|
|
27
27
|
</array>
|
|
28
28
|
<key>CFBundleVersion</key>
|
|
29
|
-
<string>0.
|
|
29
|
+
<string>0.6.0</string>
|
|
30
30
|
<key>CFBundleShortVersionString</key>
|
|
31
|
-
<string>0.
|
|
31
|
+
<string>0.6.0</string>
|
|
32
32
|
<key>LSMinimumSystemVersion</key>
|
|
33
33
|
<string>13.0</string>
|
|
34
34
|
<key>LSUIElement</key>
|
|
Binary file
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# LAT-007: Unified App Shell
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Lattices should feel like one structured app, not a collection of useful
|
|
6
|
+
windows added one feature at a time. The native app already has a strong
|
|
7
|
+
starting point in the unified shell managed by `ScreenMapWindowController`.
|
|
8
|
+
Future feature work should treat that shell as the durable product surface.
|
|
9
|
+
|
|
10
|
+
Transient surfaces such as the command palette, voice command window, HUD,
|
|
11
|
+
and menu bar popover should become launchers, inspectors, or fast overlays
|
|
12
|
+
that route back into the shell for persistent workflows.
|
|
13
|
+
|
|
14
|
+
## Product Shape
|
|
15
|
+
|
|
16
|
+
The main Lattices window should own the primary information architecture:
|
|
17
|
+
|
|
18
|
+
| Area | Purpose |
|
|
19
|
+
|------|---------|
|
|
20
|
+
| Home | Workspace status, desktop control, agent/search entry points, and discoverable project launch |
|
|
21
|
+
| Assistant | Chat and agent-oriented workspace help |
|
|
22
|
+
| Layout | Visual desktop map and window arrangement |
|
|
23
|
+
| Desktop Inventory | Window/search/OCR inventory |
|
|
24
|
+
| Activity | Logs, diagnostics, event history, and operational feedback |
|
|
25
|
+
| Settings | Preferences, permissions, shortcuts, mouse, AI, OCR, companion |
|
|
26
|
+
| Docs | Reference and onboarding material |
|
|
27
|
+
|
|
28
|
+
The menu bar popover should stay lightweight: quick project launch plus
|
|
29
|
+
buttons into the main shell. The command palette should stay global and
|
|
30
|
+
action-oriented. The HUD and voice UI should stay transient and contextual.
|
|
31
|
+
|
|
32
|
+
## First User Experience
|
|
33
|
+
|
|
34
|
+
The friendliest starting point is Home, not Settings and not a floating
|
|
35
|
+
utility panel.
|
|
36
|
+
|
|
37
|
+
On first launch:
|
|
38
|
+
|
|
39
|
+
1. The onboarding window introduces the product briefly.
|
|
40
|
+
2. Onboarding presents optional capabilities only; it does not require project
|
|
41
|
+
setup or terminal-session setup.
|
|
42
|
+
3. Completing onboarding opens the unified Home page.
|
|
43
|
+
4. Home starts with desktop control, search/context, and assistant entry points;
|
|
44
|
+
project launch remains discoverable inside the app.
|
|
45
|
+
5. Missing setup is explained in place. Settings remains available, but the app
|
|
46
|
+
should not throw the user into Settings just because a scan root is missing.
|
|
47
|
+
|
|
48
|
+
This keeps the first mental model simple:
|
|
49
|
+
|
|
50
|
+
> Lattices sees your workspace, helps arrange it, and gives agents local context.
|
|
51
|
+
> Project and terminal workflows are useful depth, not the first required step.
|
|
52
|
+
|
|
53
|
+
## Surface Rules
|
|
54
|
+
|
|
55
|
+
1. Durable state belongs in the unified app shell.
|
|
56
|
+
2. Popovers and overlays should not become alternate versions of the app.
|
|
57
|
+
3. Feature entry points should navigate to an app page when the user needs
|
|
58
|
+
to read, configure, inspect, or continue a workflow.
|
|
59
|
+
4. Floating panels are appropriate for short-lived interactions: search,
|
|
60
|
+
command execution, voice capture, HUD previews, and permission helpers.
|
|
61
|
+
5. Settings, diagnostics, docs, assistant setup, and inventory views should
|
|
62
|
+
avoid standalone windows unless there is an explicit debugging reason.
|
|
63
|
+
6. Page changes inside the shell should preserve the user's window size and
|
|
64
|
+
position. Pick a good initial size, then let the window feel stable.
|
|
65
|
+
|
|
66
|
+
## Migration Plan
|
|
67
|
+
|
|
68
|
+
### Phase 1: Route Existing Entry Points
|
|
69
|
+
|
|
70
|
+
- Add missing primary pages to the unified shell.
|
|
71
|
+
- Redirect menu, palette, hotkey, and footer links into shell pages.
|
|
72
|
+
- Keep legacy utility windows available internally where useful, but stop
|
|
73
|
+
presenting them from normal app navigation.
|
|
74
|
+
|
|
75
|
+
### Phase 2: Normalize Page Responsibilities
|
|
76
|
+
|
|
77
|
+
- Make Home the status and launch surface.
|
|
78
|
+
- Make Layout the only visual arrangement surface.
|
|
79
|
+
- Make Desktop Inventory the only persistent search/inventory surface.
|
|
80
|
+
- Make Activity the only persistent diagnostics surface.
|
|
81
|
+
- Keep Settings and Docs under the shell instead of separate windows.
|
|
82
|
+
|
|
83
|
+
### Phase 3: Reduce Duplicate UI
|
|
84
|
+
|
|
85
|
+
- Convert repeated panel headers, footers, and shell chrome into reusable
|
|
86
|
+
components.
|
|
87
|
+
- Move preview rendering and diagnostic log rendering into shared views.
|
|
88
|
+
- Keep command palette rows and menu items as bindings to canonical actions.
|
|
89
|
+
|
|
90
|
+
### Phase 4: Product-Level Navigation
|
|
91
|
+
|
|
92
|
+
- Add a route helper for app pages so callers express intent like
|
|
93
|
+
`showActivity()` or `showSettings(.shortcuts)` instead of manually choosing
|
|
94
|
+
windows.
|
|
95
|
+
- Add page-specific deep links for companion, docs, and diagnostics.
|
|
96
|
+
- Record navigation in diagnostics so support sessions can reconstruct how a
|
|
97
|
+
user reached a feature.
|
|
98
|
+
|
|
99
|
+
## First Slice
|
|
100
|
+
|
|
101
|
+
The first implemented slice is Activity consolidation:
|
|
102
|
+
|
|
103
|
+
- `Activity` is now a primary app-shell page.
|
|
104
|
+
- Home links to Activity.
|
|
105
|
+
- menu bar, command palette, hotkey, settings/docs footers, launch flag, voice,
|
|
106
|
+
and Layout log links route to the Activity page.
|
|
107
|
+
- The legacy floating `DiagnosticWindow` remains for internal/debug use.
|
|
108
|
+
|
|
109
|
+
The second implemented slice is first-run Home consolidation:
|
|
110
|
+
|
|
111
|
+
- Completing onboarding opens Home.
|
|
112
|
+
- Missing scan-root setup is handled inside Home instead of auto-opening
|
|
113
|
+
Settings.
|
|
114
|
+
- Onboarding no longer introduces project-root or tmux setup.
|
|
115
|
+
- Home shows a desktop-first getting-started path when no projects are
|
|
116
|
+
discovered: layout, search/context, and assistant.
|
|
117
|
+
- Project scanning is skipped when the scan root is empty.
|
|
118
|
+
- App-shell tab navigation preserves the current window frame instead of
|
|
119
|
+
resizing per page.
|
|
120
|
+
|
|
121
|
+
## Open Questions
|
|
122
|
+
|
|
123
|
+
- Should the menu bar click open Home in the unified shell by default, leaving
|
|
124
|
+
the project popover as an explicit quick-launch mode?
|
|
125
|
+
- Should Command Mode become the embedded Desktop Inventory page only, with the
|
|
126
|
+
standalone panel reserved for a hotkey overlay?
|
|
127
|
+
- Should Settings expose direct subroutes such as `settings.shortcuts` and
|
|
128
|
+
`settings.permissions`?
|
package/docs/repo-structure.md
CHANGED
|
@@ -19,6 +19,7 @@ for keeping file structure as architecture.
|
|
|
19
19
|
| `docs/` | Markdown docs and engineering proposals. |
|
|
20
20
|
| `tools/agents/skills/` | Agent skill pack for driving Lattices. |
|
|
21
21
|
| `assets/` | Shared release/app assets. |
|
|
22
|
+
| `scripts/` | User/dev entry-point scripts: `install.sh`, `uninstall.sh`, `build.sh`, `run.sh` (root `install.sh` is a shim forwarding here). |
|
|
22
23
|
| `tools/release/` | Maintainer scripts for building and shipping. |
|
|
23
24
|
| `tests/` | CLI, daemon, and evaluation tests. |
|
|
24
25
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lattices/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The agentic workspace manager for macOS — turn your desktop into a coherent API",
|
|
5
5
|
"packageManager": "bun@1.3.11",
|
|
6
6
|
"engines": {
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"scripts": {
|
|
34
34
|
"dev": "bun --cwd apps/site dev",
|
|
35
35
|
"site:build": "bun --cwd apps/site build",
|
|
36
|
+
"studio:dev": "bun --cwd apps/studio dev",
|
|
37
|
+
"studio:build": "bun --cwd apps/studio build",
|
|
36
38
|
"docs:agent": "bun --cwd apps/site agent-docs",
|
|
37
39
|
"check": "bun run check:types && bun run check:app",
|
|
38
40
|
"check:types": "tsc --noEmit",
|