{"id":23190590,"url":"https://github.com/mlang/cbookview","last_synced_at":"2025-08-31T17:39:15.563Z","repository":{"id":73028521,"uuid":"427786349","full_name":"mlang/cbookview","owner":"mlang","description":"Terminal application to explore chess openings","archived":false,"fork":false,"pushed_at":"2022-11-24T18:19:08.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-16T06:51:34.224Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-13T22:30:20.000Z","updated_at":"2023-07-25T14:51:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1ef6bda-8b0b-489a-94e4-cd0ba5ae9b2b","html_url":"https://github.com/mlang/cbookview","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mlang/cbookview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlang%2Fcbookview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlang%2Fcbookview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlang%2Fcbookview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlang%2Fcbookview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlang","download_url":"https://codeload.github.com/mlang/cbookview/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlang%2Fcbookview/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268290752,"owners_count":24226646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T12:15:00.384Z","updated_at":"2025-08-01T20:12:33.688Z","avatar_url":"https://github.com/mlang.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cbookview\n\n`cbookview` is a terminal application to explore commonly played chess openings.\n\nIf no file is passed at the command line, `cbookview` will show\nits internal (default) opening book.\nPassing a polyglot opening book file (with extension `.bin`) on the command line\nwill allow you to explore the plies contained in that book file interactively.\nYou can also open a PGN file (extension `.pgn`) which will be presented like\nit was an opening book.  In other words, all the moves played in that PGN file will\nbe merged into a single forest of plies.  When exporing PGN files, no\nparticular order of plies is imposed.  When exploring a polyglot file\nthe most popular moves will always come first.\n\nFor example, lets assume you want to examine blacks replies to\nthe [Ruy lopez](https://en.wikipedia.org/wiki/Ruy_Lopez).  Use the cursor keys\nto navigate to the move after bishop b5.\nHere is what the interface will show:\n\n```\na6         ┌─────────────────┐\nNf6       1│ R +   K Q B N R │        1.e4 e5 2.Nf3 Nc6 3.Bb5 a6\ng6        2│ P P P   P P P P │\nf5        3│   + N +   +   + │\nNge7      4│ +   + P +   +   │\nBc5       5│   +   p   + B + │\nd6        6│ +   +   + n + p │\nNd4       7│ p p p + p p p + │\nBb4       8│ r n b k q b + r │\nBd6        └─────────────────┘\nQf6          h g f e d c b a\nf6\n\n\n\nUp/Down (kj) = change ply, Left/Right (hl) = back/forward                 ESC = Quit\n```\n\nMoving the cursor down the list of book moves will also update the\nposition and game history.  As already mentioned, the moves in polyglot book files\nare ordered according to popularity.  So pawn to a6 is actually the\nmost popular line of the Ruy Lopez.\n\nSpeaking about popular lines, you can use the Home key to move to\nthe first ply, and the End key to move to the last ply of\nthe current line.  So if you press End directly after starting `cbookview`\nyou will actually see the most popular variation of the currently loaded book.\n\n## The easteregg: Poor mans chessboard\n\nIf you press `a` (for \"All moves\") cbookview will switch to the tree\nof all possible moves.  This is a poor mans way for following\ngames and abusing cbookview as a two-player board.\nPressing `d` (for \"Default book\") will load the internal polyglot book.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlang%2Fcbookview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlang%2Fcbookview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlang%2Fcbookview/lists"}