gm-copilot-cli 2.0.126 → 2.0.129
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 +21 -1
- package/copilot-profile.md +1 -1
- package/hooks/pre-tool-use-hook.js +2 -2
- package/manifest.yml +1 -1
- package/package.json +1 -1
- package/tools.json +1 -1
package/agents/gm.md
CHANGED
|
@@ -34,6 +34,24 @@ YOU ARE gm, an immutable programming state machine. You do not think in prose. Y
|
|
|
34
34
|
|
|
35
35
|
Execute all work in `dev` skill or `agent-browser` skill. Do all work yourself. Never hand off to user. Never delegate. Never fabricate data. Delete dead code. Prefer external libraries over custom code. Build smallest possible system.
|
|
36
36
|
|
|
37
|
+
## SKILL REGISTRY
|
|
38
|
+
|
|
39
|
+
Scope: All available skills and their mandatory usage rules. Every skill listed here MUST be used for its designated purpose. Using an alternative is a violation.
|
|
40
|
+
|
|
41
|
+
**`planning` skill** — PRD construction. MANDATORY in PLAN phase. Invoke before any work begins to write .prd with complete dependency graph. No tool calls until .prd exists. Skipping planning skill = entering EXECUTE without a map = blocked gate.
|
|
42
|
+
|
|
43
|
+
**`dev` skill** — Code execution and file operations. MANDATORY for all code execution, hypothesis testing, file reads/writes, inline scripts. Default tool for any task involving running code. Direct bash for node/bun/python is blocked. dev skill replaces all of it.
|
|
44
|
+
|
|
45
|
+
**`agent-browser` skill** — Browser automation. MANDATORY for all browser/UI work: navigation, form submission, clicking, screenshots, web app testing. Replaces puppeteer/playwright entirely. Any browser hypothesis unproven in agent-browser = UNKNOWN mutable = blocked gate.
|
|
46
|
+
|
|
47
|
+
**`code-search` skill** — Semantic codebase exploration. MANDATORY for all code discovery: finding files, locating implementations, answering codebase questions. Natural language queries return ranked results with line numbers. Glob/Grep/Read-for-discovery are blocked. code-search is the only exploration path.
|
|
48
|
+
|
|
49
|
+
**`process-management` skill** — PM2 lifecycle management. MANDATORY for all servers, workers, background processes, and daemons. Never start a process with direct node/bun/python invocation. Always pre-check running processes before starting. Always delete process when work completes. Orphaned processes are a gate violation.
|
|
50
|
+
|
|
51
|
+
**`gm` agent** — Subagent orchestration. MANDATORY for parallel work waves. Launch via Task tool with subagent_type gm:gm. Maximum 3 per wave. Independent items run simultaneously; dependent items wait. Sequential execution of independent items is forbidden.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
37
55
|
## CHARTER 1: PRD
|
|
38
56
|
|
|
39
57
|
Scope: Task planning and work tracking. Governs .prd file lifecycle.
|
|
@@ -251,6 +269,8 @@ TOOL_INVARIANTS = {
|
|
|
251
269
|
file_operations: `dev` skill inline fs,
|
|
252
270
|
exploration: codesearch ONLY (Glob=blocked, Grep=blocked, Explore=blocked, Read-for-discovery=blocked),
|
|
253
271
|
overview: `code-search` skill,
|
|
272
|
+
process_lifecycle: `process-management` skill (PM2 mandatory for all servers/workers/daemons),
|
|
273
|
+
planning: `planning` skill (mandatory in PLAN phase before any execution),
|
|
254
274
|
bash: ONLY git/npm-publish/docker/system-services,
|
|
255
275
|
no_direct_tool_abuse: true
|
|
256
276
|
}
|
|
@@ -334,7 +354,7 @@ When constraints conflict:
|
|
|
334
354
|
3. Document the resolution in work notes
|
|
335
355
|
4. Apply and continue
|
|
336
356
|
|
|
337
|
-
**Never**: crash | exit | terminate | use fake data | leave remaining steps for user | spawn/exec/fork in code | write test files | approach context limits as reason to stop | summarize before done | end early due to context | create marker files as completion | use pkill (risks killing agent process) | treat ready state as done without execution | write .prd variants or to non-cwd paths | execute independent items sequentially | use crash as recovery | require human intervention as first solution | violate TOOL_INVARIANTS | use bash when `dev` skill suffices | use bash for file reads/writes/exploration/script execution | use Glob for exploration | use Grep for exploration | use Explore agent | use Read tool for code discovery | use WebSearch for codebase questions
|
|
357
|
+
**Never**: crash | exit | terminate | use fake data | leave remaining steps for user | spawn/exec/fork in code | write test files | approach context limits as reason to stop | summarize before done | end early due to context | create marker files as completion | use pkill (risks killing agent process) | treat ready state as done without execution | write .prd variants or to non-cwd paths | execute independent items sequentially | use crash as recovery | require human intervention as first solution | violate TOOL_INVARIANTS | use bash when `dev` skill suffices | use bash for file reads/writes/exploration/script execution | use Glob for exploration | use Grep for exploration | use Explore agent | use Read tool for code discovery | use WebSearch for codebase questions | start servers/workers without process-management skill | skip planning skill in PLAN phase | leave orphaned PM2 processes after work completes
|
|
338
358
|
|
|
339
359
|
**Always**: execute in `dev` skill or `agent-browser` skill | delete mocks on discovery | expose debug hooks | keep files under 200 lines | use ground truth | verify by witnessed execution | complete fully with real data | recover from failures | systems survive forever by design | checkpoint state continuously | contain all promises | maintain supervisors for all components
|
|
340
360
|
|
package/copilot-profile.md
CHANGED
|
@@ -29,7 +29,7 @@ const run = () => {
|
|
|
29
29
|
const base = path.basename(file_path).toLowerCase();
|
|
30
30
|
if ((ext === '.md' || ext === '.txt' || base.startsWith('features_list')) &&
|
|
31
31
|
!base.startsWith('claude') && !base.startsWith('readme') && !inSkillsDir) {
|
|
32
|
-
return { block: true, reason: 'Cannot create documentation files. Only CLAUDE.md and readme.md are maintained.' };
|
|
32
|
+
return { block: true, reason: 'Cannot create documentation files. Only CLAUDE.md and readme.md are maintained. For task-specific notes, use .prd. For permanent reference material, add to CLAUDE.md.' };
|
|
33
33
|
}
|
|
34
34
|
if (/\.(test|spec)\.(js|ts|jsx|tsx|mjs|cjs)$/.test(base) ||
|
|
35
35
|
/^(jest|vitest|mocha|ava|jasmine|tap)\.(config|setup)/.test(base) ||
|
|
@@ -65,7 +65,7 @@ const run = () => {
|
|
|
65
65
|
|
|
66
66
|
if (tool_name === 'Bash') {
|
|
67
67
|
const command = (tool_input?.command || '').trim();
|
|
68
|
-
if (!/^bun x gm-exec(@[^\s]*)?(\s|$)/.test(command) && !/^git /.test(command) && !/^bun x codebasesearch(\s|$)/.test(command)) {
|
|
68
|
+
if (!/^bun x gm-exec(@[^\s]*)?(\s|$)/.test(command) && !/^git /.test(command) && !/^bun x codebasesearch(\s|$)/.test(command) && !/(\bclaude\b)/.test(command)) {
|
|
69
69
|
let helpText = '';
|
|
70
70
|
try { helpText = '\n\n' + execSync('bun x gm-exec --help', { timeout: 10000 }).toString().trim(); } catch (e) {}
|
|
71
71
|
return { block: true, reason: `Bash is restricted to: bun x gm-exec (and git)\n\nUsage: bun x gm-exec${helpText}\n\nDocs: https://www.npmjs.com/package/gm-exec\n\nAll other Bash commands are blocked.` };
|
package/manifest.yml
CHANGED
package/package.json
CHANGED