Skip to content

Commit 4f6af5d

Browse files
authored
Merge pull request #2 from tldrwtf/tests/comprehensive-test-suite
feat: Add
2 parents 50c490d + 755ec77 commit 4f6af5d

File tree

12 files changed

+4310
-64
lines changed

12 files changed

+4310
-64
lines changed

README.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
A Pokemon-themed CLI task manager and wellbeing tracker. Complete tasks to catch Pokemon, build your collection, and track your mental and physical wellbeing.
44

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+
520
## Features
621

722
### Task Management
@@ -38,11 +53,43 @@ A Pokemon-themed CLI task manager and wellbeing tracker. Complete tasks to catch
3853

3954
## Installation
4055

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+
4164
```bash
65+
# Clone the repository
66+
git clone https://github.com/yourusername/pokedo.git
4267
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
4374
pip install -e .
4475
```
4576

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+
4693
## Usage
4794

4895
### Initialize
@@ -207,9 +254,111 @@ pip install -e ".[dev]"
207254

208255
# Run tests
209256
pytest
257+
258+
# Run tests with coverage
259+
pytest --cov=pokedo
260+
261+
# Run specific test file
262+
pytest tests/test_tasks.py
210263
```
211264

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+
212354
## Credits
213355

214356
- Pokemon data from [PokeAPI](https://pokeapi.co/)
215357
- 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

Comments
 (0)