# NebulaAPI v0.5.1 - Table of Contents

> Compile-time selective compilation and transparent distributed execution for Erlang/Elixir clusters

## Pages

- [NebulaAPI](readme.md)
- [Documentation](documentation.md)

- Guides
  - [1. Configuration](configuration.md)
  - [2. Defining APIs](defining.md)
  - [3. Calling across nodes](calling.md)
  - [4. Gotchas and troubleshooting](gotchas.md)

- Deep dive
  - [NebulaAPI AST Deep-Dive](ast-deep-dive.md)

- Project
  - [About LLMs](about-llms.md)

## Modules

- [NebulaAPI](NebulaAPI.md):  Documentation for `NebulaAPI`.

- [NebulaAPI.APIServer](NebulaAPI.APIServer.md): Supervisor that manages API workers and handles remote method calls.
- [NebulaAPI.APIServer.NodesInfoCache](NebulaAPI.APIServer.NodesInfoCache.md): Per-node background refresher for the cluster node-info snapshot.
- [NebulaAPI.APIServer.Worker](NebulaAPI.APIServer.Worker.md)
- [NebulaAPI.AST](NebulaAPI.AST.md): AST macros for NebulaAPI.
- [NebulaAPI.AST.Builder](NebulaAPI.AST.Builder.md): AST builder for NebulaAPI functions.
- [NebulaAPI.AST.Parser](NebulaAPI.AST.Parser.md)
- [NebulaAPI.CompilerCheck](NebulaAPI.CompilerCheck.md): Pure decision logic for the `:nebula` Mix compiler (`Mix.Tasks.Compile.Nebula`).
- [NebulaAPI.Config](NebulaAPI.Config.md)
- [NebulaAPI.Server](NebulaAPI.Server.md): Per-application supervisor for NebulaAPI workers.

## Mix Tasks

- [mix compile.nebula](Mix.Tasks.Compile.Nebula.md): Mix compiler that guards against forgetting `nebula_api_server/0`.

