1 unstable release
Uses new Rust 2024
| 0.1.0 | Jun 10, 2025 |
|---|
#6 in #pokedex
24KB
121 lines
rustdex 🦀
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.
Dependencies
~18–38MB
~568K SLoC