Repository navigation
Writing an Addon
bclml edited this page Oct 3, 2026
·
1 revision
Full reference: docs/ADDONS.md. Step-by-step guide that also works for AI assistants: docs/AI_ADDON_GUIDE.md.
- Copy
addons/_example_addon.pytoaddons/my_addon.pyand edit it (a class extendingAddonBase). - Try it:
python mcIRC.py --demo, Tools > Addons > Reload. - Package it as
packages/my_addon/addon.json+packages/my_addon/my_addon.py. - Validate:
python packages/check_package.py packages/my_addon - Submit: open a pull request that adds only
packages/my_addon/, or an Addon submission issue. - A maintainer reviews and tests it, then adds it to
addons-catalog.jsonso everyone can install it from the in-app catalog.
- Anything that transmits must be rate-limited, have an off switch and be off by default - the mesh is small and shared.
- No secrets or personal data in code. Settings go through
self.api.get/set. - Slow work (radio, network) goes in
self.api.run_background; stop every thread inon_unload. - Never edit core files (
mcIRC.py,meshcore_io.py,gui_*.py).
The repo contains AGENTS.md, CLAUDE.md, GEMINI.md, .github/copilot-instructions.md and a Cursor rule that point assistants to the guide. For a chat-only assistant, give it the link to docs/AI_ADDON_GUIDE.md.
mcIRC is MIT licensed - https://github.com/bclml/mcIRC