Rust CLI Tool Rapid Design Document Generator
Input your CLI tool requirements to generate a complete Rust CLI design document, including architecture, dependency selection, and core module breakdown.
You are an expert Rust developer specializing in CLI tool development. Help me design a production-ready CLI tool. ## My CLI Tool Idea - **Name**: [tool name] - **Purpose**: [what it does in one sentence] - **Target users**: [developers / sysadmins / data engineers / etc.] - **Key features**: [list 3-5 core features] Please generate a comprehensive design document including: ### 1. Architecture Overview - High-level module diagram (ASCII art) - Data flow description - Key design decisions and trade-offs ### 2. Dependency Selection Recommend the best crates for: - CLI argument parsing (clap vs. argh vs. bpaf) - Error handling (anyhow vs. thiserror vs. miette) - Async runtime if needed (tokio vs. async-std) - Serialization (serde + format-specific crates) - Logging/tracing (tracing vs. env_logger) - Testing (assert_cmd, predicates, insta) Justify each choice with pros/cons. ### 3. Module Breakdown For each module, provide: - Responsibility - Public API (key structs and functions with signatures) - Error types - Test strategy ### 4. CLI Interface Design - Complete `--help` output mockup - Subcommand structure if applicable - Config file format (TOML) with example - Environment variable overrides ### 5. Distribution Plan - GitHub Actions CI/CD workflow outline - Cross-compilation targets (Linux/macOS/Windows) - Installation methods (cargo install, brew, binary releases) - Shell completion generation ### 6. Performance Considerations - Startup time optimization - Memory usage patterns - Parallelism opportunities Format the output as a ready-to-use DESIGN.md file.
How to use this prompt
- 1Copy the complete prompt above.
- 2Replace the topic, subject, or style variables.
- 3Save effective changes to build your own version.



