gm-copilot-cli 2.0.257 → 2.0.260

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.257
3
+ version: 2.0.260
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
package/index.html CHANGED
@@ -18,7 +18,7 @@
18
18
  <script type="module">
19
19
  import { createElement as h, applyDiff, Fragment } from "webjsx";
20
20
  const PLATFORM_NAME="Copilot CLI",PLATFORM_TYPE="CLI Tool",PLATFORM_TYPE_COLOR="#3b82f6";
21
- const DESCRIPTION="State machine agent with hooks, skills, and automated git enforcement",VERSION="2.0.257";
21
+ const DESCRIPTION="State machine agent with hooks, skills, and automated git enforcement",VERSION="2.0.260";
22
22
  const GITHUB_URL="https://github.com/AnEntrypoint/gm-copilot-cli",BADGE_LABEL="copilot-cli";
23
23
  const FEATURES=[{"title":"State Machine","desc":"Immutable PLAN→EXECUTE→EMIT→VERIFY→COMPLETE phases with full mutable tracking"},{"title":"Semantic Search","desc":"Natural language codebase exploration via codesearch skill — no grep needed"},{"title":"Hooks","desc":"Pre-tool, session-start, prompt-submit, and stop hooks for full lifecycle control"},{"title":"Agents","desc":"gm, codesearch, and websearch agents pre-configured and ready to use"},{"title":"MCP Integration","desc":"Model Context Protocol server support built in"},{"title":"Auto-Recovery","desc":"Supervisor hierarchy ensures the system never crashes"}],INSTALL_STEPS=[{"desc":"Install via GitHub CLI","cmd":"gh extension install AnEntrypoint/gm-copilot-cli"},{"desc":"Restart your terminal — activates automatically"}];
24
24
  const CURRENT_PLATFORM="gm-copilot-cli";
package/manifest.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: gm
2
- version: 2.0.257
2
+ version: 2.0.260
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.257",
3
+ "version": "2.0.260",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
@@ -80,7 +80,7 @@ exec:codesearch
80
80
  <natural language description>
81
81
  ```
82
82
 
83
- Alias: `exec:search`. Glob, Grep, Read-for-discovery, Explore, WebSearch = blocked.
83
+ Alias: `exec:search`. **Glob, Grep, Read, Explore, WebSearch are hook-blocked** — the pre-tool-use hook denies them. Use `exec:codesearch` exclusively for all codebase discovery.
84
84
 
85
85
  ## BROWSER AUTOMATION
86
86
 
@@ -30,7 +30,7 @@ You are in the **VERIFY → COMPLETE** phase. Files are written. Prove the whole
30
30
 
31
31
  - `witnessed_e2e=UNKNOWN` until real end-to-end run produces witnessed output
32
32
  - `git_clean=UNKNOWN` until `exec:bash\ngit status --porcelain` returns empty
33
- - `git_pushed=UNKNOWN` until `exec:bash\ngit rev-list --count @{u}..HEAD` returns 0
33
+ - `git_pushed=UNKNOWN` until `git log origin/main..HEAD --oneline` returns empty
34
34
  - `prd_empty=UNKNOWN` until .prd file is deleted (not just empty — file must not exist)
35
35
 
36
36
  All four must resolve to KNOWN before COMPLETE. Any UNKNOWN = absolute barrier.
@@ -74,9 +74,9 @@ Must return empty.
74
74
 
75
75
  ```
76
76
  exec:bash
77
- git rev-list --count @{u}..HEAD
77
+ git log origin/main..HEAD --oneline
78
78
  ```
79
- Must return 0. If not: stage → commit → push → re-verify. Local commit without push ≠ complete.
79
+ Must return empty. If not: stage → commit → push → re-verify. Local commit without push ≠ complete.
80
80
 
81
81
  ## COMPLETION DEFINITION
82
82
 
@@ -77,7 +77,7 @@ exec:codesearch
77
77
  <natural language description>
78
78
  ```
79
79
 
80
- Alias: `exec:search`. Glob, Grep, Explore = blocked.
80
+ Alias: `exec:search`. **Glob, Grep, Read, Explore are hook-blocked** — use `exec:codesearch` exclusively.
81
81
 
82
82
  ## BROWSER DEBUGGING
83
83
 
@@ -60,7 +60,7 @@ exec:codesearch
60
60
  <natural language description of what you need>
61
61
  ```
62
62
 
63
- Alias: `exec:search`. Glob, Grep, Read-for-discovery, Explore, WebSearch = blocked.
63
+ Alias: `exec:search`. **Glob, Grep, Read, Explore, WebSearch are hook-blocked** — the pre-tool-use hook denies them. Use `exec:codesearch` exclusively for all codebase discovery.
64
64
 
65
65
  ## IMPORT-BASED DEBUGGING
66
66
 
@@ -114,7 +114,7 @@ Never respond to the user from this phase. When all mutables are KNOWN, immediat
114
114
 
115
115
  ## CONSTRAINTS
116
116
 
117
- **Never**: `Bash(node/npm/npx/bun)` | fake data | mock files | Glob/Grep/Explore | sequential independent items | absorb surprises silently | respond to user or pause for input
117
+ **Never**: `Bash(node/npm/npx/bun)` | fake data | mock files | Glob/Grep/Read/Explore (hook-blocked — use exec:codesearch) | sequential independent items | absorb surprises silently | respond to user or pause for input
118
118
 
119
119
  **Always**: witness every hypothesis | import real modules | snake to planning on any new unknown | fix immediately on discovery | invoke next skill immediately when done
120
120
 
@@ -41,29 +41,28 @@ Categories of unknowns to enumerate: file existence | API shape | data format |
41
41
 
42
42
  ## .PRD FORMAT
43
43
 
44
- Path: exactly `./.prd` in current working directory. **Markdown format** (`.md` content, no extension).
44
+ Path: exactly `./.prd` in current working directory. **JSON array** written via `exec:nodejs`.
45
45
 
46
46
  **Delete the file when empty.** Do not leave an empty `.prd` on disk — remove it entirely when all items are completed.
47
47
 
48
- ```markdown
49
- # .prd
50
-
51
- ## pending: descriptive-kebab-id
52
- **Subject:** Imperative verb phrase — what must be true when done
53
- **Status:** pending
54
- **Description:** Precise completion criterion
55
- **Effort:** small|medium|large
56
- **Category:** feature|bug|refactor|infra
57
- **Blocking:** id-a, id-b
58
- **Blocked by:** id-c
59
- **Acceptance:**
60
- - measurable, binary criterion 1
61
- - measurable, binary criterion 2
62
- **Edge cases:**
63
- - known failure mode 1
48
+ ```json
49
+ [
50
+ {
51
+ "id": "descriptive-kebab-id",
52
+ "subject": "Imperative verb phrase — what must be true when done",
53
+ "status": "pending",
54
+ "description": "Precise completion criterion",
55
+ "effort": "small|medium|large",
56
+ "category": "feature|bug|refactor|infra",
57
+ "blocking": ["ids this prevents from starting"],
58
+ "blockedBy": ["ids that must complete first"],
59
+ "acceptance": ["measurable, binary criterion 1"],
60
+ "edge_cases": ["known failure mode 1"]
61
+ }
62
+ ]
64
63
  ```
65
64
 
66
- **Status flow**: `pending` → `in_progress` → `completed` (completed items are removed from file).
65
+ **Status flow**: `pending` → `in_progress` → `completed` (completed items are removed from array).
67
66
  **Effort**: `small` = single execution, under 15min | `medium` = 2-3 rounds, under 45min | `large` = multiple rounds, over 1h.
68
67
  **blocking/blockedBy**: always bidirectional. Every dependency must be explicit in both directions.
69
68
  **Deletion rule**: when the last item is completed and removed, delete the `.prd` file. An empty file is a violation.
package/tools.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.257",
3
+ "version": "2.0.260",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "tools": [
6
6
  {