Production infrastructure for AI agents
Website · Documentation · Guides · Core · Template · Discord
systemprompt-template-provider
Template provider traits for systemprompt.io AI governance infrastructure. Config-as-code foundation for the AI governance template registry. Includes an embedded loader for compile-time templates and a filesystem loader for runtime template discovery.
Layer: Shared — foundational types/traits with no dependencies on other layers. Part of the systemprompt-core workspace.
Overview
Provides template loading abstractions and dynamic type aliases for template-related providers. Includes an embedded loader for compile-time templates and a filesystem loader for runtime template discovery. Re-exports provider contracts for template, component, and page data handling.
Architecture
| Type | Description |
|---|---|
TemplateProvider |
Top-level provider trait for the rendering pipeline |
TemplateLoader |
Trait for loading templates by name |
TemplateDataExtender |
Trait for augmenting template render context |
ComponentRenderer |
Trait for rendering reusable components |
PageDataProvider |
Trait for supplying page-level data |
PagePrerenderer |
Trait for static page prerendering (re-exported from systemprompt-provider-contracts) |
EmbeddedLoader |
Unit struct loader for compile-time embedded templates |
FileSystemLoader |
Async tokio::fs-backed loader with base-path sandboxing (requires tokio feature) |
TemplateLoaderError / TemplateLoaderResult |
Error type and result alias for loader operations |
DynTemplateProvider |
Arc<dyn TemplateProvider> type alias |
DynTemplateLoader |
Arc<dyn TemplateLoader> type alias |
DynTemplateDataExtender |
Arc<dyn TemplateDataExtender> type alias |
DynComponentRenderer |
Arc<dyn ComponentRenderer> type alias |
DynPageDataProvider |
Arc<dyn PageDataProvider> type alias |
DynPagePrerenderer |
Arc<dyn PagePrerenderer> type alias |
Usage
[]
= "0.9.2"
use ;
use async_trait;
let loader: DynTemplateLoader = new;
use Arc;
use ;
Feature Flags
| Feature | Default | Description |
|---|---|---|
tokio |
No | Enables FileSystemLoader for async file-based template loading |
Dependencies
Internal
| Crate | Purpose |
|---|---|
systemprompt-provider-contracts |
Provider trait definitions |
External
| Crate | Purpose |
|---|---|
async-trait |
Async trait support |
thiserror |
Derive macros for loader error types |
tokio |
Async filesystem operations (optional, fs + sync) |
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
Shared layer · Own how your organization uses AI.