Skip to content

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DC Studio

A native Mac chess database. Browse, annotate, analyze and enter games — a lightweight, PGN-native alternative to ChessBase, built for players and coaches on macOS. Part of the DanceChess family.

Website: dancechess.com/studio · Download · Changelog · vs ChessBase

DC Studio

Features

  • One window per PGN, as tabs — board + notation on top, that file's game list below; open files come back on launch. Copy games between tabs (duplicates skipped); a file changed by another program is flagged. Arrow keys browse games and step through moves without ever touching the mouse; Enter dives into a game, Esc comes back.
  • PGN is the source of truth — open any .pgn and its games are the list. Every save writes straight back to the file (atomically, with a .pgn.bak safety copy). SQLite is only a per-file cache: a 100k-game file imports in ~2 s and reopens instantly.
  • Full annotation — variations (promote/delete), !/? NAGs, eval symbols, comments, undo/redo. The notation panel renders a ChessBase-style variation tree.
  • Engine analysis (⌘E) — bundled Stockfish, MultiPV, eval bar, click an engine line to insert it as a variation. The engine only runs while a move is selected — no idle CPU burn.
  • Whole-game analysis (⌥⌘A) — marks the losing moves ?! ? ?? for both sides or one, main line or every variation; writes what the eval did, inserts the engine's line beside each; one undo step.
  • Figurines and novelties — ♘f3 on screen and paper if you want it (letters by default); the reference panel flags a move the chosen book has never seen and can write the N mark.
  • Merge games — select several rows; the first game's tree takes the others as variations, comments included.
  • Diagrams, print, PDF — ⌘D puts a diagram after a move (stored as ChessBase's $220); File ▸ Print Game… / Export Game as PDF….
  • Filters — result, date range, Elo range, combined with text search.
  • Opening reference (⌘T) — your database, or lichess's Masters / Lichess / Player explorers (your own lichess token, cached per position) — move statistics with W/D/L for the current position across the open file, and the list filters to the games that reach it (transposition-aware).
  • Game entry — a blank board, a ChessBase-style save mask, and your scoresheets become clean PGN. Create a new file and build a collection from scratch.

Install

brew tap dancechess/tap
brew trust --cask dancechess/tap/dc-studio   # Homebrew asks before loading a third-party tap
brew install --cask dc-studio

Or download the latest DC-Studio-<version>-arm64.dmg from Releases, open it, and drag DC Studio into Applications. Apple Silicon Mac, macOS 14 (Sonoma) or later — there is no Intel build. Stockfish rides along inside the bundle, so there is nothing else to install.

The app is signed with a Developer ID and notarized by Apple, so it opens the way anything else you download does — no terminal incantation, no trip through Privacy & Security.

Building

Needs the Xcode Command Line Tools, Rust, and brew install stockfish — full Xcode is not required.

git clone https://github.com/dancechess/studio.git && cd studio
./scripts/make-app.sh        # → "dist/DC Studio.app", double-clickable

Development without Xcode:

cd core && cargo test        # Rust core: movegen, PGN tree, SQLite (29 tests)
cd app && swift run StudioSmoke   # end-to-end smoke incl. real Stockfish
cd app && swift run StudioApp     # run the app from the CLI

An Xcode project is optional: brew install xcodegen && xcodegen -s app/project.yml.

Cutting a release: ./scripts/publish-release.sh v0.3.1 — it builds, signs, notarizes and staples, refuses to publish anything Gatekeeper would reject, and takes the release notes from the annotated tag's message. It runs on a machine holding the Developer ID key, not on a runner; CI only tests.

Good to know

  • Saving normalizes your PGN. DC Studio re-serializes the whole file on save: content (moves, variations, comments, headers) is preserved — round-trip fidelity is test-covered — but formatting will differ from the original. A .pgn.bak of the pre-session file sits alongside.
  • Alpha software, tested primarily by its author. Rough edges are tracked in docs/ROADMAP.md; the architecture lives in docs/ARCHITECTURE.md and the notation-panel design in docs/NOTATION-VIEW.md.

License

GPLv3 — see LICENSE. DC Studio stands on GPL shoulders: Stockfish (bundled engine), shakmaty (move generation), and the Merida piece set by Armando Hernandez Marroquin.

The released DMG ships the Stockfish binary as-is; its corresponding source lives at https://github.com/official-stockfish/Stockfish (the exact version is named in each release's notes). The corresponding source for DC Studio itself is this repository at the release's tag.

About

Native macOS chess database — a lightweight ChessBase alternative. Browse, annotate and analyze PGN collections with a bundled Stockfish. Swift + Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages