domain-web

Generate domain-constrained architecture plans for Rust HTTP servers.

1.4k|110|Updated Jan 17, 2026
One-click install
npx skills add https://github.com/actionbook/rust-skills --skill domain-web-actionbook
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-web
Source: https://github.com/actionbook/rust-skills/tree/main/skills/domain-web
Command: npx skills add https://github.com/actionbook/rust-skills --skill domain-web-actionbook

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building web services in Rust often struggles to align architecture with business constraints. This Skill guides you to encode domain-level rules into designs for reliability and maintainability.

Core Features & Use Cases

  • Domain-driven design guidance tailored for Rust web servers.
  • Framework-aware patterns for axum, actix-web, warp, and rocket, including shared state, extractors, and error handling.
  • Use Case: architect a REST API with thread-safe state and middleware-driven security.

Quick Start

Analyze a new web service blueprint and generate a domain-constrained architecture plan for a Rust HTTP server.

Frequently Asked Questions about domain-web

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce domain-driven design constraints in a Rust web service?

To enforce domain-driven design constraints in a Rust web service, encode domain-level rules directly into your architecture using thread-safe shared state with Arc, async by default handlers, and Tower middleware composition.

Does domain-driven design work with Rust web frameworks like axum and actix-web?

Yes, domain-driven design works with Rust web frameworks like axum, actix-web, warp, and rocket by applying framework-aware patterns for request extractors, shared state, and error handling.

What is the best way to architect a REST API with thread-safe state in Rust?

The best way to architect a REST API with thread-safe state in Rust is to use Arc for shared state management alongside Tower middleware composition to enforce security and domain rules.

How do I use request extractors and Tower middleware in async Rust servers?

Using request extractors and Tower middleware in async Rust servers involves composing middleware layers to handle security and routing, while extractors parse incoming HTTP requests directly into typed domain structs.

When do I need async by default and Arc shared state for Rust HTTP servers?

You need async by default and Arc shared state for Rust HTTP servers when building scalable REST APIs or GraphQL endpoints that require safe concurrent access to shared resources across multiple threads.

Can I apply domain rules to GraphQL endpoints and middleware architectures in Rust?

Yes, you can apply domain rules to GraphQL endpoints and middleware architectures in Rust by integrating domain-driven constraints into request extractors and Tower middleware composition across supported frameworks.