Add AI development guidance for plugin developers using the hello_python
example as a template. Includes setup commands, architecture overview,
hook patterns, API usage, and best practices.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Makefile for hello_python example with development workflow targets:
- venv: Create virtual environment with SDK and dependencies
- install: Install/update dependencies in existing venv
- dist: Package plugin as tar.gz with vendored SDK
- dist-minimal: Package plugin without SDK (server must have SDK)
- clean: Remove build artifacts
- run: Run plugin locally for testing
- lint: Run type checking on plugin code
- help: Show available targets and development workflow
This Makefile serves as a template for Python plugin developers.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Export Command wrapper class from main package
- Update hello_python example to register /hello command in OnActivate
- Slash commands must be registered via api.register_command() to work
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use --copies flag when creating venv for distribution
- Symlinks point to build machine paths and won't work after extraction
- Avoid -e (editable) installs which reference local paths
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add comprehensive documentation for:
- Two packaging options (system Python vs bundled venv)
- Three deployment methods (UI, mmctl, API)
- Installation verification steps
- Troubleshooting guide for common issues
Also fixes the manifest example to use server.executable
instead of non-existent python.entry_point field.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Document the hello_python example plugin including:
- Plugin structure and file explanations
- Development and production installation steps
- Hook descriptions (OnActivate, OnDeactivate, MessageWillBePosted, ExecuteCommand)
- Usage patterns and next steps
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add plugin.py demonstrating SDK capabilities:
- OnActivate: Log activation, get server version via API
- OnDeactivate: Log deactivation
- MessageWillBePosted: Simple word filter example
- ExecuteCommand: /hello command with subcommand support
Also add requirements.txt specifying SDK dependency.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add plugin.json for hello_python example plugin demonstrating:
- server.runtime: "python" field for Python plugin detection
- server.python_version: ">=3.9" minimum requirement
- server.python.entry_point: "plugin.py" entry point
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>