jhlywa/chess.js
A TypeScript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
Star History
Momentum
+110
STARS · LAST 30 DAYS
4
PER DAY
#170
MOST-STARRED TypeScript
| Window | 7 days | 30 days | 90 days |
|---|---|---|---|
| Stars gained | +28 | +110 | +360 |
| Per day | 4 | 4 | 4 |
| Forks gained | +5 | +20 | +49 |
chess.js gained 110 stars in the last 30 days, about 4 a day, and now has 4.4K. It is about 18 years old and has averaged roughly 245 stars a year. It ranks #170 among TypeScript repositories and #1,167 across all languages on GitHubRepo.
Trending Record
3
DAYS ON TRENDING
#1342
BEST RANK
Sep 26, 2026
FIRST APPEARANCE
Active
STATUS TODAY
chess.js has maintained a continuous presence across global trending indexes, peaking at #1342. Below is the 30-day activity profile:
💡 Overview
chess.js is an open-source project written in TypeScript: A TypeScript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection.
Engineered for speed, consistency, and developer ease, it solves common hurdles in chess. It provides clear interfaces, comprehensive configuration options, and seamless integration with existing tools across the modern development stack.
⚡ Key Features
Optimized execution pipeline written in TypeScript for predictable speed.
Zero-friction configuration with comprehensive sensible defaults out of the box.
Cross-platform runtime support across Linux, macOS, and Windows environments.
Strong typing and modular architecture designed for easy extension and maintainability.
Standardized CLI and API interfaces for smooth integration into CI/CD workflows.
Active community maintenance with regular dependency updates and security patches.
📥 Installation
$ npm install chess.js
⚙ System Requirements
Platforms
- • macOS
- • Linux
- • Windows
Runtime & Dependencies
Node.js >= 18, npm, pnpm or bun
Architecture
x86_64, ARM64 (Apple Silicon & Graviton)
🧠 How It Works
chess.js coordinates its core functionality through a modular TypeScript pipeline. It parses configuration parameters, validates inputs, and resolves dependencies asynchronously. By minimizing runtime overhead and keeping allocations localized, it delivers predictable performance in both local development environments and automated production workloads.
🎯 Production Use Cases
Production System Integration
Embed chess.js into TypeScript backend services to handle core application logic.
CI/CD Automated Pipelines
Run automated validation, builds, and integration suites during deployments.
Developer Tooling & Workflows
Accelerate developer onboarding with pre-configured project utilities.
Open Source Extension
Fork and customize internal modules under the repository's open BSD-2-Clause license.
🚀 Getting Started
Install chess.js using your package manager: `npm install chess.js`
Initialize your project workspace or configuration file for chess.js.
Import chess.js into your codebase or invoke it directly from your terminal.
Execute your test suite or run `chess.js --help` to verify successful setup.
👍 Strengths
⚠️ Considerations
⇄ Alternatives & Direct Competitors
👥 Who Should Use This
Developers and engineering teams building with TypeScript, seeking reliable, tested, and actively maintained tooling for production workloads.
🏆 Nearby in the Rankings
jhlywa/chess.js is currently ranked #1,167 by stars across every repository tracked on GitHubRepo. These are adjacent projects:
| Rank | Repository | Language | Stars | Action |
|---|---|---|---|---|
| #1,162 | muety/wakapi | Go | ★ 4.4K | Compare ↗ |
| #1,163 | TheoLeeCJ/SemIf-OpenJev | Python | ★ 4.4K | Compare ↗ |
| #1,164 | square/wire | Kotlin | ★ 4.4K | Compare ↗ |
| #1,165 | ExcelDataReader/ExcelDataReader | C# | ★ 4.4K | Compare ↗ |
| #1,165 | crmne/ruby_llm | Ruby | ★ 4.4K | Compare ↗ |
| #1,167 | jhlywa/chess.js This Project | TypeScript | ★ 4.4K | |
| #1,168 | JetBrains/fernflower | Java | ★ 4.4K | Compare ↗ |
| #1,169 | SelfControlApp/selfcontrol | Objective-C | ★ 4.4K | Compare ↗ |
| #1,169 | LibreOffice/core | C++ | ★ 4.4K | Compare ↗ |
| #1,171 | alextselegidis/easyappointments | PHP | ★ 4.4K | Compare ↗ |
| #1,172 | micheleg/dash-to-dock | JavaScript | ★ 4.4K | Compare ↗ |
Frequently Asked Questions
What does chess.js do? +
A TypeScript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
What language is chess.js written in? +
The primary language is TypeScript. Topics include: chess.
Is chess.js actively maintained? +
Yes, the last recorded push was on Aug 11, 2026 with 46 open issues being tracked.
How many stars does chess.js have? +
chess.js has 4,410 stars and 988 forks on GitHub.
How does chess.js rank among GitHub repositories? +
With 4,410 stars, jhlywa/chess.js is ranked #1,167 globally across all repositories tracked on GitHubRepo and #170 among TypeScript projects.
What license is chess.js distributed under? +
The repository reports a BSD-2-Clause license. Always verify the repository LICENSE file for legal terms.