mergestorm 0.3.8 → 0.3.9
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 +5 -4
- package/dist/commands/jobs.js +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/stack.js +4 -4
- package/dist/shell.js +1 -1
- package/dist/ui/banner.js +5 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ After install, both `mergestorm` and `mg` invoke the same CLI.
|
|
|
28
28
|
## Source
|
|
29
29
|
|
|
30
30
|
Public source (MIT): [github.com/marginsystems/mergestorm-cli](https://github.com/marginsystems/mergestorm-cli).
|
|
31
|
-
Tags there match npm versions (`v0.3.
|
|
31
|
+
Tags there match npm versions (`v0.3.9`, …). Clone, install, and build:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
git clone https://github.com/marginsystems/mergestorm-cli.git
|
|
@@ -36,6 +36,7 @@ cd mergestorm-cli
|
|
|
36
36
|
npm install
|
|
37
37
|
npm run build
|
|
38
38
|
node dist/cli.js --help
|
|
39
|
+
# optional: npm link # puts `mergestorm` / `mg` on your PATH
|
|
39
40
|
```
|
|
40
41
|
|
|
41
42
|
## Interactive shell
|
|
@@ -43,13 +44,13 @@ node dist/cli.js --help
|
|
|
43
44
|
On a TTY, bare `mergestorm` (or `mergestorm shell`) opens a branded REPL: a **full-width** welcome panel (logo + status on the left, tips / what's new on the right) and a **full-width** bordered input box with a live `/` slash-command dropdown. Non-TTY (CI/pipes) prints usage instead — no hanging prompt.
|
|
44
45
|
|
|
45
46
|
```
|
|
46
|
-
╭─ mergestorm v0.3.
|
|
47
|
+
╭─ mergestorm v0.3.9 ──────────────────────────────────────────────────────────╮
|
|
47
48
|
│ ▟██████████▛ Tips for getting started │
|
|
48
49
|
│ ▜████████▛ review review origin/HEAD or main │
|
|
49
50
|
│ ▝▜████▛▘ stack create → submit → restack → land │
|
|
50
51
|
│ ▜██▛ /help list all commands │
|
|
51
52
|
│ ██ │
|
|
52
|
-
│ ▝▘ What's new in v0.3.
|
|
53
|
+
│ ▝▘ What's new in v0.3.9 │
|
|
53
54
|
│ ● msk… · maelstrom • MIT license + public source (mergestorm-cli) │
|
|
54
55
|
│ [████░░░░░░░░░░] 12% used │
|
|
55
56
|
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
@@ -109,7 +110,7 @@ Legacy repo-local `.mergestorm/stack.json` state migrates automatically on the n
|
|
|
109
110
|
|
|
110
111
|
Runs a browser device-authorization flow: prints a short code, opens `https://mergestorm.ai/cli/auth`, and — once you approve — mints and stores an API key in `~/.mergestorm/config.json` (mode `600`). No key copy/paste needed.
|
|
111
112
|
|
|
112
|
-
For headless or CI environments, use `mergestorm login --key` to paste an existing `msk_live_…` key (create one on the dashboard [API
|
|
113
|
+
For headless or CI environments, use `mergestorm login --key` to paste an existing `msk_live_…` key (create one on the dashboard [Settings → API](https://mergestorm.ai/settings#api)). On a TTY the paste is hidden (not echoed); the CLI verifies the key with the API before saving.
|
|
113
114
|
|
|
114
115
|
### `logout`
|
|
115
116
|
|
package/dist/commands/jobs.js
CHANGED
|
@@ -45,7 +45,7 @@ export async function cmdJobs(args) {
|
|
|
45
45
|
console.log(ansi.dim(fmt(header)));
|
|
46
46
|
for (const r of rows)
|
|
47
47
|
console.log(fmt(r));
|
|
48
|
-
console.log(ansi.dim(" branches: `branches` · full history: https://mergestorm.ai/
|
|
48
|
+
console.log(ansi.dim(" branches: `branches` · full history: https://mergestorm.ai/settings#api"));
|
|
49
49
|
}
|
|
50
50
|
/** Numbered chain timeline for a thread (branch/PR meta when present). */
|
|
51
51
|
export function formatThreadTimeline(data) {
|
package/dist/commands/login.js
CHANGED
|
@@ -101,7 +101,7 @@ export async function cmdLogin(args) {
|
|
|
101
101
|
continue;
|
|
102
102
|
}
|
|
103
103
|
if (err === "key_limit_reached") {
|
|
104
|
-
throw new CommandError("You have reached the max active API keys. Revoke one at https://mergestorm.ai/
|
|
104
|
+
throw new CommandError("You have reached the max active API keys. Revoke one at https://mergestorm.ai/settings#api and try again.");
|
|
105
105
|
}
|
|
106
106
|
if (err === "expired_token") {
|
|
107
107
|
throw new CommandError("Login code expired. Run `mergestorm login` again.");
|
package/dist/commands/stack.js
CHANGED
|
@@ -311,7 +311,7 @@ export async function cmdStackSubmit(args, deps = {}) {
|
|
|
311
311
|
else {
|
|
312
312
|
console.log(ansi.dim(" Stack registration returned no stack ID"));
|
|
313
313
|
}
|
|
314
|
-
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard
|
|
314
|
+
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard"));
|
|
315
315
|
}
|
|
316
316
|
async function cmdStackReset(args) {
|
|
317
317
|
parseStackResetArgs(args);
|
|
@@ -329,7 +329,7 @@ async function cmdStackList(args) {
|
|
|
329
329
|
if (stacks.length === 0) {
|
|
330
330
|
console.log(ansi.dim(" No stacks yet. Author with `stack create` → commit → `stack submit`."));
|
|
331
331
|
console.log(ansi.dim(" Import an existing chain only: `stack adopt owner/repo#pr`"));
|
|
332
|
-
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard
|
|
332
|
+
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard"));
|
|
333
333
|
return;
|
|
334
334
|
}
|
|
335
335
|
for (const s of stacks) {
|
|
@@ -337,7 +337,7 @@ async function cmdStackList(args) {
|
|
|
337
337
|
console.log(line);
|
|
338
338
|
console.log("");
|
|
339
339
|
}
|
|
340
|
-
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard
|
|
340
|
+
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard"));
|
|
341
341
|
}
|
|
342
342
|
async function cmdStackAdopt(args) {
|
|
343
343
|
const asJson = args.includes("--json");
|
|
@@ -364,7 +364,7 @@ async function cmdStackAdopt(args) {
|
|
|
364
364
|
if (stack?.trunkBranch) {
|
|
365
365
|
console.log(ansi.dim(` trunk: ${stack.trunkBranch}`));
|
|
366
366
|
}
|
|
367
|
-
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard
|
|
367
|
+
console.log(ansi.dim(" Dashboard: https://mergestorm.ai/dashboard"));
|
|
368
368
|
}
|
|
369
369
|
async function cmdStackRestack(args) {
|
|
370
370
|
const asJson = args.includes("--json");
|
package/dist/shell.js
CHANGED
package/dist/ui/banner.js
CHANGED
|
@@ -61,6 +61,11 @@ const WHATS_NEW = {
|
|
|
61
61
|
"Review poll retries + status <job_id> recovery; empty-submit / narrow-TTY fixes",
|
|
62
62
|
"login --key muted + validated; API timeouts; Node 22 hard-fail; --version",
|
|
63
63
|
],
|
|
64
|
+
"0.3.9": [
|
|
65
|
+
"Public source repo open (github.com/marginsystems/mergestorm-cli)",
|
|
66
|
+
"npm description points at MIT build-from-source URL",
|
|
67
|
+
"Dashboard links → Settings → API / Work (product URL cleanup)",
|
|
68
|
+
],
|
|
64
69
|
};
|
|
65
70
|
function formatStatusLines(me, key, barWidth, keyInvalid = false) {
|
|
66
71
|
if (!key) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mergestorm",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Mergestorm CLI —
|
|
3
|
+
"version": "0.3.9",
|
|
4
|
+
"description": "Mergestorm CLI (mg) — local reviews & stacked PRs. MIT; build from source: https://github.com/marginsystems/mergestorm-cli",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "Margin Systems <hello@mergestorm.ai>",
|