gm-copilot-cli 2.0.58 → 2.0.60

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/agents/gm.md CHANGED
@@ -92,12 +92,12 @@ All execution via Bash tool or `agent-browser` skill. Every hypothesis proven by
92
92
 
93
93
  **CODESEARCH EFFICIENCY TIP**: Multiple semantic queries cost <$0.01 total and take <1 second each. Use `code-search` skill liberally — it's designed for this. Try:"What does this function do?" → "Where is error handling implemented?" → "Show database connection setup" → each returns ranked file locations.
94
94
 
95
- **BASH WHITELIST** (only acceptable bash uses):
96
- - `git` commands (status, add, commit, push, pull, log, diff)
97
- - `npm publish`, `npm pack`, `npm install -g`
98
- - `docker` commands
99
- - Starting/stopping system services
100
- - Everything else Bash tool
95
+ **BASH WHITELIST** — Bash allows ONLY these prefixes (hook enforces this):
96
+ - Code interpreters: `node`, `python`, `python3`, `bun`, `npx`, `ruby`, `go`, `deno`, `tsx`, `ts-node`
97
+ - Package/version tools: `npm`, `npx`
98
+ - VCS: `git`, `gh`
99
+ - Containers/services: `docker`, `systemctl`, `sudo systemctl`
100
+ - **Everything else is blocked.** Do NOT use shell builtins (ls, cat, grep, find, echo, cp, mv, rm, sed, awk). Instead: write logic as inline code and run it — `node -e "..."`, `python -c "..."`, `bun -e "..."`. Use Read/Write/Edit for file ops. Use code-search skill for exploration.
101
101
 
102
102
  **CODE EXECUTION PATTERNS** (use Bash tool):
103
103
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gm
3
- version: 2.0.58
3
+ version: 2.0.60
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
@@ -6,8 +6,8 @@ const path = require('path');
6
6
  const isGemini = process.env.GEMINI_PROJECT_DIR !== undefined;
7
7
 
8
8
  const writeTools = ['Write', 'write_file'];
9
- const searchTools = ['Glob', 'Grep', 'glob', 'search_file_content', 'Search', 'search'];
10
- const forbiddenTools = ['find', 'Find'];
9
+ const searchTools = ['glob', 'search_file_content', 'Search', 'search'];
10
+ const forbiddenTools = ['find', 'Find', 'Glob', 'Grep'];
11
11
 
12
12
  const run = () => {
13
13
  try {
@@ -18,7 +18,7 @@ const run = () => {
18
18
  if (!tool_name) return { allow: true };
19
19
 
20
20
  if (forbiddenTools.includes(tool_name)) {
21
- return { block: true, reason: 'Use gm:code-search for semantic codebase search instead of filesystem find' };
21
+ return { block: true, reason: 'Use the code-search skill for codebase exploration instead of Grep/Glob/find. Describe what you need in plain language — it understands intent, not just patterns.' };
22
22
  }
23
23
 
24
24
  if (writeTools.includes(tool_name)) {
@@ -57,9 +57,9 @@ const run = () => {
57
57
 
58
58
  if (tool_name === 'Bash') {
59
59
  const command = (tool_input?.command || '').trim();
60
- const allowed = /^(git |gh |npm publish|npm pack|docker |sudo systemctl|systemctl )/.test(command);
60
+ const allowed = /^(git |gh |npm |npx |bun |node |python |python3 |ruby |go |deno |tsx |ts-node |docker |sudo systemctl|systemctl )/.test(command);
61
61
  if (!allowed) {
62
- return { block: true, reason: 'Bash is blocked for non-git/npm/docker commands. Use Read/Write/Edit tools for file operations, or code-search skill for exploration.' };
62
+ return { block: true, reason: 'Bash only allows: git, node, python, bun, npx, ruby, go, deno, docker, npm, systemctl. Write all logic as code and execute it via Bash (e.g. node -e "...", python -c "...", bun -e "..."). Use Read/Write/Edit for file ops. Use code-search skill for exploration.' };
63
63
  }
64
64
  }
65
65
 
package/manifest.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: gm
2
- version: 2.0.58
2
+ version: 2.0.60
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.58",
3
+ "version": "2.0.60",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
package/tools.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.58",
3
+ "version": "2.0.60",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "tools": [
6
6
  {