Production infrastructure for AI agents
Website · Documentation · Guides · Core · Template · Discord
systemprompt-runtime
The one place every request passes through before it reaches an agent, a tool, or the gateway. AppContext holds the database pool, configuration, registries, and analytics that the governance pipeline reads from, and this crate builds it, validates it at startup, and wires modules into it at compile time.
Layer: App, orchestrates domain modules. Part of the systemprompt-core workspace.
Overview
This crate:
- Builds and holds
AppContext, the central runtime state container. - Registers module routes at compile time through
inventorymacros. - Validates system configuration and extensions before the server accepts traffic.
- Coordinates domain services without implementing business logic.
Infrastructure · Self-Hosted Deployment
Modules
| Module | Purpose |
|---|---|
context |
AppContext and its planes (DataPlane, ConfigPlane, Plugins, Subsystems), plus the GeoIP and content-config loaders |
builder |
AppContextBuilder fluent construction (with_extensions, with_marketplace_filter) and plane assembly |
registry |
Compile-time module registration and routing (ModuleApiRegistry, ModuleApiRegistration, ModuleType, WellKnownRoute) |
startup_validation |
StartupValidator across files, rate limits, web/content config, agents, MCP servers, AI providers, and extensions |
database_context |
DatabaseContext, a database-only context for CLI tools that do not need the full runtime |
span |
create_request_span, builds a tracing span with user, session, trace, and context IDs |
wellknown |
.well-known endpoint metadata registry (WellKnownMetadata, get_wellknown_metadata) |
validation |
Runtime prerequisite checks (validate_system, validate_database_path) |
error |
RuntimeError / RuntimeResult, the typed error model for construction and validation |
AppContext is assembled either through AppContextBuilder (the bootstrap path: ProfileBootstrap, database init, extension discovery, optional GeoIP and content config, tracing with database persistence) or directly through AppContext::from_parts(data, cfg, plugins, subsystems) for tests and embedders that own plane construction.
Usage
[]
= "0.21"
Macros
| Macro | Purpose |
|---|---|
register_module_api! |
Register module routes with the runtime registry |
register_wellknown_route! |
Register .well-known endpoints with optional metadata |
use ;
register_module_api!;
Dependencies
| Crate | Purpose |
|---|---|
systemprompt-database |
Database pool and migrations |
systemprompt-config |
Configuration loading |
systemprompt-models |
Module and config definitions |
systemprompt-logging |
Tracing and CLI output |
systemprompt-extension |
Extension discovery and validation |
systemprompt-analytics |
Analytics service and GeoIP |
inventory |
Compile-time static registration |
License
BSL-1.1 (Business Source License). Source-available for evaluation, testing, and non-production use. Production use requires a commercial license. Each version converts to Apache 2.0 four years after publication. See LICENSE.
systemprompt.io · Documentation · Guides · Live Demo · Template · crates.io · docs.rs · Discord
App layer · Own how your organization uses AI.