{"enrichment":{"faq":[{"a":"api-design teaches you to structure Tauri command interfaces using type-safe data transfer objects (DTOs) and validation patterns. Define request and response types in Rust, leverage the type system to catch errors at compile time, and use tools like Specta to auto-generate TypeScript bindings. This ensures your frontend and backend stay synchronized and eliminates runtime type mismatches.","q":"How to design Tauri API commands with type safety?"},{"a":"api-design covers Tauri command structure best practices including clear separation of concerns between commands, consistent naming conventions, and layered validation. Use dedicated DTO types for inputs and outputs, apply validation at API boundaries before business logic runs, and organize commands into logical modules. This approach makes your codebase maintainable and your contracts explicit.","q":"What are best practices for Tauri command structure?"},{"a":"api-design guides you through creating data transfer objects (DTOs) in Rust with field-level validation rules. Use serde for serialization, derive macros for common patterns, and validation libraries to enforce constraints at API boundaries. Structure your DTOs to mirror your API contracts, validate early in the request pipeline, and return structured errors when validation fails.","q":"How do I create DTOs and validate data in Rust APIs?"},{"a":"api-design shows you how to implement structured error types for APIs that provide clear, actionable feedback. Define custom error enums that map to HTTP-like status codes, include error codes and messages in responses, and ensure all API endpoints return consistent error formats. This lets clients handle failures predictably and improves debugging.","q":"How should I handle errors in API responses?"},{"a":"api-design emphasizes documenting API contracts through type definitions and generated bindings. Use Specta to auto-generate TypeScript types from your Rust command signatures, add doc comments to DTOs and commands, and maintain a clear mapping between frontend requests and backend handlers. Generated documentation stays in sync with your code and reduces manual effort.","q":"How do I document API endpoints and contracts?"},{"a":"api-design covers pagination, versioning, and CRUD patterns for scalable APIs. Implement paginated responses with offset/limit or cursor-based approaches, structure CRUD commands consistently (create, read, update, delete), and version your API contracts to support evolution. These patterns keep your API predictable as your application grows.","q":"What patterns work for pagination and CRUD operations?"}],"shadow_tags":["contract-first-design","backend-architecture","type-generation","request-validation","response-wrapping","error-standardization","pagination-patterns","schema-versioning"],"summary_rewrite":"api-design guides you through building robust command interfaces for Tauri applications using type-safe data structures and proven patterns. It covers DTO design, validation at API boundaries, error handling strategies, and documentation practices to ensure your backend contracts are clear and maintainable."},"files":[{"bytes":13419,"path":".claude/skills/api-design/SKILL.md","sha256":"57988d3ad5271033f6b65f59368a305156ab81ffa7e7cd7c7184f86076b398a7","url":"https://skillfed.io/files/cacr92/WeReply/api-design/9b00d61c/SKILL.md"}],"id":"cacr92/WeReply/api-design","links":{"html":"https://skillfed.io/cacr92/WeReply/api-design","md":"https://skillfed.io/cacr92/WeReply/api-design.md","repo":"https://github.com/cacr92/WeReply"},"meta":{"agents_supported":["claude-code","codex","cursor"],"first_seen":"2026-07-28","forks":3,"language":"Python","last_updated":"2026-01-30","license":"MIT","name":"api-design","publisher":"cacr92","stars":4},"relations":{"similar":[{"id":"cacr92/WeReply/error-handling-debugging"},{"id":"cacr92/WeReply/security-review"},{"id":"cacr92/WeReply/tauri-development"},{"id":"cacr92/WeReply/debugging"},{"id":"cacr92/WeReply/deepseek-integration"},{"id":"cacr92/WeReply/tdd-workflow"},{"id":"cacr92/WeReply/code-review"},{"id":"Aradotso/devtools-skills/tiez-clipboard-manager"},{"id":"dchuk/claude-code-tauri-skills/tauri-calling-rust"},{"id":"cacr92/WeReply/ipc-communication"}]},"slug":{"owner":"cacr92","repo":"WeReply","skill":"api-design"},"version":"9b00d61c"}
