@brimveyn/aimux-config 0.8.5 → 0.10.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
@@ -5,6 +5,76 @@ Typed configuration package for [`@brimveyn/aimux`](https://github.com/BrimVeyn/
5
5
  Use this package to author `aimux.config.ts` or `aimux.config.js` inside an
6
6
  `aimux` profile directory.
7
7
 
8
+ ## BREAKING in 0.9.0 — project / workspace / tab
9
+
10
+ aimux now has one word per level, and each level has its own creation action:
11
+
12
+ | Level | What it is | Action |
13
+ | ------------- | ---------------------------------------- | ------------------------------ |
14
+ | **project** | a repository you add by picking a folder | `<C-g>` → "Create new project" |
15
+ | **workspace** | a git worktree inside a project | `<C-p>` |
16
+ | **tab** | an assistant in a workspace | `<C-n>` |
17
+
18
+ What used to be called a workspace is now a **project**; what used to be called
19
+ a worktree is now a **workspace**.
20
+
21
+ **`<C-n>` no longer creates worktrees.** It is an assistant picker; the tab
22
+ opens in the active workspace. Use `<C-p>` to create a workspace.
23
+
24
+ ### Renamed actions
25
+
26
+ The old names still work in 0.9.0 as `@deprecated` aliases and will be removed
27
+ in a later release:
28
+
29
+ | 0.8.x | 0.9.0 |
30
+ | ---------------------------- | ----------------------------- |
31
+ | `sessionPicker` | `projectPicker` |
32
+ | `openCreateSessionModal` | `openCreateProjectModal` |
33
+ | `createSessionEscape` | `createProjectEscape` |
34
+ | `confirmCreateSession` | `confirmCreateProject` |
35
+ | `reorderSession` | `reorderProject` |
36
+ | `switchSessionByIndex` | `switchProjectByIndex` |
37
+ | `toggleSessionBar` | `toggleProjectBar` |
38
+ | `openWorktreeMove` | `openWorkspaceMove` |
39
+ | `toggleWorktreeMoveDelete` | `toggleWorkspaceMoveDelete` |
40
+ | `confirmWorktreeMove` | `confirmWorkspaceMove` |
41
+ | `confirmWorktreeDeleteModal` | `confirmWorkspaceDeleteModal` |
42
+
43
+ ### Removed actions
44
+
45
+ These have no replacement — `<C-n>` cannot create or delete a workspace any
46
+ more. A config referencing them fails to compile, on purpose:
47
+ `toggleNewTabWorktree`, `deleteSelectedWorktree`, `confirmDeleteWorktree`.
48
+
49
+ ### Renamed mode ids
50
+
51
+ Mode ids are not aliased; `.mode('modal.create-session', …)` throws.
52
+
53
+ | 0.8.x | 0.9.0 |
54
+ | --------------------------------------- | -------------------------------- |
55
+ | `modal.session-picker.filtering` | `modal.project-picker.filtering` |
56
+ | `modal.session-name` | `modal.project-name` |
57
+ | `modal.create-session` | `modal.create-project` |
58
+ | `modal.worktree-move` | `modal.workspace-move` |
59
+ | `modal.worktree-move-confirm` | `modal.workspace-move-confirm` |
60
+ | `modal.worktree-delete-confirm` | `modal.workspace-delete-confirm` |
61
+ | `modal.new-tab.worktree-delete-confirm` | _(removed)_ |
62
+ | _(new)_ | `modal.create-workspace` |
63
+
64
+ ### Renamed config keys
65
+
66
+ `sessionBar` is now `projectBar`. The old key is still read; rename it. (An
67
+ unknown key parses silently, so without the fallback the setting would just
68
+ vanish.)
69
+
70
+ ### Removed config keys
71
+
72
+ `workspaceTemplates` (and its pre-rename spelling `worktreeTemplates`) is
73
+ removed. Workspace provisioning is a per-project setup script now — see
74
+ `docs/guide/workspaces.md#setup-script`. Both keys are still declared as
75
+ `never` so your editor strikes them through, and `aimux doctor` reports them if
76
+ they are still in `aimux.json`.
77
+
8
78
  ## What This Package Does
9
79
 
10
80
  `@brimveyn/aimux-config` provides:
@@ -43,20 +113,20 @@ If you use another profile, replace `default` with that profile name.
43
113
  import { defineConfig, actions } from '@brimveyn/aimux-config'
44
114
 
45
115
  export default defineConfig({
46
- sessionBar: {
116
+ projectBar: {
47
117
  initialPosition: 'top',
48
118
  initialVisible: true,
49
119
  },
50
120
 
51
121
  keymaps: (k) =>
52
- k.mode('navigation', (m) => m.map('<C-p>', actions.sessionPicker, 'Workspace picker')),
122
+ k.mode('navigation', (m) => m.map('<C-g>', actions.projectPicker, 'Project picker')),
53
123
  })
54
124
  ```
55
125
 
56
126
  This example only uses surfaces that are wired into the runtime today.
57
127
 
58
128
  Important: typed config expresses startup intent. Fields such as
59
- `sessionBar.initialVisible` or `gitPane.initialMode` are reapplied on every
129
+ `projectBar.initialVisible` or `gitPane.initialMode` are reapplied on every
60
130
  launch; runtime UI changes do not write back into `aimux.config.ts`.
61
131
 
62
132
  ## Key Notation
@@ -140,11 +210,12 @@ explanation.
140
210
  Pre-built actions include:
141
211
 
142
212
  - tabs: `nextTab`, `prevTab`, `newTab`, `renameTab`, `closeTab`, `restartTab`
143
- - workspaces: `sessionPicker`, `switchSessionByIndex(n)` and workspace modal actions
213
+ - projects: `projectPicker`, `switchProjectByIndex(n)` and project modal actions
214
+ - workspaces: `createWorkspaceModal`, `openWorkspaceMove` and workspace modal actions
144
215
  - snippets: `snippetPicker`, snippet editor and filter actions
145
216
  - themes: `themePicker`, `previewTheme`, `confirmTheme`, `restoreTheme`
146
217
  - panes: `splitVertical`, `splitHorizontal`, `focusPane`, `resizePane`, `closePane`
147
- - UI: `toggleSidebar`, `toggleSessionBar`, `toggleGitPane`,
218
+ - UI: `toggleSidebar`, `toggleProjectBar`, `toggleGitPane`,
148
219
  `resizeGitPane(delta)`, `setGitPaneMode(mode)`, `setGitPanePosition(position)`
149
220
  - modes: `enterInsert`, `leaveTerminalInput`, `closeModal`, `helpModal`
150
221
  - git: enter git mode, stage, delete or unstage, commit, push
@@ -183,12 +254,12 @@ palette guidance, and precedence details.
183
254
  | Surface | Status | Notes |
184
255
  | ------------ | ------------------ | ------------------------------------------------------------------------------------ |
185
256
  | `keymaps` | Supported | Fully registered by the runtime |
186
- | `sessionBar` | Supported | Startup overrides; app-managed runtime state still persists separately |
257
+ | `projectBar` | Supported | Startup overrides; app-managed runtime state still persists separately |
187
258
  | `gitPane` | Supported | Startup overrides for placement and rendering; runtime state persists separately |
188
259
  | `theme` | Supported | `theme.initialMode` is a startup override; persisted `aimux.json.themeId` still wins |
189
260
  | `themes` | Supported | User themes; appear in the picker and power synthesized highlighting |
190
261
  | `backends` | Typed surface only | Runtime wiring deferred |
191
- | `sidebar` | Typed surface only | Type exists, runtime not currently driven by this field |
262
+ | `sidebar` | Ignored | Superseded by the app-managed `bars` state in `aimux.json` |
192
263
  | `hooks` | Typed surface only | Type exists, runtime use not currently wired |
193
264
  | `snippets` | Typed surface only | Runtime currently uses `aimux-snippets.json` |
194
265
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimveyn/aimux-config",
3
- "version": "0.8.5",
3
+ "version": "0.10.0",
4
4
  "description": "TypeScript configuration API for aimux — keymaps, themes, and backends with a fluent builder.",
5
5
  "keywords": [
6
6
  "aimux",