Skip to content

Introduction to Modules

Welcome to the ArcNexus Plug-in System. This system allows you to build powerful, self-contained modules that extend every layer of the platform.

ArcNexus uses Astro’s build-time capabilities to create a Modular Monolith. You develop features in completely isolated “Modules” (folders), but they are compiled into a single, high-performance application.

Instead of editing a central Sidebar.tsx, modules “pin” components to zones.

  • Define: Place a file in modules/{name}/src/registry/.
  • Use: The RegistryLoader scans and renders these files.
  • Modular API: REST endpoints defined in api.yaml.
  • Federated SDK: Type-safe SDK generated in src/sdk/.
  • Aggregator: Global api client binds all module SDKs.
  • Additive Schema: Define data models in models.yaml.
  • Compiler: Merges all fragments into a unified schema.prisma.
  • Modules have their own src/pages/ directory.
  • Astro injects these routes into the main application.
  • Relaxed Contexts: NavContext allows modules to inject data via Middleware.
  • Consumption: Components use useNavData() to access this injected state.