node-uci
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/node-uci package

1.3.4 • Public • Published

node-uci

node-uci is an implementation of the Universal Chess Interface protocol for node.js. In short, you can talk to engines (like Stockfish, Rybka, etc.) from node.js without any headaches. Abstracts away the pesky communication and parsing of UCI and provides a sane API to communicate with engines.

Build Status Code Climate Test Coverage

Install

Through npm with npm install node-uci.

Usage / Docs

Usage examples and documentation

TLDR;

import { Engine } from 'node-uci'
// or
const Engine = require('node-uci').Engine
 
// async/await
const engine = new Engine('engine/executable/path')
await engine.init()
await engine.setoption('MultiPV', '4')
await engine.isready()
console.log('engine ready', engine.id, engine.options)
const result = await engine.go({ nodes: 2500000 })
console.log('result', result)
await engine.quit()
 
//promises with chain
const engine = new Engine('engine/executable/path')
engine
  .chain()
  .init()
  .setoption('MultiPV', 3)
  .position('r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3')
  .go({ depth: 15 })
  .then(result => {
    console.log(result)
  })

License

MIT

Contribute

PRs always welcome

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.3.4
    41
    • latest

Version History

Package Sidebar

Install

npm i node-uci

Weekly Downloads

61

Version

1.3.4

License

MIT

Unpacked Size

1.84 MB

Total Files

99

Last publish

Collaborators

  • ebemunk