Credits & Attributions
En Parlant~ is a fork of En Croissant, “The Ultimate Chess Toolkit” — a cross-platform, open-source chess GUI built with Tauri (Rust + React/TypeScript). This document identifies every person, team, organization, and project whose work made this software possible, from the core application framework down to individual fonts, icons, and chess piece SVGs.
The entire project is licensed GPL-3.0, driven by the copyleft requirements of key chess libraries (chessground, chessops, shakmaty) authored by Niklas Fiekas and the Lichess team. Two individuals — Niklas Fiekas and Thibault Duplessis — are responsible for essentially the entire open-source chess infrastructure that makes En Parlant~ possible, from board rendering to move generation to puzzle databases.
The core project and its creator
Section titled “The core project and its creator”Francisco Salgueiro is the sole creator and primary maintainer of En Croissant. He has authored the vast majority of the 1,302+ commits across 23+ releases. The project has earned 1,400+ GitHub stars and 199 forks, with 46 commit-based contributors and 56+ individuals credited across release notes.
En Croissant is a Tauri 2 desktop application written in TypeScript (87.7%) and Rust (11.9%). It supports multi-engine analysis, game import from Lichess and Chess.com, repertoire training with spaced repetition, database management with position search, and puzzle training. Francisco personally handles the React frontend architecture, the Rust backend for database operations and engine communication, and the overall product vision. He accepts donations at encroissant.org/support via Buy Me a Coffee.
En Parlant~ (by @DarrellThomas) is a fork adding Text-to-Speech (TTS) narration features — integrating ElevenLabs and Google Cloud for text-to-speech commentary, KittenTTS for local on-device synthesis, and Cloudflare R2 for audio hosting.
Individual contributors to En Croissant before the fork
Section titled “Individual contributors to En Croissant before the fork”Core developer
Section titled “Core developer”Francisco Salgueiro — creator, architect, and primary maintainer of all features including Tauri 2 migration, React 19 migration, opening practice systems, and database engine.
Feature contributors
Section titled “Feature contributors”- @spinward — option to hide current puzzle rating
- @anderslundback — board move scrolling setting
- @yuval59 — code contributions (En Croissant v0.10.0)
- @Cankyre — take-back moves when playing engine; cycle through brilliancies/mistakes/blunders
- @tblrone — kill engine button
- @pnodet — code contributions (En Croissant v0.10.0)
- @Count-MHM — code contributions (En Croissant v0.11.0)
- @Scoutboy06 — code contributions (En Croissant v0.11.0)
- @Selyss — code contributions (En Croissant v0.11.0)
- @RainRat — code contributions (En Croissant v0.11.0)
- @zackschuster — code contributions (En Croissant v0.11.0)
- @loloof64 — capture board snapshot feature
- @JayceFFT — toggle to jump to next puzzle
- @archimag — persisted database page state, report progress bar, Tauri capabilities settings
- @LiberaTeMetuMortis — search option for game result in analysis; Turkish translation
- @teleginpro — persisted settings for game reports
- @alextaconet — preview piece sets in settings
- @buracchi — improved stats in Users page; Lichess sessions authentication fix
- @TurtleOrangina — move annotation for “Miss”; window size persistence fix
- @kimerikal-games — novelty annotation coloring; Korean translation; translatable strings
- @PeterLombaers — single line comments inline display
- @mtwdev — tablebase for OP1 positions
- @BlueManCZ — audio playback fix on Linux
- @tweezerticle — Chess.com import fixes; move-pieces sync fix
Bug fix contributors
Section titled “Bug fix contributors”- @Nullsp4ce — accept alternate mate-in-1 in puzzle mode
- @woprandi — flickering fix for tablebase evaluation; translatable message tagging
- @Breush — document dir support on Linux without XDG
- @dotneB — prevent moves after puzzle completion
- @arimourao — black starting with increment time fix
- @tkasa — preserve FEN when changing orientation
- @wjgr2004 — prevent crash when player runs out of time
- @ed-cetera — infinite loop fix when promoting to mainline
- @sid0-0 — conditional hooks fix
- @vainbaum — empty PGN saves fix
- @xiaoas, @OleBroemelbue, @nskobelevs, @beachwood23, @jaximus808 — contributions in En Croissant v0.14.2
Translation contributors
Section titled “Translation contributors”| Language | Contributor(s) |
|---|---|
| Chinese | @chuigda |
| Portuguese | @franciscoBSalgueiro |
| Spanish | @yako1984, @dav1312 |
| French | @PaulJeFi |
| Italian | @MrPiada |
| Russian | @artemy |
| Norwegian (Bokmal) | @TBestLittleHelper |
| Turkish | @LiberaTeMetuMortis |
| German | @eskopp |
| Korean | @kimerikal-games |
Documentation and CI/CD contributors
Section titled “Documentation and CI/CD contributors”- @qqiumax — README license update
- @jaimecbernardo — pnpm install instructions
- @qoqosz — shakmaty warning fixes
- @hadim — TAURI_SIGNING_PRIVATE_KEY rename
- @chrisbilodeau — GitHub workflow updates
Early contributors
Section titled “Early contributors”@garbidge, @pmyszka, @powy-e — pre-En Croissant v0.10.0 contributions.
Framework and core platform
Section titled “Framework and core platform”Tauri — the Rust/WebView desktop application framework — was co-founded by Daniel Thompson-Yvetot and Lucas Nogueira in 2019 and is maintained by The Tauri Programme within The Commons Conservancy. Key contributors include Amr Bashir and FabianLars. Licensed Apache-2.0 OR MIT.
React was created by Jordan Walke at Facebook in 2013 and is maintained by Meta Open Source. Key contributors include Dan Abramov, Andrew Clark, Sebastian Markbage, Sophie Alpert, and Brian Vaughn. Licensed MIT.
Vite was created by Evan You (also the creator of Vue.js) and is developed under VoidZero Inc. Key contributors include Patak, Anthony Fu, and Bjorn Lu. Licensed MIT.
TypeScript was created by Anders Hejlsberg (who also created C# and Turbo Pascal) at Microsoft. Licensed Apache-2.0.
Chess-specific libraries and the Niklas Fiekas ecosystem
Section titled “Chess-specific libraries and the Niklas Fiekas ecosystem”Niklas Fiekas is arguably the single most important contributor to the modern open-source chess programming ecosystem. He authored all of the core chess logic libraries used by En Parlant~ on both the frontend and backend:
- chessops — TypeScript chess and variant rules library for the frontend. Licensed GPL-3.0-or-later.
- shakmaty — Rust chess library for the backend, providing move generation, FEN/SAN/UCI notation, bitboards, and Zobrist hashing. Licensed GPL-3.0-or-later.
- pgn-reader — fast, non-allocating, streaming PGN parser in Rust. Licensed GPL-3.0-or-later.
- shakmaty-syzygy — Rust library for probing Syzygy endgame tablebases. Licensed GPL-3.0-or-later.
Niklas Fiekas is also the author of python-chess, the dominant Python chess library, and a core contributor to the Lichess ecosystem. His GPL-3.0 licensing on these libraries propagates the copyleft requirement to En Parlant~ itself.
The Lichess ecosystem and Thibault Duplessis
Section titled “The Lichess ecosystem and Thibault Duplessis”Thibault Duplessis founded Lichess.org — the largest free, open-source chess server. The Lichess project contributes multiple components to En Parlant~:
- Chessground — the interactive chess board UI component, featuring custom DOM diffing, SVG arrow drawing, drag-and-drop, premoves, and CSS-only theming. ~10KB gzipped with zero dependencies. Licensed GPL-3.0-or-later.
- Lichess API — used for importing user games, accessing cloud evaluations, and querying the opening explorer. Part of the AGPL-3.0 Lichess project.
- Lichess Game Database — billions of games in PGN format, released monthly. Licensed CC0 (public domain).
- Lichess Puzzle Database — 4.6+ million puzzles generated from 600 million analyzed games using Stockfish NNUE. Licensed CC0.
- Chess piece SVGs and board themes — sourced from the Lichess static assets collection under various licenses (see chess piece sets section below).
Chess engines
Section titled “Chess engines”En Parlant~ supports any UCI-compatible engine and offers one-click installation for several:
- Stockfish — the strongest open-source chess engine, originally created by Tord Romstad, Marco Costalba, and Joona Kiiski. Now maintained by a global community. Uses NNUE evaluation trained on data from the Leela Chess Zero project. GPL-3.0.
- Leela Chess Zero (Lc0) — neural network chess engine inspired by DeepMind’s AlphaZero, spearheaded by Gary Linscott. Trained on over 2.5 billion self-play games. GPL-3.0-or-later.
- RubiChess by Andreas Matthies — strong open-source UCI engine using NNUE evaluation. GPL-3.0.
- Komodo — originally created by Don Dailey (1956–2013), continued by Mark Lefler with evaluation expertise from GM Larry Kaufman. Acquired by Chess.com in 2018. Free for non-commercial use, but redistribution is not permitted — download directly from komodochess.com.
- Dragon by Komodo — the NNUE version, developed by the same team plus Dmitry Pervov and Dietrich Kappe. Commercial/proprietary.
- Fairy-Stockfish by Fabian Fichter — variant chess engine supporting Xiangqi, Shogi, Crazyhouse, and dozens more. GPL-3.0.
Engine ratings displayed in the app are sourced from CCRL (Computer Chess Rating Lists), maintained by Graham Banks, Kirill Kryukov, Sergio Martinez, Gabor Szots, Shaun Brewer, and others since December 2005.
Chess piece sets
Section titled “Chess piece sets”Primarily sourced from the Lichess asset collection:
- cburnett (default) — by Colin M.L. Burnett. Clean, recognizable SVG pieces created with Inkscape. Multi-licensed: BSD-3-Clause, GFDL, GPL, CC-BY-SA-3.0. Also used as the basis for the application icon.
- Kosal by Philatype — CC BY 4.0.
- Alpha — by Eric Bentzen. Clean, modern design.
- Merida — based on the classic Merida chess font, SVG adaptation maintained by the Lichess community. Licensed GPLv2+.
- California — by Jerry S. Licensed CC-BY-SA-4.0.
- Anarcandy — by Lichess community contributors.
- chessnut, chess7, companion, letter, shapes, pixel, pirouetti, cardinal, disguised, dubrovny, fantasy, fresca, gioco, governor, horsey, icpieces, Leipzig, libra, maestro, reillycraig, riohacha, spatial, staunty, tatiana — sourced from Lichess and their respective creators, distributed under CC BY-SA 3.0 or compatible licenses.
Artwork
Section titled “Artwork”- Melanie Thomas — various artwork used in the project.
Chess databases
Section titled “Chess databases”| Database | Games | Creator / Curator |
|---|---|---|
| Lumbra’s Gigabase | ~9.57M | Lumbra (community curator) |
| Caissabase 2024 | ~5.4M | Community-curated from MillionBase, KingBase, and TWIC |
| Ajedrez Data (OTB) | ~4.28M | Ajedrez Data community |
| Ajedrez Data (Correspondence) | ~1.52M | Ajedrez Data community |
| MillionBase | ~3.45M | Ed Schroder (Rebel chess engine author) and community |
Syzygy Endgame Tablebases — created by Ronald de Man, with 7-piece tables generated by Bojun Guo (2018). Hosted for download by Lichess.org.
ChessDB Cloud (chessdb.cn) — by Bojun Guo. A massive chess knowledge database built from engine analysis. Released into the public domain.
Text-to-speech
Section titled “Text-to-speech”- KittenTTS by KittenML — the default local TTS engine, bundled with the app. Runs entirely on-device with no API key required. Uses ONNX voice models via ONNX Runtime and eSpeak NG for phonemization.
- OpenTTS by Michael Hansen (synesthesiam) — optional self-hosted TTS server, run locally via Docker.
- Google Cloud Text-to-Speech — optional cloud TTS provider with WaveNet voices. Requires a user-supplied API key.
- ElevenLabs — optional premium cloud TTS provider with high-quality voices. Requires a user-supplied API key.
npm dependency tree
Section titled “npm dependency tree”Mantine ecosystem (all by Vitaly Rtishchev, MIT)
Section titled “Mantine ecosystem (all by Vitaly Rtishchev, MIT)”Vitaly Rtishchev created and maintains the entire Mantine component library — 30,600+ stars, 100+ components, 50+ hooks.
@mantine/core, @mantine/hooks, @mantine/form, @mantine/notifications, @mantine/spotlight, @mantine/dates, @mantine/modals, @mantine/carousel, @mantine/tiptap, @mantine/nprogress, @mantine/dropzone, @mantine/code-highlight, postcss-preset-mantine
Tauri npm packages (The Tauri Programme, Apache-2.0 OR MIT)
Section titled “Tauri npm packages (The Tauri Programme, Apache-2.0 OR MIT)”@tauri-apps/api, @tauri-apps/cli, @tauri-apps/plugin-dialog, @tauri-apps/plugin-shell, @tauri-apps/plugin-process, @tauri-apps/plugin-os, @tauri-apps/plugin-log, @tauri-apps/plugin-updater
TanStack (all by Tanner Linsley, MIT)
Section titled “TanStack (all by Tanner Linsley, MIT)”Tanner Linsley created the TanStack ecosystem: @tanstack/react-query (async data fetching/caching), @tanstack/react-table (headless table/datagrid), @tanstack/react-virtual (list virtualization).
TipTap rich text editor (Tiptap GmbH, MIT)
Section titled “TipTap rich text editor (Tiptap GmbH, MIT)”Created by Tiptap GmbH. @tiptap/react, @tiptap/starter-kit, @tiptap/extension-link.
React ecosystem
Section titled “React ecosystem”| Package | Author | License |
|---|---|---|
| react, react-dom | Jordan Walke / Meta | MIT |
| react-router-dom | Ryan Florence, Michael Jackson / Remix Software | MIT |
| react-i18next, i18next | Jan Muhlemann | MIT |
State management and animation
Section titled “State management and animation”| Package | Author | License |
|---|---|---|
| zustand | Paul Henschel (original), Daishi Kato (primary maintainer) / pmndrs | MIT |
| framer-motion | Matt Perry / Motion Division | MIT |
| embla-carousel-react | David Jerleke | MIT |
Chess frontend packages
Section titled “Chess frontend packages”| Package | Author | License |
|---|---|---|
| chess.js | Jeff Hlywa | BSD-2-Clause |
| chessground | Thibault Duplessis / Lichess.org | GPL-3.0-or-later |
| chessops | Niklas Fiekas (niklasf) | GPL-3.0-or-later |
Utility packages
Section titled “Utility packages”| Package | Author | License |
|---|---|---|
| dayjs | iamkun | MIT |
| fuse.js | Kiro Risk | Apache-2.0 |
| idb-keyval | Jake Archibald | Apache-2.0 |
| recharts | Xian Wang and community, built on D3 | MIT |
| sql.js | Ophir Lojkine and Alon Zakai | MIT |
Dev tooling
Section titled “Dev tooling”| Package | Author | License |
|---|---|---|
| @biomejs/biome | Emanuele Stoppa (fork of Rome by Sebastian McKenzie) | MIT OR Apache-2.0 |
| @vitejs/plugin-react | Evan You / Vite team | MIT |
| postcss | Andrey Sitnik / Evil Martians | MIT |
| typescript | Anders Hejlsberg / Microsoft | Apache-2.0 |
| vite | Evan You / VoidZero Inc. | MIT |
Rust/Cargo dependency tree
Section titled “Rust/Cargo dependency tree”Core framework
Section titled “Core framework”All Tauri crates (tauri, tauri-build, tauri-plugin-log, tauri-plugin-dialog, tauri-plugin-shell, tauri-plugin-process, tauri-plugin-os, tauri-plugin-updater) by The Tauri Programme. Licensed Apache-2.0 OR MIT.
Serialization (David Tolnay’s ecosystem)
Section titled “Serialization (David Tolnay’s ecosystem)”David Tolnay maintains 160+ Rust crates and is responsible for some of the most foundational libraries in the Rust ecosystem. Approximately 40% of all crates on crates.io depend transitively on serde.
| Crate | Author | License |
|---|---|---|
| serde | Erick Tryzelaar, David Tolnay | MIT OR Apache-2.0 |
| serde_json | David Tolnay | MIT OR Apache-2.0 |
| thiserror | David Tolnay | MIT OR Apache-2.0 |
| anyhow | David Tolnay | MIT OR Apache-2.0 |
Async runtime and networking
Section titled “Async runtime and networking”| Crate | Author | License |
|---|---|---|
| tokio | Carl Lerche, Alice Ryhl, Sean McArthur, Eliza Weisman | MIT |
| reqwest | Sean McArthur | MIT OR Apache-2.0 |
| futures / futures-util | Alex Crichton | MIT OR Apache-2.0 |
Chess libraries (Niklas Fiekas)
Section titled “Chess libraries (Niklas Fiekas)”| Crate | License | Description |
|---|---|---|
| shakmaty | GPL-3.0-or-later | Chess move generation, bitboards, FEN/SAN/UCI |
| pgn-reader | GPL-3.0-or-later | Streaming PGN parser |
| shakmaty-syzygy | GPL-3.0-or-later | Syzygy tablebase probing |
Database and file system
Section titled “Database and file system”| Crate | Author | License |
|---|---|---|
| rusqlite | John Gallagher (original) / rusqlite developers | MIT |
| log | The Rust Project Developers | MIT OR Apache-2.0 |
| tempfile | Steven Allen | MIT OR Apache-2.0 |
| dirs | Simon Ochsenreither | MIT OR Apache-2.0 |
| flate2 | Alex Crichton, Josh Triplett | MIT OR Apache-2.0 |
| zip | Mathijs van de Nes, Marli Frost, Ryan Levick | MIT |
UI design, icons, and fonts
Section titled “UI design, icons, and fonts”- Tabler Icons — 6,000+ free SVG icons by Pawel Kuna. Used via @tabler/icons-react as part of the Mantine ecosystem. Licensed MIT.
- CodeMirror — in-browser code editor by Marijn Haverbeke (also creator of ProseMirror and author of Eloquent JavaScript), with contributions from Adrian Heine. Used for PGN editing. Licensed MIT.
- Inter — the UI typeface, created by Rasmus Andersson. A variable font optimized for screen readability. Used as Mantine’s default font family. Licensed SIL Open Font License 1.1.
- Chess notation font (lichess.chess) — by pgn4web authors, providing figurine algebraic notation symbols. Licensed GPLv2+.
Build tools and developer infrastructure
Section titled “Build tools and developer infrastructure”- Rust — created by Graydon Hoare at Mozilla in 2006. Maintained by the Rust Foundation. Key contributors: Niko Matsakis, Steve Klabnik, Alex Crichton, Manish Goregaokar. Licensed MIT OR Apache-2.0.
- Node.js — created by Ryan Dahl in 2009. Maintained by the OpenJS Foundation. Licensed MIT.
- pnpm — fast, disk-efficient package manager by Zoltan Kochan. Licensed MIT.
- Biome — unified Rust-based linter/formatter, forked from Rome (originally by Sebastian McKenzie, creator of Babel). Re-established by Emanuele Stoppa. Licensed MIT OR Apache-2.0.
AI-assisted development
Section titled “AI-assisted development”The En Parlant~ fork — including its TTS integration, documentation site, multilingual translations, demo pipeline, and this credits page — was built almost entirely with Claude Code, Anthropic’s agentic coding tool. Claude Code uses Claude, Anthropic’s AI assistant, to work directly in the terminal — reading files, editing code, running commands, and managing git workflows.
Anthropic was founded in 2021 by Dario Amodei and Daniela Amodei, along with several former OpenAI researchers, with a focus on AI safety research. Claude is their family of large language models.
External APIs and data services
Section titled “External APIs and data services”- Lichess API — maintained by Thibault Duplessis and the Lichess team. Game exports, cloud evaluations, opening explorer, and puzzle data. Part of the AGPL-3.0 Lichess project.
- Chess.com Published-Data API — read-only REST API for public player profiles, game archives, and club/tournament data.
- ChessDB Cloud Evaluation — by Bojun Guo. Chess knowledge database built from engine analysis. Public domain.
Data sources
Section titled “Data sources”- Stockfish — engine binaries hosted on our own infrastructure (enparlant.redshed.ai).
- Lichess — opening databases and puzzle database, hosted on our own infrastructure. CC BY 4.0.
License compliance summary
Section titled “License compliance summary”En Parlant~ is licensed GPL-3.0, required by the copyleft cascade from its chess dependencies:
| License | Packages / Components |
|---|---|
| GPL-3.0 / GPL-3.0-or-later | En Parlant~ itself, chessground, chessops, shakmaty, pgn-reader, shakmaty-syzygy, Stockfish, Lc0, RubiChess, Fairy-Stockfish, Merida pieces, chess notation font |
| MIT | React, Vite, Mantine (all), TanStack (all), TipTap (all), zustand, framer-motion, embla-carousel, dayjs, recharts, sql.js, Tabler Icons, CodeMirror, Node.js, pnpm, tokio, rusqlite, PostCSS |
| MIT OR Apache-2.0 | Tauri (all), Rust language, serde (all), tokio, reqwest, futures, thiserror, anyhow, log, tempfile, dirs, flate2, TypeScript, Biome |
| BSD-2-Clause | chess.js |
| Apache-2.0 | fuse.js, idb-keyval |
| SIL OFL 1.1 | Inter font |
| CC0 (public domain) | Lichess game database, Lichess puzzle database |
| CC-BY-SA-3.0 / 4.0 | cburnett pieces, California pieces, Shapes piece set |
| AGPL-3.0 | Lichess main codebase (API is free to use) |
| Commercial/Proprietary | Komodo, Dragon by Komodo (optional engines, not bundled) |
The GPL-3.0 copyleft requirement means any distribution of En Parlant~ must include source code or a written offer to provide it, and derivative works must also be licensed under GPL-3.0 or a compatible license. This is driven primarily by Niklas Fiekas’ chess libraries and the Lichess Chessground component.
Conclusion
Section titled “Conclusion”This software exists because of contributions from hundreds of individuals across dozens of projects. Three people deserve singular recognition: Francisco Salgueiro built the application; Niklas Fiekas built the chess logic infrastructure (both TypeScript and Rust); and Thibault Duplessis built the chess board UI and the broader Lichess ecosystem that supplies piece sets, databases, puzzles, and cloud evaluations. Beyond them, David Tolnay’s serialization libraries underpin the Rust backend, the Tauri team made the desktop framework possible, and 56 community contributors delivered features, translations into 10 languages, and bug fixes that shaped the product.
Every chess position evaluated owes a debt to the Stockfish community, and every endgame lookup to Ronald de Man’s Syzygy tablebases. The open-source chess ecosystem is remarkably interconnected — a single application like En Parlant~ draws on work spanning two decades, from Colin M.L. Burnett’s 2006 SVG chess pieces on Wikimedia to React 19’s compiler optimizations.
Did we leave you out? Send me a note and we can fix it. If you would rather remain anonymous, just let us know that too: darrell@redshed.ai.