@maximoai/maximo-syntax-cli 0.1.19 → 0.1.20

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
@@ -44,6 +44,11 @@ bun run build
44
44
  npm link
45
45
  ```
46
46
 
47
+ `bun run build` creates a production bundle suitable for packaging and keeps
48
+ auto-updates available by default. Use `bun run dev` for local development;
49
+ that command deliberately creates a development bundle and disables self-update
50
+ checks for the source checkout.
51
+
47
52
  ---
48
53
 
49
54
  ## Usage
@@ -58,6 +63,127 @@ After installation, you can invoke the CLI using any of the following commands:
58
63
 
59
64
  All five commands are equivalent and natively supported.
60
65
 
66
+ ## Prompt mouse controls
67
+
68
+ The prompt supports terminal-native mouse editing in both inline and
69
+ fullscreen layouts:
70
+
71
+ - Click anywhere in the prompt to place the caret, including wrapped and
72
+ multiline input.
73
+ - Drag to select text. Double-click selects a word; triple-click selects the
74
+ logical line.
75
+ - Selected text is copied on mouse-up by default and stays highlighted. The
76
+ selection can also be replaced by typing, deleted with Backspace/Delete, or
77
+ copied/cut with the usual `Ctrl/Cmd-C` and `Ctrl/Cmd-X` shortcuts.
78
+ - Click a visible slash-command or file suggestion to accept that row
79
+ immediately. Keyboard navigation remains available.
80
+
81
+ Application-level dispatch is limited to the prompt and suggestion boxes. The
82
+ terminal’s mouse-reporting mode is global while it is enabled, so users who
83
+ need native terminal scrollback selection should use this switch before
84
+ starting Maximo Syntax:
85
+
86
+ ```bash
87
+ # Keep the prompt from enabling mouse reporting.
88
+ export MAXIMO_SYNTAX_DISABLE_MOUSE=1
89
+
90
+ # In fullscreen, keep wheel scrolling but disable prompt click/drag actions.
91
+ export MAXIMO_SYNTAX_DISABLE_MOUSE_CLICKS=1
92
+
93
+ # Keep the terminal's native caret visible for screen readers and magnifiers.
94
+ export MAXIMO_SYNTAX_ACCESSIBILITY=1
95
+ ```
96
+
97
+ The `copyOnSelect` setting can be changed from the configuration screen. OSC
98
+ 52 and the local clipboard utility are used where available, with terminal
99
+ mouse tracking restored automatically after fullscreen overlays, resize, or
100
+ terminal suspend/resume.
101
+
102
+ ## Interactive TUI controls
103
+
104
+ The command palette searches live actions, slash commands, and skills. Open it
105
+ with `Ctrl+P` in most terminals. In VS Code's integrated terminal, where
106
+ `Ctrl+P` belongs to the editor, use the chord `Ctrl+X`, then `P`. The active
107
+ shortcut is shown contextually in the prompt footer and can be changed under
108
+ `/config` with the terminal shortcut profile.
109
+
110
+ Prompt editing includes attachment-aware undo and redo. Use `Ctrl+_` to undo
111
+ and `Ctrl+Y` to redo. Images and large pasted-text references behave as atomic
112
+ chips: navigation snaps to chip boundaries, deleting a selected chip removes
113
+ the matching content, and undo/redo restores the text, caret, and attachment
114
+ state together.
115
+
116
+ While prompts are queued, open the interactive queue with `Ctrl+Q` (`Ctrl+X`,
117
+ then `Q` in VS Code). The pane supports:
118
+
119
+ - `Enter` to move an editable queued prompt back into the editor.
120
+ - `N` to prioritize it for immediate sending.
121
+ - `D` or Delete to remove it.
122
+ - `Ctrl+Up` / `Ctrl+Down` to reorder it.
123
+ - Typing to filter the queue.
124
+
125
+ Open the detailed transcript with `Ctrl+O`. Fullscreen scrollback supports
126
+ mouse-wheel and keyboard scrolling, `/` incremental search, `N`/`Shift+N`
127
+ match navigation, text selection and copy, and automatic follow while pinned
128
+ to the bottom. Manual scrolling pauses follow; returning to the bottom resumes
129
+ it. Press `Shift+Up` or click a message to focus it, then use Up/Down or `J`/`K`
130
+ to move between turns, Enter to fold or expand supported rows, `C` to copy,
131
+ `R` for raw view, and Escape to return. Press `[` to dump the complete expanded
132
+ transcript into native terminal scrollback, or `V` to open it in `$VISUAL` or
133
+ `$EDITOR`.
134
+
135
+ `/config` also exposes display mode (auto, fullscreen, inline, compact), UI
136
+ density, prompt border style, reduced motion, contextual shortcut hints, and
137
+ response-completion notifications. Notifications can be limited to times when
138
+ the terminal is unfocused.
139
+
140
+ ## Skills and cross-CLI compatibility
141
+
142
+ Maximo Syntax reads the shared `SKILL.md` format and normalizes skills from
143
+ Maximo, Agent Skills, Codex, Claude Code, Gemini CLI/Antigravity, Grok CLI, and
144
+ OpenCode layouts. Existing native Maximo roots keep their normal precedence;
145
+ provider-qualified aliases (for example `claude:review`) keep same-named skills
146
+ addressable.
147
+
148
+ Supported project roots are:
149
+
150
+ - `.maximo/skills/`
151
+ - `.agents/skills/`
152
+ - `.claude/skills/`
153
+ - `.gemini/skills/`
154
+ - `.grok/skills/`
155
+ - `.opencode/skills/`
156
+
157
+ The same provider roots are checked in their documented user locations, such
158
+ as `~/.agents/skills/`, Codex's `~/.codex/skills/` (or `$CODEX_HOME/skills/`),
159
+ `~/.claude/skills/`, `~/.gemini/skills/`, `~/.grok/skills/`,
160
+ `~/.config/opencode/skills/`, and the Antigravity Gemini skill roots.
161
+
162
+ In the TUI:
163
+
164
+ - Type `/skill-name` or `/skill-name arguments` to invoke a skill directly.
165
+ - Type `$skill-name` inside a normal prompt to explicitly guide Maximo to load
166
+ that known skill before handling the rest of the prompt. Unknown `$words` and
167
+ shell variables such as `$HOME` remain ordinary text.
168
+ - Run `/skills` to open the picker. Select a skill to insert its `/command`, or
169
+ select the creator.
170
+ - Run `/skills create` or `/skill-creator` to create a reusable skill.
171
+ `/create-skill` and the legacy `/skillify` names remain aliases.
172
+ - Run `/skills reload` after external changes. `/skills info <name>`,
173
+ `/skills use <name>`, `/skills link <path> [--scope user|workspace]`, and the
174
+ session-only `enable`/`disable` helpers are also available.
175
+
176
+ Skills use a directory containing `SKILL.md`, for example:
177
+
178
+ ```text
179
+ .agents/skills/release-notes/SKILL.md
180
+ ```
181
+
182
+ The recommended portable frontmatter includes `name` and `description`; Maximo
183
+ also supports compatible fields such as `allowed-tools`, `when_to_use`,
184
+ `argument-hint`, `arguments`, `context`, `user-invocable`, and
185
+ `disable-model-invocation`.
186
+
61
187
  ---
62
188
 
63
189
  ## Login
@@ -11,6 +11,18 @@ import { existsSync } from "fs";
11
11
  import { join, dirname } from "path";
12
12
  import { fileURLToPath, pathToFileURL } from "url";
13
13
 
14
+ // Raise the V8 old-space ceiling for child processes (sub-agents, etc.) so
15
+ // long sessions don't hit the default ~2GB heap. Setting NODE_OPTIONS here
16
+ // affects processes the CLI spawns; the main process heap is governed by the
17
+ // shebang's node invocation, which we can't change at runtime. Never override
18
+ // an explicit user-set value.
19
+ if (!/\b--max-old-space-size=\d+\b/.test(process.env.NODE_OPTIONS || "")) {
20
+ const existing = process.env.NODE_OPTIONS || "";
21
+ process.env.NODE_OPTIONS = existing
22
+ ? `${existing} --max-old-space-size=6144`
23
+ : "--max-old-space-size=6144";
24
+ }
25
+
14
26
  const __dirname = dirname(fileURLToPath(import.meta.url));
15
27
  const distPath = join(__dirname, "..", "dist", "cli.mjs");
16
28