Files
firefrost-operations-manual/docs/tasks/modpack-version-checker/CLAUDE.md
Claude 1b9ade8ed2 docs: Add CLAUDE.md for Claude Code development workflow
Enables Claude Code to autonomously build the modpack version checker by:
- Cloning the operations manual
- Reading all planning docs
- Following the complete technical spec
- Building production-ready commercial product

Chronicler #24
2026-02-23 05:36:03 +00:00

257 lines
6.6 KiB
Markdown

# Modpack Version Checker - Commercial Product Development
## Project Overview
Build a Python CLI tool that checks CurseForge modpack versions and notifies server admins of updates. This will be sold as a commercial product on BuiltByBit marketplace.
**Estimated Revenue:** $500-2,600+ based on market analysis
---
## Setup Instructions
### 1. Clone the Firefrost Operations Manual
```bash
cd /tmp
git clone https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
```
**Note:** If this fails due to authentication, the planning docs are also available at:
- https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual/src/branch/master/docs/tasks/modpack-version-checker
### 2. Read the Planning Documents
The complete specification exists in `docs/tasks/modpack-version-checker/`:
**Read these files in order:**
1. `README.md` - Project overview and business case
2. `IMPLEMENTATION-PLAN.md` - Complete technical specification
3. `TESTING-GUIDE.md` - Testing requirements
4. `MARKETING-STRATEGY.md` - Go-to-market strategy
5. `SUPPORT-PLAYBOOK.md` - Customer support procedures
### 3. Create Project Structure
Based on IMPLEMENTATION-PLAN.md, create:
```
modpack-version-checker/
├── src/
│ └── modpack_checker/
│ ├── __init__.py
│ ├── cli.py # Click-based CLI
│ ├── curseforge.py # API client
│ ├── database.py # SQLite storage
│ ├── notifier.py # Discord/webhook notifications
│ └── config.py # Configuration management
├── tests/
│ ├── test_cli.py
│ ├── test_curseforge.py
│ ├── test_database.py
│ └── test_notifier.py
├── docs/
│ ├── README.md # User documentation
│ ├── INSTALLATION.md
│ └── API.md
├── setup.py
├── requirements.txt
├── .gitignore
└── LICENSE
```
---
## Development Tasks
### Phase 1: Core Functionality (MVP)
**Task 1.1: CurseForge API Client**
- Implement API authentication
- Create methods for:
- Get modpack info by ID
- Get latest file version
- Parse version numbers
- Handle rate limiting
- Error handling and retries
**Task 1.2: Database Layer**
- SQLite database for tracking:
- Watched modpacks
- Last known versions
- Check history
- Configuration
- Migration system for schema updates
**Task 1.3: CLI Interface**
- Commands:
- `add <modpack-id>` - Add modpack to watch list
- `remove <modpack-id>` - Remove from watch list
- `list` - Show all watched modpacks
- `check` - Check for updates now
- `status` - Show current versions
- Use Click for clean CLI
- Pretty output with Rich library
**Task 1.4: Notification System**
- Discord webhook support
- Custom webhook support
- Email notifications (optional)
- Configurable notification format
### Phase 2: Advanced Features
**Task 2.1: Scheduling**
- Built-in scheduler (APScheduler)
- Cron expression support
- Configurable check intervals
**Task 2.2: Multi-Server Support**
- Track different modpacks per server
- Server groups
- Bulk operations
**Task 2.3: Version Comparison**
- Semantic version parsing
- Changelog extraction
- Breaking change detection
### Phase 3: Polish for Commercial Release
**Task 3.1: Documentation**
- Complete user guide
- API documentation
- Troubleshooting guide
- Video tutorials (script)
**Task 3.2: Packaging**
- PyPI package
- Docker image
- Windows .exe (PyInstaller)
- Linux .deb package
**Task 3.3: Testing**
- Unit tests (90%+ coverage)
- Integration tests
- End-to-end tests
- Performance tests
---
## Technical Specifications
### Dependencies
**Core:**
- `requests` - HTTP client
- `click` - CLI framework
- `rich` - Terminal formatting
- `pydantic` - Data validation
- `sqlalchemy` - Database ORM
**Optional:**
- `apscheduler` - Job scheduling
- `pytest` - Testing
- `black` - Code formatting
- `pylint` - Linting
### API Integration
**CurseForge API:**
- Base URL: `https://api.curseforge.com`
- Requires API key (free tier available)
- Rate limit: 100 requests/minute
- Endpoints needed:
- `/v1/mods/{modId}`
- `/v1/mods/{modId}/files`
### Database Schema
```sql
CREATE TABLE modpacks (
id INTEGER PRIMARY KEY,
curseforge_id INTEGER UNIQUE,
name TEXT,
current_version TEXT,
last_checked TIMESTAMP,
notification_enabled BOOLEAN
);
CREATE TABLE check_history (
id INTEGER PRIMARY KEY,
modpack_id INTEGER,
checked_at TIMESTAMP,
version_found TEXT,
notification_sent BOOLEAN,
FOREIGN KEY (modpack_id) REFERENCES modpacks(id)
);
```
---
## Success Criteria
### MVP (Minimum Viable Product)
- ✅ Can track multiple CurseForge modpacks
- ✅ Detects version changes
- ✅ Sends Discord notifications
- ✅ CLI is functional and user-friendly
- ✅ Runs on Linux servers
### Commercial Release
- ✅ All MVP features plus:
- ✅ Comprehensive documentation
- ✅ 90%+ test coverage
- ✅ Multiple package formats
- ✅ Professional error messages
- ✅ Configuration file support
- ✅ Scheduling built-in
---
## Development Approach
1. **Read all planning docs first** - Don't start coding until you understand the full scope
2. **Build incrementally** - Start with core API client, then add features
3. **Test as you go** - Write tests alongside code
4. **Follow the spec** - IMPLEMENTATION-PLAN.md has detailed requirements
5. **Professional quality** - This is a commercial product, code quality matters
---
## Notes for Claude Code
- This is a **commercial product** that will be sold
- Code quality must be **production-grade**
- Follow Python best practices (PEP 8, type hints, docstrings)
- Prioritize **user experience** - clear error messages, helpful CLI
- **Security matters** - handle API keys safely, validate all inputs
- Think about **support burden** - make it easy to troubleshoot
---
## Revenue Model
**Pricing Strategy:** $9.99 one-time purchase on BuiltByBit
- **Conservative:** 50-100 sales = $500-1,000
- **Moderate:** 150-200 sales = $1,500-2,000
- **Optimistic:** 260+ sales = $2,600+
**This is passive income for Firefrost Gaming while building reputation in the marketplace.**
---
## Questions?
If you need clarification on any requirement, refer back to the planning docs in the firefrost-operations-manual repo, or ask for guidance.
**Let's build something awesome that helps Minecraft server admins and generates revenue for Firefrost Gaming!**
---
**Created for:** Claude Code (Research Preview)
**Project:** Modpack Version Checker
**Owner:** Firefrost Gaming
**Target Market:** BuiltByBit Marketplace