From 1d021dd2d9b52c2e2e1561c86e155c0c263bbc62 Mon Sep 17 00:00:00 2001 From: Simon Clark Date: Thu, 26 Mar 2026 07:40:41 +0000 Subject: [PATCH] docs: add CLAUDE.md with versioning and release workflow Documents the plugin, its endpoints, and the CI release process. Bumps version to 2026.0.4. Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 66 +++++++++++++++++++ .../Contents/Info.plist | 4 +- 2 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..3f402b4 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,66 @@ +# CLAUDE.md — Logs Over Reflector + +Indigo plugin that exposes the event log as a JSON REST API over the Indigo Reflector. + +## Versioning & Release + +### Version bump is required for every PR + +The `PluginVersion` in `LogsOverReflector.indigoPlugin/Contents/Info.plist` must be bumped in every PR. CI runs a version-check that fails if the version already exists as a git tag. **Do not merge with failing checks.** + +Version format: `YYYY.R.patch` (e.g. `2026.0.4`). Bump the patch for fixes/docs, minor for features. + +On merge to main, the `create-release` workflow automatically creates a GitHub release with a `.zip` bundle of the plugin. + +### PR checklist + +1. Bump `PluginVersion` in `Info.plist` +2. Push and create PR +3. Wait for version-check CI to pass +4. Merge only after all checks are green + +## Plugin Overview + +- **Bundle ID**: `com.simons-plugins.logs-over-reflector` +- **Plugin ID**: `com.simons-plugins.logs-over-reflector` +- **Python**: 3.10+ (Indigo 2023+) + +### Endpoints + +All endpoints served via Indigo Reflector message API: + +| Endpoint | Description | +|----------|-------------| +| `log` | Current event log with pagination and filtering | +| `sources` | Distinct log source names | +| `history` | Historical entries from dated log files | +| `dates` | List of available log dates | + +### Query Parameters + +- `lines` — number of entries (default 500, max 5000) +- `offset` — skip N most-recent entries (pagination) +- `source` — filter by source name +- `search` — text search in message field +- `date` — (history only) date in `YYYY-MM-DD` format + +## Plugin Structure + +``` +LogsOverReflector.indigoPlugin/ +└── Contents/ + ├── Info.plist + └── Server Plugin/ + ├── plugin.py # HTTP handlers (log, sources, history, dates) + ├── Actions.xml # Action definitions for HTTP endpoints + └── PluginConfig.xml # Plugin preferences +``` + +## Testing + +```bash +# Copy to Indigo server +cp -r "LogsOverReflector.indigoPlugin" "/Volumes/Macintosh HD-1/Library/Application Support/Perceptive Automation/Indigo 2025.1/Plugins/" +``` + +Then reload via MCP: `mcp__indigo__restart_plugin(plugin_id="com.simons-plugins.logs-over-reflector")` diff --git a/LogsOverReflector.indigoPlugin/Contents/Info.plist b/LogsOverReflector.indigoPlugin/Contents/Info.plist index 01c855c..cef50cd 100644 --- a/LogsOverReflector.indigoPlugin/Contents/Info.plist +++ b/LogsOverReflector.indigoPlugin/Contents/Info.plist @@ -3,7 +3,7 @@ PluginVersion - 2026.0.3 + 2026.0.4 ServerApiVersion 3.6 CFBundleDisplayName @@ -11,7 +11,7 @@ CFBundleIdentifier com.simons-plugins.logs-over-reflector CFBundleVersion - 2026.0.3 + 2026.0.4 CFBundleURLTypes