Getting Started
Clone the systemprompt.io template, run just setup-local with a provider key, then just start to serve governance, agents, MCP, and admin on port 8080.
On this page
systemprompt.io is an embedded Rust library for building governed AI infrastructure. Clone the template, run one setup recipe, and the CLI handles the rest.
Prerequisites
- Rust 1.75+ — install from rustup.rs
- Docker — runs the local PostgreSQL container
- just — the command runner (
cargo install just) - Git
rustc --version # Should output 1.75.0 or higher
Quick Start
git clone https://github.com/systempromptio/systemprompt-template
cd systemprompt-template
just setup-local # prompts: pick a provider (Anthropic/OpenAI/Gemini), enter its key
just start # serves governance + agents + MCP + admin on :8080
setup-local writes your local profile, starts a per-clone Docker PostgreSQL, builds the release binary, migrates the database, creates the admin user, and publishes web assets. Re-running it is safe.
Non-interactive form (first key becomes the default provider; port overrides let a second clone run side-by-side):
just setup-local <anthropic_key> [openai_key] [gemini_key] [http_port=8080] [pg_port=5432]
Visit http://localhost:8080 for the homepage and http://localhost:8080/admin/login for the admin dashboard (OAuth/PKCE — no password form). See Installation for details.
Project Structure
systemprompt.io projects have three core directories:
| Directory | Purpose | Contents |
|---|---|---|
.systemprompt/ |
Profiles & credentials (generated, gitignored) | profile.yaml, secrets, per-clone Docker config |
services/ |
Config as code | agents, skills, content, web config |
extensions/ |
Rust crates | custom code, API routes, MCP servers |
.systemprompt/ — Profiles & Credentials
Generated by just setup-local. Gitignored — each developer and environment has its own.
.systemprompt/
├── docker/local.yaml # Per-clone PostgreSQL compose file
└── profiles/
└── local/
├── profile.yaml # Server, paths, providers, security settings
└── secrets.json # DATABASE_URL, API keys
services/ — Configuration
YAML and Markdown configuration. No Rust code here.
| Directory | Purpose |
|---|---|
services/agents/ |
AI agent definitions |
services/mcp/ |
MCP server configs |
services/skills/ |
Reusable agent skills |
services/content/ |
Blog, docs (Markdown) |
services/web/ |
Theme, navigation |
services/plugins/ |
Plugin binding descriptors |
extensions/ — Rust Code
Custom Rust crates extending the core library, registered at compile time.
extensions/
├── web/ # Web extension (pages, API routes, schemas, jobs)
└── mcp/ # MCP server extensions (tool servers)
See the Coding Standards documentation for patterns and requirements.
Skills
Agent capabilities are defined through skills. Skills are reusable, discoverable YAML definitions under services/skills/, ingested into the database at startup.
# List all skills
systemprompt core skills list
# Show a specific skill
systemprompt core skills show <skill_id>
See the Skills Service documentation for full details.
Next Steps
| Goal | Documentation |
|---|---|
| Detailed installation | Installation |
| Write code | Coding Standards |
| Configure services | Configuration Overview |
| Build extensions | Extensions Overview |
| Deploy to production | Installation → Other Install Channels |
Verification
# Check service status
systemprompt infra services status
# Check database connection
systemprompt infra db status
# List available agents
systemprompt admin agents list