# NowChessSystems — AI Context Map > **Stack:** raw-http | none | unknown | scala > 0 routes | 0 models | 0 components | 57 lib files | 1 env vars | 1 middleware > **Token savings:** this file is ~0 tokens. Without it, AI exploration would cost ~0 tokens. **Saves ~0 tokens per conversation.** --- # Libraries - `jacoco-reporter/scoverage_coverage_gaps.py` - function parse_scoverage_xml: (xml_path) -> tuple[dict, list[ClassGap]] - function format_agent: (project_stats, classes) -> str - function format_json: (project_stats, classes) -> str - function format_markdown: (project_stats, classes) -> str - function format_module_gaps: (module_name, classes, stmt_pct) -> str - function run_scan_modules: (modules_dir, package_filter, min_coverage) -> None - _...4 more_ - `jacoco-reporter/test_gaps.py` - function parse_suite_xml: (xml_path) -> SuiteResult - function load_module: (module_dir, results_subdir) -> Optional[ModuleResult] - function format_module: (mod) -> str - function run: (modules_dir, results_subdir, module_filter) -> None - function main: () -> None - class TestCase - _...2 more_ - `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` - class Board - function apply - function pieceAt - function updated - function removed - function withMove - _...2 more_ - `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` - function hasAnyRights - function hasRights - function revokeColor - function revokeKingSide - function revokeQueenSide - class CastlingRights - `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — function opposite, function label - `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — class Piece - `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — function label - `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` - class Square - function fromAlgebraic - function offset - `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` - function withBoard - function withTurn - function withCastlingRights - function withEnPassantSquare - function withHalfMoveClock - function withMove - _...2 more_ - `modules/api/src/main/scala/de/nowchess/api/player/PlayerInfo.scala` — class PlayerId, function apply - `modules/api/src/main/scala/de/nowchess/api/response/ApiResponse.scala` - class ApiResponse - function error - function totalPages - `modules/bot/python/nnue.py` - function get_data_dir: () - function get_tactical_data_dir: () - function get_weights_dir: () - function list_checkpoints: () - function show_header: () - function show_checkpoints_table: () - _...6 more_ - `modules/bot/python/src/export.py` — function export_weights_to_binary: (weights_file, output_file) - `modules/bot/python/src/generate.py` — function play_random_game_and_collect_positions: (output_file, total_positions, samples_per_game, min_move, max_move, num_workers) - `modules/bot/python/src/label.py` — function normalize_evaluation: (cp_value, method, scale), function label_positions_with_stockfish: (positions_file, output_file, stockfish_path, batch_size, depth, verbose, normalize, num_workers) - `modules/bot/python/src/tactical_positions_extractor.py` - function download_and_extract_puzzle_db: (url, output_dir) - function extract_puzzle_positions: (puzzle_csv, max_puzzles) -> Set[str] - function load_positions_from_file: (file_path) -> Set[str] - function merge_positions: (tactical, other, output_file) - function interactive_merge_positions: (puzzle_csv, output_file, max_puzzles) - `modules/bot/python/src/train.py` - function fen_to_features: (fen) - function find_next_version: (base_name) - function save_metadata: (weights_file, metadata) - function train_nnue: (data_file, output_file, epochs, batch_size, lr, checkpoint, stockfish_depth, use_versioning, early_stopping_patience, weight_decay, subsample_ratio) - function burst_train: (data_file, output_file, duration_minutes, epochs_per_season, early_stopping_patience, batch_size, lr, initial_checkpoint, stockfish_depth, use_versioning, weight_decay, subsample_ratio) - class NNUEDataset - _...1 more_ - `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` - class Bot - function name - function nextMove - `modules/bot/src/main/scala/de/nowchess/bot/BotController.scala` - class BotController - function getBot - function listBots - `modules/bot/src/main/scala/de/nowchess/bot/Config.scala` — class Config - `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala` - class Evaluation - class CHECKMATE_SCORE - class DRAW_SCORE - function evaluate - function initAccumulator - function copyAccumulator - _...2 more_ - `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` - class EvaluationClassic - function evaluate - function countRay - `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/EvaluationNNUE.scala` — class EvaluationNNUE, function evaluate - `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala` - class NNUE - function initAccumulator - function pushAccumulator - function copyAccumulator - function evaluateAtPly - function evaluate - _...1 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala` - function bestMove - function bestMoveWithTime - function loop - function loop - function loop - function loop - `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` - class MoveOrdering - class OrderingContext - function addKillerMove - function getKillerMoves - function addHistory - function getHistory - _...3 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/TranspositionTable.scala` - function probe - function store - function clear - `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala` — function probe, function select - `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala` — class PolyglotHash, function hash - `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala` - class ZobristHash - function hash - function nextHash - `modules/core/src/main/scala/de/nowchess/chess/command/Command.scala` - class Command - function execute - function undo - function description - class MoveResult - `modules/core/src/main/scala/de/nowchess/chess/command/CommandInvoker.scala` - class CommandInvoker - function execute - function undo - function redo - function history - function getCurrentIndex - _...3 more_ - `modules/core/src/main/scala/de/nowchess/chess/controller/Parser.scala` — class Parser, function parseMove - `modules/core/src/main/scala/de/nowchess/chess/engine/GameEngine.scala` - class GameEngine - function isPendingPromotion - function setOpponentBot - function clearOpponentBot - function board - function turn - _...12 more_ - `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` - function context - class Observer - function onGameEvent - class Observable - function subscribe - function unsubscribe - _...1 more_ - `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — class GameContextExport, function exportGameContext - `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — class GameContextImport, function importGameContext - `modules/io/src/main/scala/de/nowchess/io/GameFileService.scala` - class GameFileService - function saveGameToFile - function loadGameFromFile - class FileSystemGameService - function saveGameToFile - function loadGameFromFile - `modules/io/src/main/scala/de/nowchess/io/fen/FenExporter.scala` - class FenExporter - function boardToFen - function gameContextToFen - function exportGameContext - `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` - class FenParser - function parseFen - function importGameContext - function parseBoard - `modules/io/src/main/scala/de/nowchess/io/fen/FenParserCombinators.scala` - class FenParserCombinators - function parseFen - function parseBoard - function importGameContext - `modules/io/src/main/scala/de/nowchess/io/fen/FenParserFastParse.scala` - class FenParserFastParse - function parseFen - function parseBoard - function importGameContext - `modules/io/src/main/scala/de/nowchess/io/fen/FenParserSupport.scala` — function buildSquares - `modules/io/src/main/scala/de/nowchess/io/json/JsonExporter.scala` — class JsonExporter, function exportGameContext - `modules/io/src/main/scala/de/nowchess/io/json/JsonParser.scala` — class JsonParser, function importGameContext - `modules/io/src/main/scala/de/nowchess/io/pgn/PgnExporter.scala` - class PgnExporter - function exportGameContext - function exportGame - `modules/io/src/main/scala/de/nowchess/io/pgn/PgnParser.scala` - class PgnParser - function validatePgn - function importGameContext - function parsePgn - function parseAlgebraicMove - `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` - class RuleSet - function candidateMoves - function legalMoves - function allLegalMoves - function isCheck - function isCheckmate - _...4 more_ - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` - class DefaultRules - function loop - function toMoves - function loop - `modules/ui/src/main/scala/de/nowchess/ui/Main.scala` — class Main, function main - `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessBoardView.scala` - class ChessBoardView - function updateBoard - function updateUndoRedoButtons - function showMessage - function showPromotionDialog - `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessGUI.scala` - class ChessGUIApp - class ChessGUILauncher - function getEngine - function launch - `modules/ui/src/main/scala/de/nowchess/ui/gui/GUIObserver.scala` — class GUIObserver - `modules/ui/src/main/scala/de/nowchess/ui/gui/PieceSprites.scala` - class PieceSprites - function loadPieceImage - class SquareColors - `modules/ui/src/main/scala/de/nowchess/ui/terminal/TerminalUI.scala` — class TerminalUI, function start - `modules/ui/src/main/scala/de/nowchess/ui/utils/PieceUnicode.scala` — function unicode - `modules/ui/src/main/scala/de/nowchess/ui/utils/Renderer.scala` — class Renderer, function render --- # Config ## Environment Variables - `STOCKFISH_PATH` **required** — modules/bot/python/nnue.py --- # Middleware ## custom - generate — `modules/bot/python/src/generate.py` --- # Dependency Graph ## Most Imported Files (change these carefully) - `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` — imported by **59** files - `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` — imported by **39** files - `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` — imported by **39** files - `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — imported by **36** files - `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` — imported by **22** files - `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — imported by **21** files - `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — imported by **21** files - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` — imported by **17** files - `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` — imported by **10** files - `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` — imported by **10** files - `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` — imported by **8** files - `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — imported by **8** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala` — imported by **5** files - `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala` — imported by **5** files - `modules/bot/src/main/scala/de/nowchess/bot/BotDifficulty.scala` — imported by **5** files - `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — imported by **5** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` — imported by **4** files - `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` — imported by **4** files ## Import Map (who imports what) - `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala` +54 more - `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/move/Move.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/api/src/test/scala/de/nowchess/api/move/MoveTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` +34 more - `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala` +34 more - `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` +31 more - `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +17 more - `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala` +16 more - `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +16 more - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +12 more - `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +5 more - `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` ← `modules/bot/src/test/scala/de/nowchess/bot/PolyglotHashTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/EngineTestHelpers.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineLoadGameTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineNotationTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEnginePromotionTest.scala` +5 more --- _Generated by [codesight](https://github.com/Houseofmvps/codesight) — see your codebase clearly_