Pharo Live Image Workflow
Use this skill for any task that reads, changes, tests, or saves Smalltalk code in a Genie-backed project.
Before Changing Code
- Read
.genie/project.stonif it exists. - Identify the project package prefix and
#ownedPackages. - Use MCP read/search tools to inspect the live image before assuming a class, selector, or package exists.
- If the requested change touches packages outside
#ownedPackages, stop and ask unless the user explicitly asked to work on Genie itself.
MCP Server
Preferred endpoint:
http://localhost:8087/mcp
The server is JSON-RPC MCP. Do not assume REST paths like /list-packages
exist.
Use tools by name:
list_packages,list_classes,list_methodsget_class_source,get_method_source,get_class_commentsearch_classes_like,search_methods_likesearch_implementors,search_references,search_references_to_classdefine_class,define_method,rename_class,remove_class,remove_methodrun_testsave_image
TDD Loop
- Locate current code with MCP read/search tools.
- Add or update a test in the project test package.
- Run the test and confirm it fails for the expected reason.
- Implement the smallest image change through MCP.
- Read changed methods/classes back.
- Run the relevant class/package tests.
- Save with
save_imagegated on the relevant test package when green.
Exported Files
The live image is the source of truth. Do not edit .st, Tonel, or generated
export files as the primary way to change behavior unless the user explicitly
asks for export/import maintenance.
References
Read references/mcp-8087.md when you need the exact JSON-RPC request shape or
a curl smoke test.