Files
LEDMatrix/scripts/dev
ChuckandClaude Opus 5 4d9c52f182 fix(dev): link-github links plugins from the ledmatrix-plugins monorepo
link-github <name> cloned https://github.com/ChuckBuilds/ledmatrix-<name>.git,
and those per-plugin repositories no longer exist: official plugins are
directories in the ledmatrix-plugins monorepo. It now clones (or pulls) the
monorepo once into the dev directory, finds plugins/<name>,
plugins/ledmatrix-<name> or the plugin whose manifest id is <name>, and
links it under its manifest id. With an explicit repo URL it still links a
single-repository plugin as before.

dev_plugins.json: github_user is honoured again (monorepo owner, e.g. a
fork), plus plugins_repo and plugins_branch; github_pattern, which was
documented but never read, is dropped and warned about. Ships
dev_plugins.json.example and git-ignores dev_plugins.json, both of which
the guide promised. Reading JSON falls back to python3 when jq is missing
(get_plugin_id silently returned nothing without jq).

update/status/list find the git checkout above a monorepo plugin
directory (its .git is not in the plugin dir), and update pulls a shared
checkout once. status no longer exits 1 when nothing is broken.

Docs: PLUGIN_DEVELOPMENT_GUIDE (quick start, link-github, configuration,
workflow, store integration, hello-world link, submission), and the
nonexistent scripts/git-hooks/pre-push-plugin-version and
scripts/bump_plugin_version.py replaced with the real rule: bump the
manifest version and run update_registry.py. scripts/dev/README.md and
CLAUDE.md updated to match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 09:03:52 -04:00
..
2025-12-27 14:15:49 -05:00

Development Scripts

This directory contains scripts and utilities for development and testing.

Scripts

  • dev_plugin_setup.sh - Sets up plugin development environment by linking plugin repositories
  • run_emulator.sh - Runs the LED Matrix display in emulator mode (for development without hardware)
  • validate_python.py - Validates Python files for common formatting and syntax errors

Usage

Plugin Development Setup

# Official plugin: clones ChuckBuilds/ledmatrix-plugins (once) and links
# its plugins/<plugin-name> into plugins/
./scripts/dev/dev_plugin_setup.sh link-github <plugin-name>

# Plugin with its own repository
./scripts/dev/dev_plugin_setup.sh link-github <plugin-name> <repo-url>

Set plugin_system.plugins_directory to plugins so the loader finds the links. To use a fork or another clone location, copy dev_plugins.json.example to dev_plugins.json. Details: docs/PLUGIN_DEVELOPMENT_GUIDE.md.

Running Emulator

./scripts/dev/run_emulator.sh

Validating Python Files

python3 scripts/dev/validate_python.py <file.py>