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.
- 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.
Once published, you can install rustdex directly from crates.io:
cargo install rustdexThe primary way to use rustdex is through its subcommands.
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 120This 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.
This project is dual-licensed under the terms of both the MIT License and the Apache License 2.0.