rustdex

Crates.iorustdex
lib.rsrustdex
version0.1.0
created_at2025-06-10 00:11:55.687619+00
updated_at2025-06-10 00:11:55.687619+00
descriptionA terminal-based Pokédex written in Rust
homepage
repositoryhttps://github.com/pedrobrantes/rustdex
max_upload_size
id1706510
size78,292
Brantes (pedrobrantes)

documentation

README

rustdex 🦀

Crates.io License: MIT OR Apache-2.0 CI

A terminal-based Pokédex application written in Rust. This project serves as both a useful tool for Pokémon fans and a professional portfolio piece demonstrating best practices in Rust software engineering, including a modular architecture, comprehensive testing, and an automated CI/CD pipeline.

Features

  • Fetch and display Pokémon data directly from the terminal.
  • Render Pokémon sprites as high-definition terminal graphics.
  • Configurable image width for different terminal sizes.
  • Modular and scalable architecture.
  • (Planned) Subcommands for fetching data on Moves, Items, and more.
  • (Planned) Fully interactive TUI (Text-based User Interface) mode.

Installation

With cargo

Once published, you can install rustdex directly from crates.io:

cargo install rustdex

Usage

The primary way to use rustdex is through its subcommands.

Fetching Pokémon Information

Use the pokemon subcommand to fetch details for a specific Pokémon.

rustdex --pokemon <POKEMON_NAME> [OPTIONS]

# Fetch Pikachu with default image width
rustdex -p pikachu

# Fetch Snorlax with a larger image
rustdex --pokemon snorlax --width 120

Development

This project follows a professional Git workflow. All new features are developed on feature/... branches and merged into develop via Pull Requests.

To set up the development environment: Clone the repository. Install the pre-commit hooks: pre-commit install. Build the project: cargo build. Run tests: cargo test.

License

This project is dual-licensed under the terms of both the MIT License and the Apache License 2.0.

Commit count: 16

cargo fmt