Skip to Main Content
RustAxumSQLxTokio

Rust + Axum Prompt Architecture

Generate prompts that produce idiomatic Rust — proper error handling, tower middleware, and compile-checked SQL queries.

❌ Generic AI Output
// Generic prompt — won't compile
async fn get_users() -> Vec<User> {
    let pool = PgPool::connect("postgres://...").await.unwrap();
    let users = sqlx::query("SELECT * FROM users")
        .fetch_all(&pool)  // wrong type
        .await
        .unwrap();  // panic on error!
    users
}
✅ Prompt Architect Output
// Prompt Architect — idiomatic Rust + Axum
async fn get_users(
    State(pool): State<PgPool>,
) -> Result<Json<Vec<User>>, AppError> {
    let users = sqlx::query_as!(
        User,
        r#"SELECT id, name, email, created_at FROM users
           ORDER BY created_at DESC"#
    )
    .fetch_all(&pool)
    .await?;

    Ok(Json(users))
}
Real Generated Output

Automated Quality Enforcement

Every prompt includes strict bans and deprecation rules tailored to your Rust + Axum + SQLx + Tokio stack

strict-bans.md — AI Prompt Architect
# ⛔ STRICT BANS — Enforced Constraints

## Framework Version Enforcement
- **BANNED**: React class components → Use functional components + hooks
- **BANNED**: `componentWillMount`, `componentWillUpdate` → Use `useEffect`
- **BANNED**: `getInitialState` → Use `useState` or `useReducer`
- **BANNED**: `createClass` syntax → Use arrow function components
- **BANNED**: PropTypes runtime validation → Use TypeScript interfaces
- **BANNED**: `defaultProps` static → Use ES6 default parameters

## TypeScript Enforcement
- **BANNED**: `any` type annotations → Use `unknown` + type guards
- **BANNED**: `@ts-ignore` comments → Fix the actual type error
- **BANNED**: Non-null assertions (`!`) → Use optional chaining (?.)
- **BANNED**: `enum` keyword → Use `as const` union types
- **BANNED**: `namespace` declarations → Use ES modules

## Security Constraints
- **BANNED**: `eval()`, `Function()` constructors
- **BANNED**: `innerHTML` assignments → Use `textContent` or sanitise
- **BANNED**: Hardcoded secrets, API keys, or credentials
- **BANNED**: `http://` URLs in production → Enforce `https://`
- **BANNED**: `*` CORS origins in production → Whitelist domains
- **BANNED**: SQL string concatenation → Use parameterised queries
- **BANNED**: `localStorage` for auth tokens → Use httpOnly cookies

## State Management
- **BANNED**: Prop drilling beyond 2 levels → Use Context or Zustand
- **BANNED**: `useEffect` for data fetching → Use React Query / SWR
- **BANNED**: Mutable state mutations → Use immutable update patterns
- **BANNED**: Global mutable variables → Use React state or stores

## API & Data Patterns
- **BANNED**: `fetch` without error handling → Wrap in try/catch
- **BANNED**: Untyped API responses → Define response interfaces
- **BANNED**: `console.log` in production → Use structured logger
- **BANNED**: Synchronous file I/O → Use async/await patterns
- **BANNED**: Unbounded `.find()` / `.filter()` on large arrays → Use Map/Set

## CSS & Styling
- **BANNED**: Inline styles for layout → Use CSS modules or Tailwind
- **BANNED**: `!important` overrides → Fix specificity properly
- **BANNED**: Fixed pixel breakpoints → Use relative units (rem/em)
- **BANNED**: `z-index` values > 100 → Use a z-index scale system
The Problem

AI models produce Rust code that won't compile — missing lifetime annotations, incorrect trait bounds, and unsafe unwrap() calls everywhere.

The Solution

Prompt Architect constrains to idiomatic Rust patterns — Result propagation with ?, custom error types, and proper async runtime usage.

Frequently Asked Questions

Does it produce compilable Rust?
Prompts include proper lifetime annotations, trait bounds, and error types that guide AI to produce code that compiles.
Can it generate SQLx queries?
Yes — compile-time checked queries with sqlx::query_as!, proper type mappings, and migration patterns.
Does it handle Axum middleware?
Yes — tower layers, extractors, and proper State sharing patterns.

Technical Deep Dive

How do I set up the initial project architecture with these technologies?
Use AI Prompt Architect to generate a scaffold prompt that includes directory structure, configuration files, environment setup, and dependency installation commands tailored to your exact stack combination. The prompt enforces best-practice file organisation from the start.

See the difference yourself

Stop wasting time fixing AI-generated Rust code. Start with the right prompt.

Generate Rust + Axum Prompts Free

Anthropic's constitutional AI safety classifier blocks 99.2% of harmful requests with a 0.3% false positive rate on beni.Anthropic, 'Constitutional AI: Harmlessness from A…