Architecture¶
Arcane separates project intent (JSON) from runtime execution (framework core).
Layers¶
- Project Layer:
arcane.config.js,commands/,events/,packages/ - Runtime Layer: loaders, validators, registries, handlers
- Platform Layer: Discord gateway/interactions and process manager
Core Modules¶
ConfigLoader: loads and normalizes config defaultsFileScanner: recursive JSON discoveryValidator: schema checks and error reportingCommandHandler: command registry and package routingEventHandler: event config registryArcaneBot: runtime orchestration, Discord client, command syncHotReload: watch + reload project state
Design Goal¶
Keep bot behavior explainable from files first. Runtime code should orchestrate, not hide config intent.