Simplified, Auto-Discovering Plugin Registry System
This registry eliminates duplication by using GitHub releases and package.json as the single source of truth. Plugin metadata is automatically discovered rather than manually maintained.
Each plugin has ONE small file: plugins/@namespace/plugin-name.json
{
"namespace": "@allow2",
"name": "allow2automate-wemo",
"repository": "https://github.com/Allow2/allow2automate-wemo"
}That's it! Only 3 fields. No versions, no dates, no duplicated metadata.
The build-registry.js script:
- Reads all minimal plugin files
- Fetches latest release from GitHub API
- Extracts package.json from that release
- Builds complete
plugins.jsonwith all metadata
All plugin metadata lives in the plugin's package.json in the allow2automate section.
cd registry
npm run build # Build registry from GitHub
npm run build:verify # Build and validate
npm run validate # Validate existing registry- Create minimal plugin file
- Ensure plugin repo has tagged release and complete package.json
- Run
npm run build
Done! The plugin will be auto-discovered.
Old workflow: 8 manual steps with high error rate
New workflow: 3 steps
- Update plugin's package.json version
- Create git tag and release
- Run
npm run build
- Version exists once (git tag)
- Dates from GitHub (no manual updates)
- Plugin files: 58 lines → 3 lines
- Manual updates: 8 steps → 1 step
- Error rate: High → Low
- Scalability: Poor → Excellent
See /mnt/ai/automate/docs/research/simplified-registry-design.md for complete details.
MIT