@witchpot/gmc 0.1.5 → 0.1.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to the Game Market Copilot CLI will be recorded here.
4
4
 
5
+ ## 0.1.6 - 2026-06-12
6
+
7
+ - Added `gmcp` and `game-market-copilot` binary aliases. Oh My Zsh's git
8
+ plugin defines `gmc` as `git merge --continue`, which shadows the CLI in
9
+ common interactive shells; the new names run the same CLI without conflict.
10
+
5
11
  ## 0.1.5 - 2026-06-12
6
12
 
7
13
  - Added `gmc games success-report` for the per-game Success Factor Analysis
package/README.md CHANGED
@@ -19,6 +19,12 @@ Or run it without a global install:
19
19
  npx @witchpot/gmc@beta --version
20
20
  ```
21
21
 
22
+ The package installs three equivalent binaries: `gmc`, `gmcp`, and
23
+ `game-market-copilot`. If `gmc` appears to run git instead of this CLI, a
24
+ shell alias is shadowing it — Oh My Zsh's git plugin defines
25
+ `gmc='git merge --continue'`. Use `gmcp` (or `command gmc`, or
26
+ `unalias gmc`) in that shell.
27
+
22
28
  A fuller user guide lives in
23
29
  [`docs/gmc-cli-user-guide.md`](../../docs/gmc-cli-user-guide.md).
24
30
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witchpot/gmc",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "private": false,
5
5
  "description": "Command line tools for Game Market Copilot market research.",
6
6
  "license": "UNLICENSED",
@@ -20,7 +20,9 @@
20
20
  "./package.json": "./package.json"
21
21
  },
22
22
  "bin": {
23
- "gmc": "bin/gmc.mjs"
23
+ "gmc": "bin/gmc.mjs",
24
+ "gmcp": "bin/gmc.mjs",
25
+ "game-market-copilot": "bin/gmc.mjs"
24
26
  },
25
27
  "engines": {
26
28
  "node": ">=20.9.0"
@@ -54,8 +54,10 @@ if (packageJson.publishConfig?.access !== "public") {
54
54
  failures.push("publishConfig.access must be public for npm beta-tag publishing.");
55
55
  }
56
56
 
57
- if (packageJson.bin?.gmc !== "bin/gmc.mjs") {
58
- failures.push("bin.gmc must point to bin/gmc.mjs.");
57
+ for (const binName of ["gmc", "gmcp", "game-market-copilot"]) {
58
+ if (packageJson.bin?.[binName] !== "bin/gmc.mjs") {
59
+ failures.push(`bin.${binName} must point to bin/gmc.mjs.`);
60
+ }
59
61
  }
60
62
 
61
63
  if (packageJson.main !== "./src/index.js") {
@@ -64,6 +64,20 @@ try {
64
64
  if (configPayload?.data?.configPath !== configPath || configPayload?.data?.authMode !== "anonymous") {
65
65
  throw new Error("Packed gmc config get --json did not print the expected config payload");
66
66
  }
67
+
68
+ // gmc is shadowed by Oh My Zsh's `git merge --continue` alias, so the
69
+ // package ships alias binaries; make sure npm actually installed them.
70
+ for (const aliasName of ["gmcp", "game-market-copilot"]) {
71
+ const aliasBinName = process.platform === "win32" ? `${aliasName}.cmd` : aliasName;
72
+ const aliasBin = path.join(workDir, "node_modules", ".bin", aliasBinName);
73
+ const aliasResult = run(aliasBin, ["--version"], {
74
+ env: { GMC_CONFIG_PATH: configPath },
75
+ capture: true
76
+ });
77
+ if (!/^gmc \d+\.\d+\.\d+/.test(aliasResult.stdout)) {
78
+ throw new Error(`Packed ${aliasName} --version did not print the CLI version`);
79
+ }
80
+ }
67
81
  } finally {
68
82
  rmSync(workDir, { recursive: true, force: true });
69
83
  }
package/src/constants.js CHANGED
@@ -8,7 +8,7 @@ export const EXIT_API = 4;
8
8
 
9
9
  export const CLI_PACKAGE_NAME = "@witchpot/gmc";
10
10
  export const CLI_BETA_PACKAGE_NAME = "@witchpot/gmc";
11
- export const CLI_VERSION = "0.1.5";
11
+ export const CLI_VERSION = "0.1.6";
12
12
 
13
13
  export const DEFAULT_API_BASE_URL = "https://gamemarketcopilot.com";
14
14
  export const DEFAULT_CONFIG_PATH = path.join(homedir(), ".config", "gmc", "config.json");
package/src/help.js CHANGED
@@ -48,6 +48,11 @@ Usage:
48
48
  gmc showcases fit --source steam <externalId> --deadline-before <YYYY-MM-DD> --json
49
49
  gmc showcases patterns --source steam --tags <tag_slug[,tag_slug...]> --json
50
50
 
51
+ Binary aliases:
52
+ gmcp and game-market-copilot run the same CLI. Use them when a shell
53
+ alias shadows gmc (Oh My Zsh's git plugin defines gmc as
54
+ 'git merge --continue').
55
+
51
56
  Supported beta commands:
52
57
  ${SUPPORTED_BETA_COMMANDS.map((command) => ` ${command}`).join("\n")}
53
58