update docs

This commit is contained in:
anthorob committed 2026-10-19 08:21:42 -04:00
1 parent d3211c6702
commit 389af563b9
11 files changed
+181 -69

No files matched your search

+12 -12
View File
@@ -12,7 +12,7 @@ error tracking, the shared utility helpers, and the custom exception hierarchy.
| `App` | The application: holds the process instance and the `JDA` handle, builds the `ApplicationContext`, runs `context.start()` / `context.stop()`, and is the JAR main class (`main()`). See [architecture.md](architecture.md). |
| `bootstrap.ApplicationContext` | Hand-rolled container: `register(T)`, `get(Class<T>)`, ordered `start()` / `stop()` for `Lifecycle` components. |
| `bootstrap.Lifecycle` | Optional component contract: `start() throws Exception`, default `stop()`, default `priority()`. |
| `core.BotState` | Work-in-progress global state helper: exposes a `SAFE` flag and `dump()`, which serializes per-guild/music state to `state.json`. Bound to `GuildServiceProvider` / `MusicService` during bootstrap. |
| `bootstrap.BotState` | Work-in-progress global state helper: exposes a `SAFE` flag and `dump()`, which serializes per-guild/music state to `state.json`. Bound to `GuildServiceProvider` / `MusicService` during bootstrap. |
The full startup and shutdown sequences are documented in
[architecture.md](architecture.md#startup-lifecycle).
@@ -37,13 +37,13 @@ resolve via `context.get(type)` is preferred; otherwise the no-arg constructor i
| Interface | Typical implementor |
|-----------------------------------------|---------------------------------------|
| `platform.config.SettingsProvider` | `utils.Settings` |
| `platform.persistence.SessionProvider` | `core.db.SessionManager` |
| `platform.concurrency.ExecutorProvider` | `core.thread.ThreadManager` |
| `framework.command.CommandRegistry` | `core.command.CommandManager` |
| `framework.task.TaskManager` | `core.tasks.TaskManagerImpl` |
| `feature.music.MusicService` | `music.MusicServiceImpl` |
| `data.service.GuildServiceProvider` | `db.service.GuildServiceProviderImpl` |
| `utils.SettingsProvider` | `utils.Settings` |
| `db.SessionProvider` | `db.SessionManager` |
| `core.thread.ExecutorProvider` | `core.thread.ThreadManager` |
| `core.command.CommandRegistry` | `core.command.CommandManager` |
| `core.tasks.TaskManager` | `core.tasks.TaskManagerImpl` |
| `music.MusicService` | `music.MusicServiceImpl` |
| `db.service.GuildServiceProvider` | `db.service.GuildServiceProviderImpl` |
There are **no** `getInstance()` / `instance()` shims on the managers above. The only intentional
static access points left are:
@@ -60,8 +60,8 @@ static access points left are:
### `Settings` / `SettingsProvider`
**Class:** `me.bobert.netneutrality.platform.config.Settings` implements
`me.bobert.netneutrality.platform.config.SettingsProvider`.
**Class:** `me.bobert.netneutrality.utils.Settings` implements
`me.bobert.netneutrality.utils.SettingsProvider`.
`Settings` is the single source of truth for configuration. It loads values from the `bot.properties`
file and overlays **environment variables** on top (environment variables win).
@@ -90,7 +90,7 @@ An example configuration file is `bot.properties.example`. Key configuration val
## Utility helpers
**Package:** `me.bobert.netneutrality.shared.util` (helpers) / `me.bobert.netneutrality.bootstrap` / `me.bobert.netneutrality.platform.*`
**Package:** `me.bobert.netneutrality.utils` (helpers) / `me.bobert.netneutrality.bootstrap` / `me.bobert.netneutrality.exceptions`
| Class | Purpose |
|---|---|
@@ -125,7 +125,7 @@ singletons.
### `LogHandler`
**Class:** `me.bobert.netneutrality.platform.logging.LogHandler`.
**Class:** `me.bobert.netneutrality.core.LogHandler`.
`LogHandler` is the unified logging/error entry point. It routes messages and exceptions to: