mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-13 18:46:37 +00:00
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>
38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
# 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
|
|
```bash
|
|
# 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](../../docs/PLUGIN_DEVELOPMENT_GUIDE.md).
|
|
|
|
### Running Emulator
|
|
```bash
|
|
./scripts/dev/run_emulator.sh
|
|
```
|
|
|
|
### Validating Python Files
|
|
```bash
|
|
python3 scripts/dev/validate_python.py <file.py>
|
|
```
|
|
|