{"_id":"@andreywbs/xadrez-cli","_rev":"3-a90fd72a9f74aa840047a9807288fc80","name":"@andreywbs/xadrez-cli","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.10":{"name":"@andreywbs/xadrez-cli","version":"1.0.10","keywords":["chess","cli","xadrez","stockfish","terminal"],"author":{"name":"AndreyWBS"},"license":"ISC","_id":"@andreywbs/xadrez-cli@1.0.10","maintainers":[{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"}],"bin":{"xadrez":"index.js"},"dist":{"shasum":"afa9e0c6bd34d7c51af099621b41cbfa4cd9f16c","tarball":"https://registry.npmjs.org/@andreywbs/xadrez-cli/-/xadrez-cli-1.0.10.tgz","fileCount":10,"integrity":"sha512-tIWEmVShKa0uk4xTukUU8oGQRSVU2fBMbohAAil/Q4nQqOH/5ogMgJTrPGojLr87s616EFGyXkuqDo4/hEgJNg==","signatures":[{"sig":"MEUCIBL9q/F3H4w015TvtywLXOyfvE985WEjya9zEjM64IkGAiEA0mTZ+mwXDZKCuE+hTF1s92BI6ukWBxtRrI8sBfgAzkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34851},"main":"index.js","type":"module","about":"Projeto desenvolvido por AndreyWBS","engines":{"node":">=18"},"gitHead":"2e01ed4f5cdad2a01fc9011e58bb0eaacd9e214a","scripts":{"seed":"node scripts/seed-games.js","test":"npm run check","check":"node --check index.js && node --check src/controller/GameController.js && node --check src/engine/ChessEngine.js && node --check src/player/StockfishPlayer.js && node --check src/renderer/ChessJsBoardRenderer.js && node --check src/renderer/UnicodeBoardRenderer.js && node --check src/ui/ConsoleUI.js","start":"node ."},"_npmUser":{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"},"_npmVersion":"10.8.2","description":"CLI de xadrez com modo normal, modo as cegas e opcao de jogar contra Stockfish.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chess.js":"^1.4.0","stockfish":"^18.0.7","better-sqlite3":"^12.10.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/xadrez-cli_1.0.10_1778689568098_0.7446284917804531","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@andreywbs/xadrez-cli","version":"1.0.11","keywords":["chess","cli","xadrez","stockfish","terminal"],"author":{"name":"AndreyWBS"},"license":"ISC","_id":"@andreywbs/xadrez-cli@1.0.11","maintainers":[{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"}],"bin":{"xadrez":"index.js"},"dist":{"shasum":"983e944d00c651faf1e5bec9f94dd35875c569ea","tarball":"https://registry.npmjs.org/@andreywbs/xadrez-cli/-/xadrez-cli-1.0.11.tgz","fileCount":10,"integrity":"sha512-o4Etjng3X9R3LCJhWYr6ZvSpWHx/E1YWuZUtcyR6/zlaaFF+PZ1GBB29pv9mqBECUY9pySit+zCTyfkkQz/hHg==","signatures":[{"sig":"MEQCIFbR+I7tKqHSHgJVw+xN4znlPiw3qGQsj0yFdAC6WgLDAiAgVAomks7pG56w+pKZFAMVitBN2duvauMjcSsdETCWCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34851},"main":"index.js","type":"module","about":"Projeto desenvolvido por AndreyWBS","engines":{"node":">=18"},"gitHead":"f5eeee639fcbc15a02e34bda2edef1db92a230f3","scripts":{"seed":"node scripts/seed-games.js","test":"npm run check","check":"node --check index.js && node --check src/controller/GameController.js && node --check src/engine/ChessEngine.js && node --check src/player/StockfishPlayer.js && node --check src/renderer/ChessJsBoardRenderer.js && node --check src/renderer/UnicodeBoardRenderer.js && node --check src/ui/ConsoleUI.js","start":"node ."},"_npmUser":{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"},"_npmVersion":"10.8.2","description":"CLI de xadrez com modo normal, modo as cegas e opcao de jogar contra Stockfish.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chess.js":"^1.4.0","stockfish":"^18.0.7","better-sqlite3":"^12.10.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/xadrez-cli_1.0.11_1778689715162_0.5111455288379732","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@andreywbs/xadrez-cli","version":"1.0.12","description":"CLI de xadrez com modo normal, modo as cegas e opcao de jogar contra Stockfish.","about":"Projeto desenvolvido por AndreyWBS","main":"index.js","type":"module","bin":{"xadrez":"index.js"},"scripts":{"start":"node .","seed":"node scripts/seed-games.js","check":"node --check index.js && node --check src/controller/GameController.js && node --check src/engine/ChessEngine.js && node --check src/player/StockfishPlayer.js && node --check src/renderer/ChessJsBoardRenderer.js && node --check src/renderer/UnicodeBoardRenderer.js && node --check src/ui/ConsoleUI.js","test":"npm run check"},"keywords":["chess","cli","xadrez","stockfish","terminal"],"author":{"name":"AndreyWBS"},"license":"ISC","engines":{"node":">=18"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"dependencies":{"better-sqlite3":"^12.10.0","chess.js":"^1.4.0","stockfish":"^18.0.7"},"_id":"@andreywbs/xadrez-cli@1.0.12","gitHead":"34ab995093a991b410dafc1e2db59c9a3de97507","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-gWtp0+gcXFfuqEzCSWGJhv84jOEsDgFfVkZvOWuR1Z19D4LaK+rp/Jf0kh5St5Pou9BYNhACkcJazOBPOM0oUA==","shasum":"34d22b2d881f5be626f715183ab5d7dd2e5a3b88","tarball":"https://registry.npmjs.org/@andreywbs/xadrez-cli/-/xadrez-cli-1.0.12.tgz","fileCount":10,"unpackedSize":34851,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7+lIkVhQY3wmATtc+97aroXRofD+t/c+b/M3SxD6ynwIgImFnIEV+wbHutbZ2f/eE0nODH/ySHXiPDkBhrZOJ3mU="}]},"_npmUser":{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"},"directories":{},"maintainers":[{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xadrez-cli_1.0.12_1778691762086_0.9879957866934483"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T16:26:07.950Z","modified":"2026-05-13T17:02:42.416Z","1.0.10":"2026-05-13T16:26:08.251Z","1.0.11":"2026-05-13T16:28:35.337Z","1.0.12":"2026-05-13T17:02:42.289Z"},"author":{"name":"AndreyWBS"},"license":"ISC","keywords":["chess","cli","xadrez","stockfish","terminal"],"description":"CLI de xadrez com modo normal, modo as cegas e opcao de jogar contra Stockfish.","maintainers":[{"name":"andreywbs","email":"andrey.wesley.sa@gmail.com"}],"readme":"# xadrez\n\nCLI de xadrez para terminal, com suporte a:\n\n- Partida local (2 jogadores)\n- Partida contra Stockfish\n- Modo normal e modo as cegas\n- Menu interativo e tratamento de erros\n- Persistencia de partidas em SQLite\n- Estatisticas de vitorias/empates/desistencias\n- Historico paginado e replay de partidas\n\n## Requisitos\n\n- Node.js 18+\n\n## Instalacao\n\n### Usando npm localmente\n\n```bash\nnpm install\nnpm start\n```\n\n### Usando como CLI global\n\n```bash\nnpm install -g xadrez-cli\nxadrez\n```\n\n## Como jogar\n\nAo iniciar, o menu principal oferece:\n\n1. Jogar (2 jogadores)\n2. Jogar vs Stockfish\n3. Estatisticas\n4. Historico de partidas\n5. Sair\n\nDepois de escolher o tipo de partida, voce escolhe:\n\n1. Normal\n2. As cegas\n3. Voltar\n\nSe escolher Stockfish, ha um menu de dificuldade:\n\n1. Facil (depth 4)\n2. Medio (depth 8)\n3. Dificil (depth 16)\n4. Voltar\n\n## Entradas de jogada\n\nDigite jogadas no formato esperado pelo `chess.js`, por exemplo:\n\n- `b1c3`\n\no sistema aceita entrada tipo `e2e4`, é o mais confiavel.\n\n## Comandos durante a partida\n\n- `menu`: volta ao menu principal\n- `novo`: reinicia a partida atual\n- `sair`: encerra o programa\n- `tabuleiro`: mostra o tabuleiro (util quando estiver no modo as cegas)\n\nSe o jogador usar `sair` no meio da partida, o resultado e salvo como desistência.\n\n## Banco de dados (SQLite)\n\nAs partidas e jogadas sao salvas automaticamente em um banco SQLite local.\n\n- arquivo: `data/chess.db`\n- tabela `games`: metadados da partida (modo, depth, resultado, total de jogadas)\n- tabela `game_moves`: historico de jogadas com SAN e FEN\n\n## Estatisticas\n\nA tela de estatisticas mostra:\n\n- total de partidas finalizadas\n- vitorias das brancas\n- vitorias das pretas\n- empates\n- desistencias das brancas\n- desistencias das pretas\n- media de jogadas\n\nTambem exibe as ultimas partidas registradas.\n\n## Historico paginado\n\nO historico e exibido em paginas de 10 partidas por vez.\n\nComandos disponiveis:\n\n- `n`, `>`, `->`: proxima pagina\n- `p`, `<`, `<-`: pagina anterior\n- `1` a `10`: abrir partida da linha escolhida\n- `limpar`: apagar todo o historico (com confirmacao)\n- `Esc` ou `voltar`: voltar ao menu principal\n\nNota: no terminal, as setas direita/esquerda tambem funcionam para navegar paginas.\n\n## Replay de partida\n\nAo abrir uma partida do historico, voce pode navegar lance a lance:\n\n- `->` (seta direita) ou `>`: proximo lance\n- `<-` (seta esquerda) ou `<`: lance anterior\n- `fen`: mostra a FEN da posicao atual\n- `Esc` ou `voltar`: retorna ao historico\n\n## Modo as cegas\n\nNo modo as cegas, o console e limpo a cada lance e apenas o ultimo movimento e exibido, por exemplo:\n\n`Pretas — Nf6 (g8 → f6)`\n\n## Scripts\n\n- `npm start`: executa a aplicacao\n- `npm run check`: valida sintaxe de todos os arquivos principais\n- `npm test`: alias para `npm run check`\n- `npm run seed`: gera partidas automaticas Stockfish vs Stockfish no banco\n\n### Seed de partidas\n\nVoce tambem pode gerar partidas em lote:\n\n```bash\nnode scripts/seed-games.js [quantidade] [depth]\n```\n\nExemplo:\n\n```bash\nnode scripts/seed-games.js 50 16\n```\n\nIsso ajuda a popular o historico para testes de paginacao e replay.\n\n## Estrutura do projeto\n\n```text\n.\n├── index.js\n├── package.json\n└── src\n    ├── controller\n    │   └── GameController.js\n    ├── engine\n    │   └── ChessEngine.js\n    ├── player\n    │   └── StockfishPlayer.js\n    ├── renderer\n    │   ├── ChessJsBoardRenderer.js\n    │   └── UnicodeBoardRenderer.js\n    └── ui\n        └── ConsoleUI.js\n```\n\n[![como usar](./video/xadrez.gif)](./video/xadrez.gif)\n\n## Licenca\n\nISC\n","readmeFilename":"README.md"}