gm-copilot-cli 2.0.47 → 2.0.51

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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gm
3
- version: 2.0.47
3
+ version: 2.0.51
4
4
  description: State machine agent with hooks, skills, and automated git enforcement
5
5
  author: AnEntrypoint
6
6
  repository: https://github.com/AnEntrypoint/gm-copilot-cli
@@ -55,6 +55,14 @@ const run = () => {
55
55
  return { block: true, reason: 'Plan mode is disabled. Use GM agent planning (PLAN→EXECUTE→EMIT→VERIFY→COMPLETE state machine) via gm:gm subagent instead.' };
56
56
  }
57
57
 
58
+ if (tool_name === 'Bash') {
59
+ const command = (tool_input?.command || '').trim();
60
+ const allowed = /^(git |gh |npm publish|npm pack|docker |sudo systemctl|systemctl )/.test(command);
61
+ if (!allowed) {
62
+ return { block: true, reason: 'Bash is blocked. Use the code_execution MCP tool instead. It supports Python, JS/TS, Go, Rust, C/C++ and bash via the language parameter.' };
63
+ }
64
+ }
65
+
58
66
  return { allow: true };
59
67
  } catch (error) {
60
68
  return { allow: true };
@@ -70,7 +78,7 @@ try {
70
78
  } else {
71
79
  console.log(JSON.stringify({ hookSpecificOutput: { hookEventName: 'PreToolUse', permissionDecision: 'deny', permissionDecisionReason: result.reason } }));
72
80
  }
73
- process.exit(2);
81
+ process.exit(0);
74
82
  }
75
83
 
76
84
  if (isGemini) {
package/manifest.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: gm
2
- version: 2.0.47
2
+ version: 2.0.51
3
3
  description: State machine agent with hooks, skills, and automated git enforcement
4
4
  author: AnEntrypoint
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-copilot-cli",
3
- "version": "2.0.47",
3
+ "version": "2.0.51",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -12,6 +12,27 @@ description: >-
12
12
 
13
13
  All applications MUST run through PM2. Direct invocations (node, bun, python) are forbidden for any process that produces output or has a lifecycle.
14
14
 
15
+ ## Installation (First Time Only)
16
+
17
+ Check if PM2 is installed:
18
+
19
+ ```bash
20
+ pm2 --version
21
+ ```
22
+
23
+ If command not found, install globally:
24
+
25
+ ```bash
26
+ npm install -g pm2
27
+ ```
28
+
29
+ Verify installation:
30
+
31
+ ```bash
32
+ pm2 --version # should print version number
33
+ pm2 ping # should respond "pong"
34
+ ```
35
+
15
36
  ## Pre-Start Check (MANDATORY)
16
37
 
17
38
  Before starting any process, check what is already running:
package/tools.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.47",
3
+ "version": "2.0.51",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "tools": [
6
6
  {