Production infrastructure for AI agents
Website · Documentation · Guides · Core · Template · Discord
systemprompt-generator
The static site your governance dashboards ship from, built on the same PostgreSQL you own. This crate turns content records into prerendered HTML, sitemaps, RSS feeds, and organised assets, all from a Markdown and template pipeline that runs inside your binary.
Layer: App, orchestrates domain modules. Part of the systemprompt-core workspace.
Overview
The content publishing pipeline runs in four stages:
- Content fetch reads sources and content records from the database.
- Prerender generates static HTML for every content page and registered page prerenderer.
- Asset organisation copies and arranges CSS, JS, fonts, and images into the dist tree.
- Feed generation writes sitemaps and RSS feeds for search discovery.
Integrations · Extensible Architecture
Modules
| Module | Purpose |
|---|---|
build |
Orchestrates the web build with progress reporting and CSS organisation (BuildOrchestrator, BuildMode, BuildError) |
content |
Markdown rendering and frontmatter extraction |
prerender |
Static HTML generation for content sources and page prerenderers, plus table-of-contents extraction (toc.rs) and JSON data merging |
rss |
RSS 2.0 feed generation with a default feed provider |
sitemap |
XML sitemap generation with chunking and a default sitemap provider |
templates |
Template-path resolution and WebConfig loading |
jobs |
Scheduled jobs registered with the systemprompt scheduler via inventory |
error |
Typed PublishError and GeneratorResult returned across the public API |
Key Types
| Type | Description |
|---|---|
BuildOrchestrator |
Coordinates CSS organisation and sitemap validation with progress reporting |
BuildMode |
Build-configuration variants |
BuildError |
Typed errors emitted by the build orchestrator |
PublishError / GeneratorResult |
Public error and result alias for every entry point |
PagePrerenderResult |
Outcome of a single page-prerenderer invocation |
ContentPrerenderJob / PagePrerenderJob |
Scheduler jobs for content and page prerendering |
SitemapUrl / DefaultSitemapProvider |
Sitemap entries and default provider |
RssChannel / RssItem / GeneratedFeed / DefaultRssFeedProvider |
RSS feed types and default provider |
Usage
[]
= "0.21"
Public Exports
pub use organize_dist_assets;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
Dependencies
| Crate | Purpose |
|---|---|
systemprompt-database |
Database connection pool |
systemprompt-content |
Content repository and models |
systemprompt-templates |
Template registry and rendering |
systemprompt-template-provider |
Template provider traits |
systemprompt-provider-contracts |
Provider-contract registration |
systemprompt-models |
Configuration and domain types |
systemprompt-identifiers |
Typed identifiers (SourceId, ContentId) |
systemprompt-traits |
Job trait interface |
systemprompt-extension |
Extension discovery and assets |
comrak |
Markdown to HTML |
Architecture Notes
This crate follows the application layer pattern:
- Orchestration only - No business logic; delegates to domain services
- Read-only domain access - Uses
ContentRepositoryfor data fetching - Job interface - Jobs implement
systemprompt_traits::Jobfor scheduling - Template delegation - Uses
TemplateRegistryfrom domain layer - Config via models - Uses
Config::get()instead of directenv::var()
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.