Skip to main content

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.

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