@evref-bl/pharo-mcp 3.4.1 → 3.6.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evref-bl/pharo-mcp",
3
- "version": "3.4.1",
3
+ "version": "3.6.0",
4
4
  "description": "Pharo MCP agent-host templates",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -4,7 +4,8 @@
4
4
  "pharo": {
5
5
  "type": "remote",
6
6
  "url": "http://127.0.0.1:4000",
7
- "enabled": true
7
+ "enabled": true,
8
+ "codemode": false
8
9
  }
9
10
  }
10
11
  }
@@ -119,7 +119,9 @@ the running image; both preview, and perform with `confirm=true`.
119
119
  `image_evaluate` runs arbitrary Smalltalk. Prefer a dedicated tool when one
120
120
  exists: it validates its input and answers structured data. A warning raised
121
121
  while the code runs is printed after the value, so a deprecated method's answer
122
- arrives with the deprecation that qualifies it.
122
+ arrives with the deprecation that qualifies it, and so is what the code wrote to
123
+ the Transcript. As in a Playground, a lowercase name the code assigns without
124
+ declaring is a variable of that one call; a name it only reads stays undeclared.
123
125
 
124
126
  Compiling is the case that bites. Method source separates lines with CR, and
125
127
  `method_compile` normalizes what it is given, while a bare `compile:` from
@@ -1,51 +1,40 @@
1
1
  # Pharo MCP Agent Guide
2
2
 
3
- Use the configured `pharo` MCP server whenever a task depends on the running
4
- image. Preserve unrelated changes, and say which live check you could not run
5
- rather than letting source stand in for it.
3
+ Use the `pharo` MCP server whenever a task depends on the running image.
4
+ Preserve unrelated changes, and say which live check you could not run rather
5
+ than letting source stand in for it.
6
6
 
7
7
  ## Read First
8
8
 
9
- - Inspect the tools and schemas exposed by the current client; do not rely on
10
- remembered names. `tool_search` finds what is not advertised, and `tool_get`
11
- answers one tool's schema.
12
- - Prefer the least-mutating dedicated tool. Use `image_evaluate` only when no
13
- dedicated tool fits.
14
- - Treat image, Tonel, Iceberg, and Git state as separate. None of them proves
15
- anything about the others.
16
- - The image is one workspace. It has no branches and no worktrees, so two
17
- agents working in it at once share every edit, and one export writes both
18
- their changes into one diff. One writer at a time.
19
- - Tools change the running image but never save it; use a safe image boundary.
20
- - The user may commit through Iceberg while you work, and nothing reports it.
21
- What you remember changing is not evidence that it is uncommitted: ask the
22
- image and the checkout before calling any work unsaved or at risk.
9
+ - Look tools up rather than recall them: `tool_search` finds what the image
10
+ does not advertise, `tool_get` gives a tool's schema.
11
+ - Prefer the least-mutating dedicated tool; `image_evaluate` only when none
12
+ fits.
13
+ - Image, Tonel, Iceberg and Git are separate states; none proves anything
14
+ about another.
15
+ - An image takes one writer: it has no branches, so two agents in it share
16
+ every edit.
17
+ - Tools never save the image.
18
+ - The user may commit through Iceberg unseen: ask the image and the checkout
19
+ before calling any work uncommitted.
23
20
 
24
21
  ## Context Loading
25
22
 
26
- - Before Pharo source changes: read the project's Pharo coding and testing
27
- guidance. If none exists, use the local
28
- [Pharo coding](pharo-references/pharo-coding.md) reference.
29
- - Before reading an answer closely, rewriting methods, or acting on a warning a
30
- call came back with: read
23
+ - Changing Pharo code: the project's coding guidance, or else
24
+ [Pharo coding](pharo-references/pharo-coding.md).
25
+ - Reading an answer closely, rewriting methods, or acting on a warning:
31
26
  [tool reference](pharo-references/tool-reference.md).
32
- - Before loading a project: use `skills/pharo-project-load/SKILL.md`.
33
- - Before moving code between the image and its files, or saying what is not
34
- committed yet: use `skills/pharo-image-sync/SKILL.md`.
35
- - Before reproducing smalltalkCI or GitHub failures: use
36
- `skills/pharo-ci-repro/SKILL.md`.
37
- - Before profiling or optimizing Pharo code: use
38
- `skills/pharo-code-profiling/SKILL.md`.
39
- - Before recovering a stopped standalone image: use
40
- `skills/pharo-mcp-recovery/SKILL.md`.
27
+ - Loading a project: `skills/pharo-project-load/SKILL.md`.
28
+ - Moving code between the image and its files, or saying what is committed:
29
+ `skills/pharo-image-sync/SKILL.md`.
30
+ - Reproducing smalltalkCI or GitHub failures: `skills/pharo-ci-repro/SKILL.md`.
31
+ - Profiling: `skills/pharo-code-profiling/SKILL.md`.
32
+ - Recovering a stopped standalone image: `skills/pharo-mcp-recovery/SKILL.md`.
41
33
 
42
34
  ## Workflow
43
35
 
44
- 1. Discover the exact tool and inspect the target with read-only calls.
45
- 2. Preview or verify identity before risky mutation.
46
- 3. Make the narrowest image-side change.
47
- 4. Run focused SUnit tests and inspect the result.
48
- 5. Use the image-sync skill before exporting or committing Tonel changes.
49
-
50
- For repository work, verify repository identity before mutation and inspect the
51
- image-side diff before export or commit.
36
+ 1. Inspect with read-only calls.
37
+ 2. Verify identity before a risky change.
38
+ 3. Make the narrowest change in the image.
39
+ 4. Run focused tests.
40
+ 5. Use the image-sync skill before exporting or committing.