St import
Claude Code plugin for AI-driven Smalltalk (Pharo) development
npx -y skills add mumez/smalltalk-dev-plugin --skill st-importAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Import Tonel package into running Pharo image. Use when loading edited .st files into Pharo after code changes.
SKILL.md
2.1 KB, as published. Nobody here has run it
Import Tonel Package
Import edited Tonel files into the running Pharo image.
Usage
/st-import PackageName /absolute/path/to/src
Steps
With arguments: import a single package
- Call
import_packagewith the package name and absolute path to thesrc/directory - Report success or error from the result
Without arguments: import all local packages in dependency order
When no arguments are given, discover and import the full project automatically:
-
Locate the source directory — read
.projectfrom the repository root. It contains JSON-like Pharo syntax with asrcDirectorykey (e.g.,'srcDirectory' : 'src'). Resolve the value relative to the repository root to get the absolute path to the source directory. -
Determine import order — find the
BaselineOfpackage inside the source directory (a directory whose name starts withBaselineOf). Read theBaselineOfXXX.class.stfile inside it and parse thebaseline: specmethod. Extract:- All
package: 'PkgName'declarations → the full list of packages to import - All
requires: #('Dep1' 'Dep2' ...)clauses → the dependency edges between packages
Topologically sort the packages so that each package is imported only after all its dependencies have been imported. Import the
BaselineOfpackage first (before all others), then the sorted application packages. - All
-
Import each package — call
import_packagefor each package in the computed order, passing the absolute path to the source directory. Report the result of each import as you go.
Notes
- Always use absolute paths
- Use the package parent directory as the path — do not include the package name in the path
- Import main package before test package
- Re-import after every change
Examples
/st-import RediStick-Json /home/user/git/RediStick/src
/st-import RediStick-Json-Tests /home/user/git/RediStick/src