梅澤 真史 https://github.com/mumez/smalltalk-dev-plugin
AI コーディングエージェントをそのまま Smalltalk に使ってもうまくいきません:
AI に Smalltalk 開発の完全なスキルセットを与えました:
/st-setup-project
/st-test
/st-eval
結果: AI が信頼できる Smalltalk 開発パートナーになります!
AI が Tonel ファイルを編集し、Pharo にインポートして、テストする という流れを繰り返す。
本プレゼンテーションでは Claude Code での利用を中心に紹介します。
# GitHub からマーケットプレイスを追加 claude plugin marketplace add mumez/smalltalk-dev-plugin # プラグインをインストール claude plugin install smalltalk-dev
smalltalk-interop-docker を使って設定済み Pharo イメージを起動:
docker compose up -d
PharoSmalltalkInteropServerを手動でインストールして起動:
Metacello new baseline: 'PharoSmalltalkInteropServer'; repository: 'github://mumez/PharoSmalltalkInteropServer:main/src'; load. SisServer current start.
各エージェント向けのセットアップスクリプトが用意されています:
./extra/setup-cursor.sh [target-directory] ./extra/setup-windsurf.sh [target-directory] ./extra/setup-antigravity.sh [target-directory] ./extra/setup-copilot.sh [target-directory] # GitHub Copilot CLI ./extra/setup-opencode.sh [target-directory] # OpenCode ./extra/setup-codex.sh [target-directory] # Codex CLI
空のディレクトリまたは既存プロジェクトのディレクトリで claude を実行します。
claude
/st-buddy は適切なツールに誘導してくれる親しみやすいアシスタントです。
/st-buddy
やりたいことを言葉で説明するだけです:
/st-buddy nameとageを持つPersonクラスを作成したい
アシスタントが自動的に以下を行います:
どのツールを使えばよいか覚える必要はありません — /st-buddy に話しかけるだけです。
コアとなる開発スキル。Tonel フォーマット、パッケージ構造、「編集 → リント → インポート → テスト」のワークフロー全体を把握しています。
体系的なデバッグの専門家。エラーを診断し、/st-eval を使って段階的にコードを実行し、修正方法をガイドします。
クラスやメソッドの使われ方を調査します。使用例を見つけ、利用パターンを分析し、未知の API の理解を助けます。
クラス階層を横断してメソッドの実装を検索します。コーディングイディオムの学習やリファクタリングの影響評価に役立ちます。
ドキュメント不足のクラスに対して CRC スタイルのクラスコメントを自動提案します。フック経由でファイル編集後にトリガーされます。 機械的にではなく、ドキュメントが最も必要なクラスを優先します。
/st-init
/st-import
/st-export
/st-lint
/st-validate
2 つの MCP サーバーが連携の裏側を支えています:
Pharo との通信 — eval、インポート/エクスポート、テスト、コードナビゲーション など。
Tonel の検証とリント。
注意: これらを直接操作する必要はほとんどありません。 オーケストレーションは /st-buddy が担当します。
空のディレクトリから Smalltalk 初心者として始めるシンプルなユースケース。
/st-buddy 私はSmalltalkの初心者です。 異なる通貨単位間で算術演算を行えるMoneyクラスを作成したいです。 プロジェクトの初期設定から手助けして。
Smalltalk に慣れたユーザー向けのより複雑なユースケース。
/st-buddy 有向グラフを表現するためにGrNodeとGrArcを作成し、 最短経路問題を解きたいと考えています。 ノードにはnameが、アークにはscoreがあります。 GraphGearプロジェクトとして始めましょう。
Spec2 を使った GUI アプリケーションの構築。
/st-buddy Spec2フレームワークを使って、シンプルなToDoリストを作成したい。 各項目にチェックボックスと入力フィールドを配置し、 下部に「追加」と「削除」のボタンを配置する。 削除できるのは、チェックされている項目のみとする。着手して。
smalltalk-dev-plugin を使って作成された実際のプロジェクトを紹介します。
ACP プロトコルで Pharo 側から AI エージェントに接続するためのライブラリ。
接続先: Gemini CLI、Claude Code、OpenCode、Copilot CLI、Codex CLI など
https://github.com/mumez/pharo-acp
Pharo 向けシンプルな AI Chat GUI。内部で pharo-acp を使用。
https://github.com/mumez/pharo-acp-chat-ui
smalltalk-dev-plugin は AI アシスタントによる Pharo Smalltalk 開発を実用的かつ生産的にします。
/st-buddy と入力して、開発を始めましょう。
https://github.com/mumez/smalltalk-dev-plugin