architecture-standardslisted
Install: claude install-skill systempromptio/systemprompt-template
# systemprompt.io Architecture Standards
**systemprompt.io is a world-class Rust programming brand.** Every architectural decision must enforce strict layer boundaries, explicit dependency direction, and zero-tolerance for cross-cutting violations.
---
## 1. Crate Layers
```
crates/
shared/ # Pure types, zero internal dependencies
infra/ # Stateless infrastructure utilities
domain/ # Bounded contexts with SQL + repos + services
app/ # Orchestration, no business logic
entry/ # Entry points (binaries, public APIs)
systemprompt/ # Facade: Public API for external consumers (crates.io)
```
### Dependency Direction
```
Entry (api, cli)
|
v
App (runtime, scheduler, generator)
|
v
Domain (agent, ai, mcp, oauth, users, files, content, analytics, templates)
|
v
Infra (database, events, security, config, logging, loader, cloud)
|
v
Shared (models, traits, identifiers, extension, provider-contracts, client)
```
### Forbidden Dependencies
| Layer | Cannot Depend On |
|-------|------------------|
| Shared | Any systemprompt crate (except within shared/) |
| Infra | domain/, app/, entry/ |
| Domain | Other domain crates, app/, entry/ |
| App | entry/ |
---
## 2. Layer Definitions
### Shared (`crates/shared/`)
Pure types with zero dependencies on other systemprompt crates.
| Rule | Enforcement |
|------|-------------|
| No SQL/Database | `grep "sqlx" crates/shared/*/Cargo.toml` must be empty |
| No Repository