Phase 0 (housekeeping): - Add .gitignore to protect credentials and runtime files - Track all project source code, docs, and config Phase 1 (perception loop): - Implement pluggable parser architecture (BaseMudParser ABC + ParserFactory) - Add DeadSoulsParser with regex for HP/MP/SP prompt, room descriptions, exits (multiple formats), NPC/item detection, and combat events - Add OutputBuffer for accumulating text between prompts - Update GameState with SP support and update_from_prompt/room/combat methods - Rewire main loop to use parser + buffer for real-time game state updates - Add reconnection logic to TelnetClient (retry with backoff) - Remove old TextParser (replaced by pluggable system) - Add mud_type config field for selecting parser at runtime - Add comprehensive test suite (50 tests, all passing)
3.1 KiB
3.1 KiB
Virtual Environment Setup
✅ Virtual Environment Creato
Il virtual environment è stato creato con successo in venv/ e tutte le dipendenze sono state installate.
Come Attivare il Virtual Environment
Windows PowerShell
.\venv\Scripts\Activate.ps1
Windows CMD
.\venv\Scripts\activate.bat
Linux/Mac
source venv/bin/activate
Verifica Installazione
Dopo aver attivato il venv, verifica che tutto sia installato:
# Attiva venv
.\venv\Scripts\Activate.ps1
# Verifica pacchetti installati
pip list
# Verifica versione Python
python --version
Pacchetti Installati
Tutti i pacchetti da requirements.txt sono stati installati:
- ✅
telnetlib3- Client Telnet asincrono - ✅
networkx- Gestione grafi per auto-mapping - ✅
sqlalchemy- ORM per database - ✅
pydantic- Validazione configurazione - ✅
rich- Output formattato console - ✅
memvid- Encoding QR-in-MP4 - ✅
faiss-cpu- Vector similarity search - ✅
sentence-transformers- Text embeddings - ✅
torch- Deep learning framework (dipendenza) - ✅
pytest- Testing framework - ✅
pytest-asyncio- Async testing - ✅
pytest-cov- Coverage reporting
Eseguire l'Applicazione
# Attiva venv
.\venv\Scripts\Activate.ps1
# Esegui l'applicazione
python -m src.main
# Oppure con config personalizzato
python -m src.main --config my_config.yaml
Eseguire i Test
# Attiva venv
.\venv\Scripts\Activate.ps1
# Esegui tutti i test
pytest tests/ -v
# Esegui con coverage
pytest --cov=src --cov-report=html
# Esegui test specifico
pytest tests/test_parser.py -v
Disattivare il Virtual Environment
Quando hai finito di lavorare:
deactivate
Aggiungere Nuove Dipendenze
Se devi aggiungere nuove dipendenze:
# Attiva venv
.\venv\Scripts\Activate.ps1
# Installa nuovo pacchetto
pip install nome-pacchetto
# Aggiorna requirements.txt
pip freeze > requirements.txt
Ricreare il Virtual Environment
Se hai problemi, puoi ricreare il venv:
# Rimuovi venv esistente
Remove-Item -Recurse -Force venv
# Crea nuovo venv
python -m venv venv
# Attiva
.\venv\Scripts\Activate.ps1
# Reinstalla dipendenze
pip install -r requirements.txt
Note
- Il virtual environment è gitignored (vedi
.gitignore) - Ogni sviluppatore deve creare il proprio venv locale
- Non committare mai la cartella
venv/su git - Usa sempre il venv quando lavori sul progetto
Troubleshooting
Errore "Execution Policy"
Se ricevi un errore di execution policy in PowerShell:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Pacchetti Mancanti
Se mancano pacchetti:
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
Versione Python Sbagliata
Assicurati di usare Python 3.10+:
python --version
Se hai una versione più vecchia, installa Python 3.10 o superiore.