chess/planning/IMPLEMENTATION_PROMPT.md
Christoph Wagner 5ad0700b41 refactor: Consolidate repository structure - flatten from workspace pattern
Restructured project from nested workspace pattern to flat single-repo layout.
This eliminates redundant nesting and consolidates all project files under version control.

## Migration Summary

**Before:**
```
alex/ (workspace, not versioned)
├── chess-game/ (git repo)
│   ├── js/, css/, tests/
│   └── index.html
└── docs/ (planning, not versioned)
```

**After:**
```
alex/ (git repo, everything versioned)
├── js/, css/, tests/
├── index.html
├── docs/ (project documentation)
├── planning/ (historical planning docs)
├── .gitea/ (CI/CD)
└── CLAUDE.md (configuration)
```

## Changes Made

### Structure Consolidation
- Moved all chess-game/ contents to root level
- Removed redundant chess-game/ subdirectory
- Flattened directory structure (eliminated one nesting level)

### Documentation Organization
- Moved chess-game/docs/ → docs/ (project documentation)
- Moved alex/docs/ → planning/ (historical planning documents)
- Added CLAUDE.md (workspace configuration)
- Added IMPLEMENTATION_PROMPT.md (original project prompt)

### Version Control Improvements
- All project files now under version control
- Planning documents preserved in planning/ folder
- Merged .gitignore files (workspace + project)
- Added .claude/ agent configurations

### File Updates
- Updated .gitignore to include both workspace and project excludes
- Moved README.md to root level
- All import paths remain functional (relative paths unchanged)

## Benefits

 **Simpler Structure** - One level of nesting removed
 **Complete Versioning** - All documentation now in git
 **Standard Layout** - Matches open-source project conventions
 **Easier Navigation** - Direct access to all project files
 **CI/CD Compatible** - All workflows still functional

## Technical Validation

-  Node.js environment verified
-  Dependencies installed successfully
-  Dev server starts and responds
-  All core files present and accessible
-  Git repository functional

## Files Preserved

**Implementation Files:**
- js/ (3,517 lines of code)
- css/ (4 stylesheets)
- tests/ (87 test cases)
- index.html
- package.json

**CI/CD Pipeline:**
- .gitea/workflows/ci.yml
- .gitea/workflows/release.yml

**Documentation:**
- docs/ (12+ documentation files)
- planning/ (historical planning materials)
- README.md

**Configuration:**
- jest.config.js, babel.config.cjs, playwright.config.js
- .gitignore (merged)
- CLAUDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:05:26 +01:00

9.9 KiB

HTML Chess Game - Implementation Swarm Prompt

🎯 Mission

Implementiere ein vollständiges HTML-Schachspiel basierend auf der umfassenden Planungsdokumentation im /docs Verzeichnis.

📋 Kontext

Ein Planungs-Swarm hat bereits eine komplette, produktionsreife Spezifikation erstellt mit:

  • Vollständiger Architektur (MVC + Event-System)
  • 120+ Test Cases spezifiziert
  • Code-Templates und Beispielen
  • Schritt-für-Schritt-Implementierungsguide
  • 100+ Code-Snippets und Patterns
  • Kompletter API-Dokumentation

🚀 Deine Aufgabe

Implementiere das Schachspiel in 4-5 Wochen (100-125 Stunden) mit folgenden Phasen:

Phase 1: MVP Core (Wochen 1-2)

  • Board-Rendering (DOM-basiert mit CSS Grid)
  • Alle 6 Figuren-Typen mit korrekter Bewegungslogik
  • Drag-and-Drop + Tap-to-Move (mobile-first)
  • Zugvalidierung mit allen Schachregeln
  • Check/Checkmate/Stalemate-Erkennung

Phase 2: Enhanced UX (Wochen 3-4)

  • CSS-Animationen für Züge
  • Sound-Effekte
  • Zughistorie mit Undo/Redo
  • Save/Load via localStorage
  • PGN/FEN Import/Export

Phase 3: AI Opponent (Optional - Wochen 5-6)

  • Minimax-Algorithmus mit Alpha-Beta-Pruning
  • 5 Schwierigkeitsstufen
  • Web Worker für Performance
  • Optional: Stockfish.js Integration

📚 Dokumentation (SEHR WICHTIG - LIES DIESE ZUERST!)

Start hier:

  1. /docs/HANDOFF_CHECKLIST.md - Komplette Roadmap und Quick Start
  2. /docs/IMPLEMENTATION_GUIDE.md 📖 - Schritt-für-Schritt-Anleitung
  3. /docs/API_REFERENCE.md 📚 - Alle Class/Method-Signaturen

Während der Implementierung:

  • /docs/CHESS_RULES.md ♟️ - Vollständige Schachregeln (Castling, En Passant, etc.)
  • /docs/DEVELOPER_GUIDE.md 🛠️ - Testing, Debugging, Best Practices
  • /docs/architecture/ 🏗️ - System-Design, Komponenten, Datenmodelle
  • /docs/implementation/code-templates/ 💻 - Copy-paste fertige Templates
  • /docs/implementation/examples/ 📝 - Vollständige Implementierungsbeispiele
  • /docs/testing/ 🧪 - Test-Strategie und alle Test Cases
  • /docs/diagrams/ARCHITECTURE.md 🎨 - 16 visuelle Diagramme

🎯 Erfolgs-Kriterien

Das Projekt ist erfolgreich, wenn:

Funktional:

  • Alle FIDE-Schachregeln korrekt implementiert
  • Alle Spezialfälle funktionieren (Castling, En Passant, Promotion, Rochade)
  • Check, Checkmate, Stalemate korrekt erkannt
  • Zwei-Spieler-Modus funktioniert vollständig

Qualität:

  • 90%+ Test Coverage (Jest + Playwright)
  • Alle 120+ Test Cases aus /docs/testing/test-specifications.md bestehen
  • Keine Eslint/TypeScript-Fehler
  • WCAG 2.1 Level AA Accessibility

Performance:

  • Ladezeit <2 Sekunden (Desktop)
  • 60 FPS Rendering
  • Bundle-Größe <150KB (gzipped)
  • Mobile responsive (320px - 2560px)

Code-Qualität:

  • Folgt /docs/implementation/coding-standards.md
  • JSDoc für alle öffentlichen Methoden
  • Clean Code (SRP, DRY, KISS)
  • Kommentare für komplexe Schachlogik

🏗️ Empfohlene Dateistruktur

chess-game/
├── index.html
├── css/
│   ├── board.css
│   ├── pieces.css
│   └── game-controls.css
├── js/
│   ├── models/
│   │   ├── Board.js
│   │   ├── Piece.js
│   │   ├── pieces/
│   │   │   ├── Pawn.js
│   │   │   ├── Knight.js
│   │   │   ├── Bishop.js
│   │   │   ├── Rook.js
│   │   │   ├── Queen.js
│   │   │   └── King.js
│   │   └── GameState.js
│   ├── controllers/
│   │   ├── GameController.js
│   │   └── MoveController.js
│   ├── views/
│   │   ├── BoardView.js
│   │   └── UIManager.js
│   ├── engine/
│   │   ├── MoveValidator.js
│   │   ├── RuleEngine.js
│   │   ├── CheckDetector.js
│   │   └── SpecialMoves.js
│   ├── ai/
│   │   ├── AIPlayer.js
│   │   ├── Minimax.js
│   │   └── Evaluator.js
│   └── utils/
│       ├── Constants.js
│       ├── Helpers.js
│       ├── EventBus.js
│       ├── FENParser.js
│       └── PGNParser.js
├── assets/
│   ├── pieces/ (SVG icons)
│   └── sounds/
└── tests/
    ├── unit/
    ├── integration/
    └── e2e/

🔧 Technologie-Stack (aus Planung empfohlen)

Core:

  • Vanilla JavaScript ES6+ (KEIN Framework nötig)
  • HTML5 + CSS3 (CSS Grid für Board)
  • DOM-basiertes Rendering (NICHT Canvas)

Optional Libraries:

  • chess.js (für Game Logic Validation)
  • chessboard.js (für Board Rendering)
  • Stockfish.js (für weltklasse AI)

Build Tools:

  • Babel (ES6+ Transpilation)
  • Webpack/Vite (Bundling)
  • Jest (Unit/Integration Tests)
  • Playwright (E2E Tests)

Development:

  • ESLint + Prettier
  • Husky (Pre-commit Hooks)
  • Lighthouse CI (Performance)

📋 Implementierungsreihenfolge (wichtig!)

Folge exakt dieser Reihenfolge aus /docs/IMPLEMENTATION_GUIDE.md:

Tag 1-2: Setup & Board

  1. Projekt-Setup (package.json, build tools)
  2. Board-Klasse (8x8 Gitter, Koordinaten)
  3. BoardView-Klasse (CSS Grid Rendering)

Tag 3-5: Pieces 4. Base Piece-Klasse 5. Alle 6 Piece-Typen (Pawn, Knight, Bishop, Rook, Queen, King) 6. Movement-Logik für jede Figur

Tag 6-8: Move Validation 7. MoveValidator (Legal moves) 8. RuleEngine (Schachregeln) 9. CheckDetector (King in check)

Tag 9-12: Game Logic 10. GameController (Spielfluss) 11. SpecialMoves (Castling, En Passant, Promotion) 12. Checkmate/Stalemate Detection

Tag 13-15: UI 13. Drag-and-Drop 14. Tap-to-Move (Mobile) 15. Visual Feedback (highlights, animations)

Tag 16-20: Polish 16. Game History + Undo/Redo 17. Save/Load + PGN/FEN 18. Sound Effects + Animations 19. Comprehensive Testing 20. Performance Optimization

Tag 21-25 (Optional): AI 21. Minimax Algorithm 22. Alpha-Beta Pruning 23. Position Evaluation 24. Difficulty Levels 25. Web Worker Integration

⚠️ Kritische Implementierungs-Hinweise

Häufige Fallstricke (aus /docs/IMPLEMENTATION_GUIDE.md):

  1. En Passant: Muss im selben Zug nach Pawn-Doppelschritt möglich sein
  2. Castling: 5 Bedingungen müssen erfüllt sein (King/Rook unmoved, kein Check, freie Felder, etc.)
  3. Checkmate vs. Stalemate: King in check + keine legalen Züge = Checkmate; King NICHT in check + keine legalen Züge = Stalemate
  4. Pawn Promotion: Automatisch beim Erreichen der gegnerischen Grundreihe
  5. Zugvalidierung: IMMER prüfen ob eigener King in Check nach Zug (illegal!)
  6. FEN Parsing: Validierung und Error Handling essentiell

Performance-Optimierungen:

  • Bitboards für schnelle Position-Checks (optional)
  • Move caching für AI
  • RequestAnimationFrame für Animationen
  • Lazy loading für Assets
  • Virtual scrolling für lange Zughistorie

🧪 Testing-Anforderungen

Implementiere Tests für:

Unit Tests (70% der Tests)

  • Jede Piece-Bewegung einzeln
  • MoveValidator Edge Cases
  • FEN/PGN Parser
  • Check Detection
  • Special Moves

Integration Tests (20%)

  • Game Flow (Start → Züge → Checkmate)
  • UI Interaktionen
  • Save/Load Functionality

E2E Tests (10%)

  • Komplette Spiele
  • Famous Games Replay (Immortal Game, Opera Game)
  • Browser Compatibility

Test Coverage Minimum: 90% (siehe /docs/testing/quality-criteria.md)

🎨 UI/UX Requirements

  • Desktop: Drag-and-Drop primär
  • Mobile: Tap-to-Move primär (Tap Piece → Tap Destination)
  • Responsive: 320px - 2560px
  • Accessibility: Keyboard Navigation, Screen Reader Support, ARIA Labels
  • Visual Feedback:
    • Highlight legal moves when piece selected
    • Animation for piece movement
    • Check indicator for King
    • Last move highlight

📊 Monitoring & Deployment

  • Bundle size report
  • Lighthouse performance score >90
  • Deploy to GitHub Pages / Netlify / Vercel
  • Cross-browser testing (Chrome, Firefox, Safari, Edge)

🚨 WICHTIG: Bevor du startest!

  1. Lies ZUERST /docs/HANDOFF_CHECKLIST.md (30 Minuten)
  2. Studiere /docs/IMPLEMENTATION_GUIDE.md Phase 1 (1 Stunde)
  3. Reviewe Code-Templates in /docs/implementation/code-templates/
  4. Verstehe Schachregeln aus /docs/CHESS_RULES.md
  5. Setup Entwicklungsumgebung via /docs/DEVELOPER_GUIDE.md

Total prep time: ~2-3 Stunden Dann: START CODING! 🚀

📞 Support & Fragen

BEVOR du fragst, checke:

  1. Implementation steps? → /docs/IMPLEMENTATION_GUIDE.md
  2. Method signatures? → /docs/API_REFERENCE.md
  3. Chess rules? → /docs/CHESS_RULES.md
  4. Debugging? → /docs/DEVELOPER_GUIDE.md
  5. Timeline? → /docs/HANDOFF_CHECKLIST.md
  6. Architecture? → /docs/diagrams/ARCHITECTURE.md

🏆 Definition of Done

Ein Feature ist "Done" wenn:

  • Code geschrieben
  • Tests geschrieben (90%+ coverage)
  • Tests bestehen (grün)
  • Code reviewed
  • Dokumentiert (JSDoc)
  • Performance OK (<100ms für moves)
  • Accessibility geprüft
  • Cross-browser getestet

🎯 Final Deliverables

Am Ende der Implementierung:

  1. Funktionierendes Schachspiel (alle Features)
  2. Comprehensive Test Suite (90%+ coverage)
  3. Production Build (<150KB gzipped)
  4. Deployment (Live URL)
  5. README mit Setup/Usage
  6. Performance Report (Lighthouse >90)
  7. Browser Compatibility Matrix
  8. Source Code (GitHub)

📈 Timeline & Milestones

  • Week 1: MVP Core (playable 2-player chess)
  • Week 2: MVP Complete + Tests
  • Week 3: UX Enhancement (animations, history, save/load)
  • Week 4: Polish + Deployment
  • Week 5 (Optional): AI Opponent

Total: 4-5 weeks


🚀 Ready? Start hier:

  1. Clone/Setup Project
  2. Read /docs/HANDOFF_CHECKLIST.md
  3. Follow /docs/IMPLEMENTATION_GUIDE.md step-by-step
  4. Reference /docs/API_REFERENCE.md for specs
  5. Build, test, deploy!

Die Planung ist komplett. Alle Antworten sind in /docs. Viel Erfolg! ♟️


Version: 1.0 Created: 2025-01-22 Planning Swarm: Hive Mind Collective Intelligence (8 agents) Implementation Swarm: TBD (You!)