Files
Leonard 55cb932447
Build and publish Docker image to GHCR / build-and-push (push) Has been cancelled
feat: merge chess_tutor + OpenRouter abstraction
- Merged stefan-kp/chess_tutor into chess-project with full feature set
- Preserved Hermes agent files (agents/, .gitea/, AGENTS.md)
- Added OpenRouter abstraction layer (src/lib/openrouter.ts)
- Created ModelSelector dropdown component with 9 models
- Updated API routes (chat + opening explanation) to use OpenRouter
- Updated useTutorChat to route through OpenRouter API
- Updated onboarding and API key input for OpenRouter
- Created tasks.md with sprint 1 plan
- Updated README with new architecture details
2026-06-20 19:47:16 +00:00

2.5 KiB

Sprint 1 — Chess Tutor: Local Setup + OpenRouter + Playable Board

Goal: Get the chess tutor running locally with a playable board, AI coach via OpenRouter, and model selection.

Now

  • Merge chess_tutor codebase into Tony_tech/chess-project
  • Preserve Hermes agent files (agents/, .gitea/, AGENTS.md)
  • Add OpenRouter abstraction layer (src/lib/openrouter.ts)
  • Create model selector dropdown (src/components/ModelSelector.tsx)
  • Update API routes to use OpenRouter (chat + opening explanation)
  • Update APIKeyInput for OpenRouter keys
  • Install dependencies and start dev server
  • Verify board renders at localhost:3050
  • Test AI chat with an OpenRouter model
  • Test AI chat with a different model (switch via dropdown)

Next

  • Add model selection persistence across sessions
  • Verify stockfish engine works in browser
  • Test opening trainer functionality
  • Test tactical puzzle mode
  • Add "Chess Coach" personality presets page

Backlog

  • Add saved game management UI improvements
  • Add PGN import/export
  • Add game analysis mode (AI reviews your game)
  • Multi-language support polish
  • Performance optimization for mobile
  • Docker setup for easy deployment

Setup Notes

# 1. Install dependencies
cd Tony_tech/chess-project
npm install

# 2. Start dev server (default port 3050)
npm run dev

# 3. Open browser to http://localhost:3050

# 4. On first visit, the onboarding page will prompt for:
#    - Language selection
#    - OpenRouter API key (get one at https://openrouter.ai/keys)
#    - Model selection (pick your preferred AI model)

Env Configuration

Create chess-project/.env.local:

OPENROUTER_API_KEY=sk-or-v1-your-key-here
NEXT_PUBLIC_DEFAULT_MODEL=google/gemini-2.5-flash

If OPENROUTER_API_KEY is set as an env var, the opening explanation endpoint uses it automatically. For the tutor chat, users enter their key through the UI (stored in localStorage).

Available Models

Users can switch between any of these in the model selector dropdown:

Model Provider Cost
Gemini 2.5 Flash Google Low
Gemini 2.5 Pro Google Medium
Claude Sonnet 4 Anthropic Medium
Claude 3.5 Haiku Anthropic Low
GPT-4o OpenAI Medium
GPT-4o Mini OpenAI Low
DeepSeek Chat DeepSeek Very Low
Grok 3 xAI Medium
Llama 3.1 70B Meta Low

Port

The dev server runs on port 3050 by default (configured in package.json).