This repository contains the Pokédex CLI project, developed as part of the Boot.dev course. The goal of this project is to build an interactive command-line interface for managing a Pokédex, showcasing TypeScript and CLI development skills.
- Interactive CLI: Navigate, explore, and interact with your Pokédex directly from the terminal.
- Pokémon Management: Add, inspect, and view Pokémon details seamlessly.
- API Integration: Fetch Pokémon data dynamically from an external API.
- Stateful Design: Maintain Pokédex state across multiple commands.
- Error Handling: Gracefully manage invalid inputs and API errors.
- TypeScript: Core language for development.
- Node.js: Runtime environment for the CLI.
- CLI Design: Implementing an interactive command-line experience.
- Testing: Unit tests with Vitest.
- Building a CLI tool from scratch in TypeScript.
- Managing application state effectively within a command-line interface.
- Integrating with external APIs to fetch and process data.
- Writing clean, maintainable, and testable TypeScript code.
- Handling errors gracefully in user-facing tools.
Unit tests were written to verify core functionality, including:
- Ensuring correct Pokédex updates when Pokémon are caught or inspected.
- Validating API integration and error handling.
- Simulating CLI commands to test user interactions.
Run tests with:
npm test
The Pokédex CLI project was built to:
- Strengthen TypeScript proficiency.
- Learn best practices in CLI tool design and user experience.
- Gain practical experience with API integration and data handling.
- Showcase skills in testing and error management for robust applications.
├── src/ # Core logic and CLI commands
├── tests/ # Unit tests
├── package.json # Project configuration
└── README.md # Project documentation
Feel free to explore, test, and contribute to this project! 🚀