|
2 | 2 |
|
3 | 3 | A Pokemon-themed CLI task manager and wellbeing tracker. Complete tasks to catch Pokemon, build your collection, and track your mental and physical wellbeing. |
4 | 4 |
|
| 5 | +**Version:** 0.1.0 | **License:** MIT | **Python:** 3.10+ |
| 6 | + |
| 7 | +## Table of Contents |
| 8 | + |
| 9 | +- [Features](#features) |
| 10 | +- [Installation](#installation) |
| 11 | +- [Quick Start](#quick-start) |
| 12 | +- [Usage](#usage) |
| 13 | +- [How It Works](#how-it-works) |
| 14 | +- [Data Storage](#data-storage) |
| 15 | +- [Development](#development) |
| 16 | +- [Troubleshooting](#troubleshooting) |
| 17 | +- [FAQ](#faq) |
| 18 | +- [Credits](#credits) |
| 19 | + |
5 | 20 | ## Features |
6 | 21 |
|
7 | 22 | ### Task Management |
@@ -38,11 +53,43 @@ A Pokemon-themed CLI task manager and wellbeing tracker. Complete tasks to catch |
38 | 53 |
|
39 | 54 | ## Installation |
40 | 55 |
|
| 56 | +### Requirements |
| 57 | + |
| 58 | +- Python 3.10 or higher |
| 59 | +- pip (Python package manager) |
| 60 | +- Internet connection (for initial Pokemon data download) |
| 61 | + |
| 62 | +### Install from Source |
| 63 | + |
41 | 64 | ```bash |
| 65 | +# Clone the repository |
| 66 | +git clone https://github.com/yourusername/pokedo.git |
42 | 67 | cd pokedo |
| 68 | + |
| 69 | +# Create virtual environment (recommended) |
| 70 | +python -m venv venv |
| 71 | +source venv/bin/activate # On Windows: venv\Scripts\activate |
| 72 | + |
| 73 | +# Install PokeDo |
43 | 74 | pip install -e . |
44 | 75 | ``` |
45 | 76 |
|
| 77 | +## Quick Start |
| 78 | + |
| 79 | +```bash |
| 80 | +# 1. Initialize (downloads Pokemon data) |
| 81 | +pokedo init --name "YourName" --quick # Quick start with Gen 1 only |
| 82 | + |
| 83 | +# 2. Add your first task |
| 84 | +pokedo task add "Complete a task" --difficulty easy |
| 85 | + |
| 86 | +# 3. Complete the task and catch a Pokemon! |
| 87 | +pokedo task complete 1 |
| 88 | + |
| 89 | +# 4. View your dashboard |
| 90 | +pokedo |
| 91 | +``` |
| 92 | + |
46 | 93 | ## Usage |
47 | 94 |
|
48 | 95 | ### Initialize |
@@ -207,9 +254,111 @@ pip install -e ".[dev]" |
207 | 254 |
|
208 | 255 | # Run tests |
209 | 256 | pytest |
| 257 | + |
| 258 | +# Run tests with coverage |
| 259 | +pytest --cov=pokedo |
| 260 | + |
| 261 | +# Run specific test file |
| 262 | +pytest tests/test_tasks.py |
210 | 263 | ``` |
211 | 264 |
|
| 265 | +For more development information, see: |
| 266 | +- [Architecture Documentation](docs/ARCHITECTURE.md) - System design and code structure |
| 267 | +- [Contributing Guide](docs/CONTRIBUTING.md) - How to contribute to PokeDo |
| 268 | +- [API Reference](docs/API.md) - Internal API documentation |
| 269 | + |
| 270 | +--- |
| 271 | + |
| 272 | +## Troubleshooting |
| 273 | + |
| 274 | +### Common Issues |
| 275 | + |
| 276 | +**"Command not found: pokedo"** |
| 277 | +- Ensure you installed with `pip install -e .` |
| 278 | +- Check that your virtual environment is activated |
| 279 | +- Try running with `python -m pokedo` instead |
| 280 | + |
| 281 | +**"Database error" on first run** |
| 282 | +- Run `pokedo init --name "YourName"` to initialize the database |
| 283 | +- Check write permissions in your home directory |
| 284 | + |
| 285 | +**Slow initialization** |
| 286 | +- Full initialization downloads data for 1025 Pokemon |
| 287 | +- Use `--quick` flag for Gen 1 only (151 Pokemon) |
| 288 | +- Use `--gen N` to initialize a specific generation |
| 289 | + |
| 290 | +**Pokemon sprites not displaying** |
| 291 | +- Sprites require terminal with image support (iTerm2, Kitty, etc.) |
| 292 | +- Text fallback is used in unsupported terminals |
| 293 | +- Check `~/.pokedo/cache/sprites/` for cached images |
| 294 | + |
| 295 | +**API rate limiting** |
| 296 | +- PokeAPI is free and has generous limits |
| 297 | +- Data is cached locally after first fetch |
| 298 | +- Clear cache: delete `~/.pokedo/cache/` folder |
| 299 | + |
| 300 | +### Reset Data |
| 301 | + |
| 302 | +```bash |
| 303 | +# Remove all PokeDo data (start fresh) |
| 304 | +rm -rf ~/.pokedo |
| 305 | + |
| 306 | +# Reinitialize |
| 307 | +pokedo init --name "YourName" |
| 308 | +``` |
| 309 | + |
| 310 | +--- |
| 311 | + |
| 312 | +## FAQ |
| 313 | + |
| 314 | +**Q: Can I play offline?** |
| 315 | +A: Yes, after initial setup. All Pokemon data is cached locally. |
| 316 | + |
| 317 | +**Q: How do I backup my progress?** |
| 318 | +A: Copy the `~/.pokedo/` directory. The `pokedo.db` file contains all your data. |
| 319 | + |
| 320 | +**Q: What happens if I miss a day?** |
| 321 | +A: Your daily streak resets to 0, but your best streak is preserved. |
| 322 | + |
| 323 | +**Q: Can I catch legendary Pokemon?** |
| 324 | +A: Yes! Epic and hard tasks have small chances to encounter legendaries. Mythical Pokemon require special tickets earned from long streaks. |
| 325 | + |
| 326 | +**Q: How does shiny hunting work?** |
| 327 | +A: Base shiny rate is 1%. Each day of your streak adds 0.5% (up to 10% max). |
| 328 | + |
| 329 | +**Q: Can I have multiple profiles?** |
| 330 | +A: Currently single-profile only. You can backup/restore `~/.pokedo/` to switch profiles. |
| 331 | + |
| 332 | +**Q: Does wellbeing tracking affect gameplay?** |
| 333 | +A: Yes! Good sleep improves catch rates, hydration goals boost Water-type encounters, and meditation increases Psychic/Fairy encounters. |
| 334 | + |
| 335 | +**Q: How do I evolve Pokemon?** |
| 336 | +A: Level up your Pokemon by completing tasks. When evolution requirements are met, use `pokedo pokemon evolve <id>`. |
| 337 | + |
| 338 | +--- |
| 339 | + |
| 340 | +## Project Structure |
| 341 | + |
| 342 | +``` |
| 343 | +pokedo/ |
| 344 | +├── cli/ # Command-line interface |
| 345 | +├── core/ # Business logic and models |
| 346 | +├── data/ # Database and API clients |
| 347 | +└── utils/ # Configuration and helpers |
| 348 | +``` |
| 349 | + |
| 350 | +See [ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed documentation. |
| 351 | + |
| 352 | +--- |
| 353 | + |
212 | 354 | ## Credits |
213 | 355 |
|
214 | 356 | - Pokemon data from [PokeAPI](https://pokeapi.co/) |
215 | 357 | - Built with [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/) |
| 358 | +- Inspired by the Pokemon franchise by Nintendo/Game Freak |
| 359 | + |
| 360 | +--- |
| 361 | + |
| 362 | +## License |
| 363 | + |
| 364 | +MIT License - see LICENSE file for details. |
0 commit comments