Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

rust-cli-tui-developerRust CLI TUI 开发者

Agent Skill

rust-cli-tui-developer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

269

周安装

11

GitHub Stars

1

下载量

86
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:rust-cli-tui-developer(Rust CLI TUI 开发者)
来源仓库:https://github.com/straydragon/my-claude-skills
仓库路径:skills/rust-cli-tui-developer
安装命令:
npx skills add https://github.com/straydragon/my-claude-skills --skill rust-cli-tui-developer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/straydragon/my-claude-skills --skill rust-cli-tui-developer

简介

用于查找、检索和筛选相关信息。rust-cli-tui-developer 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词、任务场景或来源线索快速定位候选结果。
  • 可结合来源仓库和原始 README 核验具体用法。
  • 安装前建议确认权限范围和维护状态。
  • 注意是否会触发联网、命令执行或文件读写。

SKILL.md

Rust CLI/TUI Developer

Expert guidance for building modern command-line interfaces and terminal user interfaces in Rust, using the most popular libraries: clap for CLI argument parsing, inquire for interactive prompts, and ratatui for rich terminal UIs.

This skill provides structured patterns, best practices, and real implementations from the official source code of these libraries.

🚀 Quick Start Library Selection

Choose Your Library Stack

NeedPrimary LibraryComplementaryUse Case
CLI Argumentsclap-Command-line parsing, help generation
Interactive Promptsinquire-User input, menus, selections
Rich Terminal UIratatuicrosstermComplex layouts, real-time updates
Full Appclap + inquire + ratatui-Complete interactive console applications

Library Integration Workflow

  1. Add dependencies using cargo add: # For CLI argument parsing cargo add clap --features derive # For interactive prompts and user input cargo add inquire # For rich terminal interfaces cargo add ratatui # For cross-platform terminal handling cargo add crossterm
  2. Explore official examples:

- CLI patterns: See @source/clap/examples/ for comprehensive usage examples - Interactive workflows: Check @source/inquire/examples/ for prompt patterns - TUI patterns: Review @source/ratatui/examples/apps/ for complete applications

  1. Combine libraries based on your application needs - start simple and add complexity incrementally.

📚 Official Resources

Primary Documentation Sources

This skill includes complete official source code via git submodules in the source/ directory:

  • @source/clap/ - Complete clap CLI parser library with examples
  • @source/inquire/ - Interactive prompt library with demo applications
  • @source/ratatui/ - Rich TUI framework with example applications

Quick Navigation to Official Examples

  • CLI Examples: @source/clap/examples/
  • Interactive Prompts: @source/inquire/examples/
  • TUI Applications: @source/ratatui/examples/

🛠️ Library-Specific Guides

1. Clap - Command Line Argument Parsing

Core Capabilities

  • Derive macros for automatic argument parsing with minimal boilerplate
  • Subcommand support for complex CLI interfaces like git or cargo
  • Argument validation with custom parsers and validation functions
  • Help generation with automatic --help and --version support
  • Configuration overrides through environment variables and config files

Key Patterns to Explore

  • Basic argument parsing with derive macros: @source/clap/examples/derive_ref/
  • Advanced subcommand structures: @source/clap/examples/tutorial_derive/04_04_subcommands.rs
  • Custom validation and parsing: @source/clap/examples/tutorial_derive/04_02_validate.rs
  • Complex argument relationships: @source/clap/examples/tutorial_derive/04_03_relations.rs

Common Use Cases

  • Simple flag-based tools (similar to ls, grep)
  • Package managers with subcommands (similar to cargo, npm)
  • Configuration-driven applications
  • Data processing pipelines with multiple input sources

2. Inquire - Interactive Prompts

Interactive Input Capabilities

  • Text input with validation, placeholders, and help messages
  • Single selection from predefined options with search functionality
  • Multi-selection with checkbox-style interface
  • Confirmation prompts for yes/no decisions
  • Custom types with validation and formatting
  • Form builders for complex multi-field input flows

Key Patterns to Explore

  • Basic input types and validation: @source/inquire/examples/text_simple.rs, @source/inquire/examples/select.rs
  • Multi-select and complex selections: @source/inquire/examples/multiselect.rs, @source/inquire/examples/enum_comprehensive.rs
  • Custom validation and types: @source/inquire/examples/custom_type.rs, @source/inquire/examples/date.rs
  • Complex form workflows: @source/inquire/examples/form.rs, @source/inquire/examples/expense_tracker.rs
  • Password and secure input: @source/inquire/examples/password_simple.rs, @source/inquire/examples/password_full_featured.rs

Common Use Cases

  • Configuration wizards and setup flows
  • Database connection configuration
  • API client initialization
  • User onboarding sequences
  • Data filtering and selection interfaces

3. Ratatui - Terminal User Interfaces

Rich Terminal UI Capabilities

  • Layout system with flexible constraints and responsive design
  • Widget library for common UI components (lists, tables, charts, etc.)
  • Event handling with keyboard and mouse support
  • Real-time updates with animation and progress indicators
  • Cross-platform terminal management with crossterm backend
  • Custom widgets through extensible widget traits

Key Patterns to Explore

  • Basic layout and widget usage: @source/ratatui/examples/apps/advanced-widget-impl/
  • Complex application structure: @source/ratatui/examples/apps/async-github/
  • Data visualization and charts: @source/ratatui/examples/apps/chart/
  • Custom drawing and graphics: @source/ratatui/examples/apps/canvas/
  • Color themes and styling: @source/ratatui/examples/apps/color-explorer/
  • Constraint-based layouts: @source/ratatui/examples/apps/constraint-explorer/
  • Real-time data display: @source/ratatui/examples/apps/calendar-explorer/

Common Use Cases

  • System monitoring dashboards
  • Log viewers and search interfaces
  • Database query tools
  • File managers and explorers
  • Development IDEs and editors
  • Data analysis and visualization tools
  • Game interfaces and interactive applications

🏗️ Complete Application Patterns

Application Architecture Overview

CLI App with Configuration

  • Structure: Main CLI with subcommands for different operations
  • Configuration: JSON/TOML config files with CLI overrides
  • Features: Logging, error handling, validation
  • Examples: Study @source/clap/examples/cargo-example.rs for patterns

Interactive CLI with Prompts

  • Flow: CLI args → interactive prompts → confirmation → execution
  • Features: Progressive disclosure, validation, defaults, help text
  • State Management: Collect information step-by-step with back/forward navigation
  • Examples: Explore @source/inquire/examples/form.rs for complex flows

Full TUI Application

  • Architecture: Event loop with state management and UI rendering
  • Components: Multiple screens/widgets with navigation between them
  • State: Application state separated from rendering logic
  • Examples: Study @source/ratatui/examples/apps/async-github/ for async patterns

Integration Patterns

Library Combination Strategies

  1. CLI-first: Start with clap, add inquire for interactive configuration
  2. Progressive Enhancement: CLI → CLI + prompts → full TUI
  3. Hybrid Apps: CLI for automation, interactive mode for manual use

Common Integration Points

  • Configuration validation (clap + inquire)
  • Progress indication (clap + ratatui)
  • Setup wizards (inquire + ratatui)
  • Admin interfaces (clap + ratatui)

Development Workflow

Start Simple, Add Complexity

  1. Phase 1: Basic CLI with clap
  2. Phase 2: Add interactive prompts where needed
  3. Phase 3: Add TUI for complex operations
  4. Phase 4: Advanced features (async, plugins, etc.)

Example-Based Learning

  • Study @source/clap/examples/ for CLI patterns
  • Review @source/inquire/examples/ for interaction flows
  • Analyze @source/ratatui/examples/apps/ for complete applications

Real-World Application Types

Development Tools

  • Package managers (cargo, npm-style)
  • Build systems and generators
  • Code analysis and linting tools
  • Database migration tools

System Administration

  • Log analysis and filtering tools
  • Configuration management utilities
  • System monitoring dashboards
  • Deployment automation tools

Data Processing

  • ETL pipelines with interactive configuration
  • Data validation and cleaning tools
  • Report generation utilities
  • File processing batch tools

Interactive Applications

  • Text editors and IDEs
  • File managers
  • Game interfaces
  • Educational tools

Focus on understanding the patterns from the official examples rather than copying specific implementations. The source code provides the most up-to-date and comprehensive examples of best practices.

🎯 Best Practices

CLI Design Principles

  1. Follow POSIX conventions: Use - for short options, -- for long options
  2. Provide helpful defaults: Make reasonable default choices
  3. Clear help text: Explain what each option does
  4. Consistent interface: Follow established patterns from tools like git, cargo
  5. Error handling: Provide clear error messages and exit codes

Interactive Prompt Guidelines

  1. Progressive disclosure: Start simple, add complexity as needed
  2. Provide defaults: Make it easy to accept reasonable choices
  3. Validation: Give immediate feedback on invalid input
  4. Escape hatches: Always allow users to exit or skip
  5. Context preservation: Remember previous answers when possible

TUI Development Tips

  1. Responsive layouts: Handle terminal resizing gracefully
  2. Keyboard shortcuts: Provide intuitive key bindings
  3. Visual hierarchy: Use colors and borders to organize information
  4. Performance: Update efficiently, don't block the main thread
  5. Accessibility: Consider users with different needs

🔧 Development Workflow

Setting Up Your Development Environment

# Create new Rust project
cargo new my-cli-app
cd my-cli-app

# Add dependencies to Cargo.toml
cargo add clap --features derive
cargo add inquire
cargo add ratatui crossterm

# For development
cargo add --dev anyhow # Better error handling
cargo add --dev pretty_assertions # Better test output

Testing Your CLI

#[cfg(test)]
mod tests {
    use super::*;
    use clap::Parser;

    #[test]
    fn test_cli_parsing() {
        let cli = Cli::try_parse_from(&["my-app", "--verbose", "build"]).unwrap();
        assert!(matches!(cli.command, Commands::Build { .. }));
        assert_eq!(cli.verbose, 1);
    }

    #[test]
    fn test_help_generation() {
        // This tests that help doesn't panic
        let _ = Cli::try_parse_from(&["my-app", "--help"]);
    }
}

Building for Distribution

# Cargo.toml release profile
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true
# Build optimized binary
cargo build --release

# Cross-compile for different targets (requires target toolchains)
cargo build --target x86_64-unknown-linux-musl --release
cargo build --target aarch64-apple-darwin --release

🚀 Deployment and Distribution

Installation Options

# Install from crates.io
cargo install my-cli-app

# Install from git repository
cargo install --git https://github.com/user/my-cli-app.git

# Local development installation
cargo install --path .

Distribution with GitHub Actions

# .github/workflows/release.yml
name: Release
on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Build binary
        run: cargo build --release --target x86_64-unknown-linux-musl

      - name: Upload release asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: target/x86_64-unknown-linux-musl/release/my-cli-app
          asset_name: my-cli-app-linux
          asset_content_type: application/octet-stream

📖 Learning Resources

Official Documentation Paths

  • Clap Guide: @source/clap/docs/guide/
  • Clap Examples: @source/clap/examples/
  • Inquire Examples: @source/inquire/examples/
  • Ratatui Examples: @source/ratatui/examples/

Community Resources


This skill provides comprehensive guidance for Rust CLI and TUI development. Start with the 🚀 Quick Start Library Selection section to choose the right libraries for your use case, then explore the detailed examples from the official source code included in the source/ directory.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.03%
按下载量换算32

Claude

27.17%
按下载量换算23

Cursor

17.51%
按下载量换算15

Gemini CLI

9.48%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills