refactor: migrate from submodules to multi-root workspace for plugins (#198)

* refactor: migrate from submodules to multi-root workspace for plugins

- Updated LEDMatrix.code-workspace to include all plugin repos as root folders
- Removed symlinks from plugin-repos/ and plugins/ directories
- Updated .gitignore to reflect new plugin management approach
- Added setup_plugin_repos.py script for managing plugin symlinks (if needed)
- Added MULTI_ROOT_WORKSPACE_SETUP.md documentation

Plugins are now managed as independent repositories via multi-root workspace,
allowing for easier development and independent updates without modifying
the LEDMatrix project structure.

* Fix MULTI_ROOT_WORKSPACE_SETUP.md and add JSON error handling

- Remove deprecated clone_plugin_repos.py command reference
- Add language tag to directory tree code fence (fixes MD040)
- Add JSONDecodeError handling in setup_plugin_repos.py with user-friendly error messages

---------

Co-authored-by: Chuck <chuck@example.com>
This commit is contained in:
Chuck
2026-01-18 13:06:57 -05:00
committed by GitHub
parent 23ada60544
commit bff16d3e00
25 changed files with 421 additions and 51 deletions

27
.gitignore vendored
View File

@@ -35,29 +35,8 @@ htmlcov/
# Cache directory (root level only, not src/cache which is source code)
/cache/
# Development plugins directory (contains symlinks to plugin repos)
# Plugins are installed via plugin store, not bundled with main repo
# Allow git submodules
# Development plugins directory
# Plugins are managed as separate repositories via multi-root workspace
# See docs/MULTI_ROOT_WORKSPACE_SETUP.md for details
plugins/*
!plugins/.gitkeep
!plugins/odds-ticker/
!plugins/clock-simple/
!plugins/text-display/
!plugins/basketball-scoreboard/
!plugins/soccer-scoreboard/
!plugins/calendar/
!plugins/mqtt-notifications/
!plugins/youtube-stats/
!plugins/olympics-countdown/
!plugins/ledmatrix-stocks/
!plugins/ledmatrix-music/
!plugins/static-image/
!plugins/football-scoreboard/
!plugins/hockey-scoreboard/
!plugins/baseball-scoreboard/
!plugins/christmas-countdown/
!plugins/ledmatrix-flights/
!plugins/ledmatrix-leaderboard/
!plugins/ledmatrix-weather/
!plugins/ledmatrix-news/
!plugins/ledmatrix-of-the-day/