Modding & Extensibility - Incomplete-Infinity/eve-companion GitHub Wiki

🧩 Modding & Extensibility

The EVE Companion App is designed with modularity in mind, allowing for future expansion and third-party extensions.

Design Philosophy

  • Keep modules loosely coupled and event-driven
  • Use documented APIs for commands, events, and state
  • Load new modules dynamically and sandboxed

Modding Targets

Area Extensible How?
UI Components Via <template> injection, theme overrides
Tools & Modules Loaded from external folders or plugin registry
Styles & Themes Augmented UI + CSS vars = easy customization
Data Layers Override fetchers, enrich state stores

Plugin Format (Planned)

export default {
  name: 'MyPlugin',
  version: '1.0.0',
  onLoad({ dispatch, bus, api }) {
    dispatch('window:open', { id: 'CustomTool' });
    bus.listen('fit:parsed', (data) => console.log(data));
  }
};

Plugins would be sandboxed via iframe or dynamic import.

Extensibility Safeguards

  • Validate plugin metadata and permissions
  • Warn about missing commands/events/hooks
  • Support debug mode with plugin console output

⚠️ **GitHub.com Fallback** ⚠️