Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
aa2d705
feat: add tree data structure
kevinjosethomas Feb 7, 2025
5eca66b
feat: add copies of components in client form
kevinjosethomas Feb 7, 2025
5fa3046
feat: create ClientBoardController and ClientGameBoard components
kevinjosethomas Feb 7, 2025
461bf2b
feat: create ClientGamePlayInterface and ClientMovesContainer components
kevinjosethomas Feb 7, 2025
f45eb51
feat: migrate useAnalysisController and GameControllerContext to useC…
kevinjosethomas Feb 7, 2025
cf42cff
feat: migrate stockfish engine and types
kevinjosethomas Feb 7, 2025
1c91d49
feat: create copy of analysis via /analysis/client pages
kevinjosethomas Feb 7, 2025
9d1ee18
feat: migrate Stockfish analysis to use async generator instead of ca…
kevinjosethomas Feb 7, 2025
a65e1af
fix: stockfish perspective bug + rendering errors
kevinjosethomas Feb 7, 2025
d46cf61
feat: add variations + free analysis
kevinjosethomas Feb 8, 2025
51d6274
fix: fix legacy analysis controller to work with stockfish streaming
kevinjosethomas Feb 8, 2025
daa12d5
fix: game selection and redirect criteria
kevinjosethomas Feb 8, 2025
fc64c78
fix: stockfish analysis for tournament games
kevinjosethomas Feb 8, 2025
1a29ad5
fix: allow client-side stockfish eval for tournament game variations
kevinjosethomas Feb 8, 2025
6ae40c1
fix: build errors
kevinjosethomas Feb 8, 2025
4b0700f
chore: remove ClientGameplayInterface
kevinjosethomas Feb 8, 2025
da6b88c
chore: redirect all new free analysis to /analysis endpoint
kevinjosethomas Feb 8, 2025
7071623
fix: orientation bug
kevinjosethomas Feb 8, 2025
f4a12ff
Merge #6: Migrate from array to tree data structure for game state st…
kevinjosethomas Feb 8, 2025
97aa205
feat: start initial redesign of analysis page
kevinjosethomas Feb 9, 2025
c63fd3f
feat: moved moves by rating graph to highlight component + added move…
kevinjosethomas Feb 9, 2025
85afbb4
feat: repalced + removed eval bars from game board
kevinjosethomas Feb 9, 2025
b9ca13e
feat: swapped axes of movce map
kevinjosethomas Feb 9, 2025
0c491cf
feat: fix moves by rating graph + add vertical blunder meter
kevinjosethomas Feb 9, 2025
9baa2bf
feat: universal san mapping type + improve blunder meter
kevinjosethomas Feb 9, 2025
b50e9fc
feat: add game info to analysis
kevinjosethomas Feb 10, 2025
ef165e4
feat: add dropdown configure + export options under game board
kevinjosethomas Feb 10, 2025
0ba7dd9
fix: stockfish eval orientation + blunder meter in tournament games
kevinjosethomas Feb 10, 2025
8191748
fix: stockfish relative eval + move map + highlight eval precision
kevinjosethomas Feb 10, 2025
82979b0
chore: port to npm + remove Dockerfile
kevinjosethomas Feb 10, 2025
b3a72cf
fix: restrict ci/cd to node 18
kevinjosethomas Feb 10, 2025
61a74bd
fix: blunder meter + movemap + game selection bug
kevinjosethomas Feb 10, 2025
2572884
feat: add hover/click options to blunder meter and move recommendatio…
kevinjosethomas Feb 10, 2025
a104349
fix: typos and lint errors
kevinjosethomas Feb 10, 2025
794cc69
feat: add move list variations
kevinjosethomas Feb 11, 2025
6d40330
feat: upgrade move list variation ui
kevinjosethomas Feb 11, 2025
79b6873
feat: complete new move list variation handling
kevinjosethomas Feb 11, 2025
c646c63
fix: analysis spacing
ashtonanderson Feb 11, 2025
9a4c675
fix: analysis font sizes
ashtonanderson Feb 11, 2025
cf0378e
feat: blunder meter move selection
ashtonanderson Feb 11, 2025
a9c4072
fix: show corrent move number in move list, especially when starting …
kevinjosethomas Feb 12, 2025
6c48f78
fix: moves container alignment + fen & pgn export + added toasts to c…
kevinjosethomas Feb 12, 2025
8719034
feat: add local storage parameter to store legacy preference
kevinjosethomas Feb 12, 2025
26ae33d
feat: add notice to legacy analysis to redirect to new analysis + fix…
kevinjosethomas Feb 12, 2025
3d83585
feat: make new analysis page responsive + improve leaderboard page de…
kevinjosethomas Feb 13, 2025
f8c5bc8
fix: maia board mirroring bug
kevinjosethomas Feb 13, 2025
a81626d
feat: change color san mapping to base off stockfish eval instead
kevinjosethomas Feb 15, 2025
1f3232b
feat: implement traffic light colour scheme!
kevinjosethomas Feb 16, 2025
259f782
feat: add tooltip to move list + remove move recommendations component
kevinjosethomas Feb 16, 2025
331057a
feat: improve move map + blunder meter
kevinjosethomas Feb 16, 2025
22091e9
feat: add blunder indicators to move list
kevinjosethomas Feb 16, 2025
921d9a4
feat: add horizontal blunder meter for mobile
kevinjosethomas Mar 6, 2025
d7739fc
feat: add horizontal moves container for mobile devices
kevinjosethomas Mar 8, 2025
4c4cbe6
feat: store selected maia model in local storage cache
kevinjosethomas Mar 8, 2025
1737252
feat: add sound effects to analysis and play game board
kevinjosethomas Mar 8, 2025
a704ac3
chore: remove AnalysisMoves
kevinjosethomas Mar 8, 2025
7feac8c
feat: add cpToWinrate method
kevinjosethomas Mar 8, 2025
ff450a6
feat: add y-axis legend/labels to moves by rating component
kevinjosethomas Mar 8, 2025
8b0547d
feat: correctly set selected game list screen and default to top play…
kevinjosethomas Mar 8, 2025
8a7ebf6
chore: reduce to top 4 moves instead of 6
kevinjosethomas Mar 8, 2025
adb0821
feat: swap axes of movemap
kevinjosethomas Mar 8, 2025
0cd1054
feat: add currentMaiaModel selector to GameInfo component
kevinjosethomas Mar 9, 2025
4ff558d
feat: rearrange and resize components for mobile analysis page
kevinjosethomas Mar 9, 2025
b64b3e4
feat: add Analysis Game List component to mobile devices + fix termin…
kevinjosethomas Mar 9, 2025
2f25086
feat: made moves by rating graph and MoveMap graph response on mobile…
kevinjosethomas Mar 9, 2025
5d6cd47
feat: add back moves list container to mobile play page
kevinjosethomas Mar 9, 2025
1fa395c
feat: port to use winrate loss instead of centipawn loss for move cat…
kevinjosethomas Mar 9, 2025
59c180b
chore: minor switch
kevinjosethomas Mar 9, 2025
2de7b68
feat: set colours based on winrate loss instead of cp loss
kevinjosethomas Mar 9, 2025
c7c872e
feat: correctly size Profile page
kevinjosethomas Mar 9, 2025
3dc8df3
feat: update footer w/ more information
kevinjosethomas Mar 9, 2025
5c9611e
feat: migrated landing about maia content to blog post
kevinjosethomas Mar 9, 2025
26491b8
feat: clean up landing
kevinjosethomas Mar 10, 2025
ef242ff
feat: add initial iteration of new landing page
kevinjosethomas Mar 10, 2025
07514c4
feat: clean up team + landing play component
kevinjosethomas Mar 10, 2025
52f0c3b
feat: improve PlaySection and AnalysisSection landing
kevinjosethomas Mar 10, 2025
9d92e3d
feat: clean up training section of landing page
kevinjosethomas Mar 11, 2025
a4e1737
feat: clean up landing page further
kevinjosethomas Mar 11, 2025
71dec85
feat: improve landing page sections
kevinjosethomas Mar 11, 2025
9f3dd51
feat: clean up chessboard animations + fix team page + clean up addit…
kevinjosethomas Mar 12, 2025
c2164a9
feat: clean up chessboards + improve responsiveness + improve landing…
kevinjosethomas Mar 12, 2025
a08d024
feat: make landing page more responsive + clean up code
kevinjosethomas Mar 12, 2025
4197ec2
feat: add pagination to game lists
kevinjosethomas Mar 18, 2025
c409b86
feat: add keyboard navigation to analysis
kevinjosethomas Mar 18, 2025
859f546
feat: add text heuristic description of game board
kevinjosethomas Mar 19, 2025
5018803
feat: added board description + exclam icon for surprising good moves
kevinjosethomas Mar 19, 2025
dd7b32f
feat: add fallback to opening book for initial analysis
kevinjosethomas May 14, 2025
28d963a
feat: add global stats component
kevinjosethomas May 14, 2025
e5aad4d
feat: clean up analysis hook + implement opening book value head
kevinjosethomas May 15, 2025
efcca23
fix: build & lint errors
kevinjosethomas May 15, 2025
cb49c9c
fix: add move sounds for maia moves
kevinjosethomas May 27, 2025
1de4c32
feat: add move sound effects to hand & brain games
kevinjosethomas May 28, 2025
7b73991
feat: add analyze game option post-game
kevinjosethomas May 28, 2025
45e670c
feat: clean up front page
kevinjosethomas May 29, 2025
eb58a6e
chore: fix landing chessboards
kevinjosethomas May 29, 2025
1a975a6
feat: implemented caching for analysisgamelist + profile page game list
kevinjosethomas May 29, 2025
942cae8
feat: add beta blurb to landing
kevinjosethomas May 29, 2025
c37b421
Adding a file for generating descriptions (v1)
BasedBerry Jun 9, 2025
3bad4a1
Update useDescriptionGenerator.ts
BasedBerry Jun 9, 2025
55d5896
fix: add error handling for invalid fen positions
kevinjosethomas Jun 10, 2025
ec26156
fix: bug in legacy analysis currentMaiaModel version
kevinjosethomas Jun 11, 2025
06d59bd
feat: migrate play page to use tree structure
kevinjosethomas Jun 14, 2025
8dadd0f
feat: migrate h&b to use tree structure
kevinjosethomas Jun 14, 2025
08120de
feat: migrate train page to use new train controller
kevinjosethomas Jun 14, 2025
688da4a
feat: migrate turing to use tree data structure
kevinjosethomas Jun 14, 2025
8ff2bcb
feat: consolidate components + clean up training page
kevinjosethomas Jun 14, 2025
5dee7d7
feat: clean up board controller
kevinjosethomas Jun 14, 2025
1e94e9e
feat: modularize + clean up
kevinjosethomas Jun 16, 2025
281c022
feat: condense move container components + condense controllers
kevinjosethomas Jun 16, 2025
fef0ddd
chore: remove legacy components
kevinjosethomas Jun 16, 2025
dae5d07
chore: refactor components + clean up types
kevinjosethomas Jun 16, 2025
20321b6
feat: clean up play controller adding new moves
kevinjosethomas Jun 17, 2025
a231a8b
feat: migrate turing to use tree datastructure + clean up type incons…
kevinjosethomas Jun 17, 2025
a32281d
feat: remove legacy analysis page featureset
kevinjosethomas Jun 17, 2025
d0c13e5
Update useDescriptionGenerator.ts
BasedBerry Jun 17, 2025
2c6ca3f
feat: cleanup analysis controllers + linter errors
kevinjosethomas Jun 17, 2025
45507d3
feat: clean up play page conventions
kevinjosethomas Jun 19, 2025
e16b396
feat: migrate train page to tree structure + handle all cases
kevinjosethomas Jun 19, 2025
80a0564
refactor: playcontroller use treecontroller
kevinjosethomas Jun 19, 2025
67c25e1
chore: fix build + lint errors
kevinjosethomas Jun 19, 2025
85fceab
feat: add first iteration of analysis in puzzle page
kevinjosethomas Jun 19, 2025
ff0d907
chore: clean up + modularize code
kevinjosethomas Jun 19, 2025
be75bee
fix: orientation bug + clean up code
kevinjosethomas Jun 19, 2025
f7f7a1e
feat: add download model modal blocker to train page
kevinjosethomas Jun 19, 2025
9914369
fix: build errors
kevinjosethomas Jun 19, 2025
983b5c4
docs: update feedback
kevinjosethomas Jun 19, 2025
49c4f3a
fix: remove redundant dependency
kevinjosethomas Jun 19, 2025
9d82879
Apply suggestions from cocdcdfde reviewf
kevinjosethomas Jun 19, 2025
b402f5d
fix: lint errors
kevinjosethomas Jun 19, 2025
27717b5
Merge pull request #9 from CSSLab/migrate-tree
kevinjosethomas Jun 19, 2025
15155d0
feat: incorporate new board description generator + fix lint errors
kevinjosethomas Jun 19, 2025
ec1c8b6
Merge pull request #8 from CSSLab/BasedBerry-descriptionUpdate
kevinjosethomas Jun 19, 2025
f0e10bc
feat: add custom game analysis modal
kevinjosethomas Jun 20, 2025
f458371
chore: add initial iteration of openings modal
kevinjosethomas Jun 23, 2025
b9a9fd8
fix: bugs with play mode
kevinjosethomas Jun 23, 2025
0159477
chore: update with moves container + variations
kevinjosethomas Jun 24, 2025
5f2e0f1
feat: add initial working iteration of working opening drilling
kevinjosethomas Jun 24, 2025
6672199
feat: enhance OpeningDrillSidebar with reset functionality and integr…
kevinjosethomas Jun 24, 2025
70c1d7a
feat: enhance OpeningSelectionModal with improved styling and integra…
kevinjosethomas Jun 24, 2025
4e966f9
feat: refactor OpeningDrillAnalysis to use parent hover functions and…
kevinjosethomas Jun 24, 2025
e6384a6
feat: overhaul opening book modal
kevinjosethomas Jun 24, 2025
da0e8f4
feat: enhance opening drill functionality with new drill performance …
kevinjosethomas Jun 24, 2025
2f988f2
Update useDescriptionGenerator.ts
BasedBerry Jun 25, 2025
959f29d
feat: allow repeated openings for increased number of drills
kevinjosethomas Jun 25, 2025
f02dc33
feat: improve movemap to show all moves + improve movetooltip across …
kevinjosethomas Jun 25, 2025
6828b76
feat: update layout styles across multiple pages for consistent horiz…
kevinjosethomas Jun 25, 2025
25ad9de
feat: improve drill ending functionality
kevinjosethomas Jun 25, 2025
798c407
fix: opening drill sidebar
kevinjosethomas Jun 25, 2025
989e4a5
feat: enhance modal components with improved styling, layout adjustme…
kevinjosethomas Jun 26, 2025
ea115f9
fix: bug with duplicate get_move requests
kevinjosethomas Jun 26, 2025
7887b0b
feat: add view summary option after drills are complete
kevinjosethomas Jun 26, 2025
4ddc76e
feat: add functionality to update completed drills with new moves and…
kevinjosethomas Jun 26, 2025
b91e34f
fix: allow maia to continue opening after finish
kevinjosethomas Jun 26, 2025
d0fee62
fix: overwrite drills after reset
kevinjosethomas Jun 26, 2025
292426e
feat: improve opening modal
kevinjosethomas Jun 26, 2025
f30e1a2
feat: add initial iteration of drill performance confirmation
kevinjosethomas Jun 28, 2025
651b1a2
refactor: remove play/pause functionality and clean up evaluation cha…
kevinjosethomas Jun 28, 2025
3f34a88
refactor: remove ThemeButton component and update theme handling to s…
kevinjosethomas Jun 28, 2025
3b7dc5e
feat: make opening selection modal responsive for mobile
kevinjosethomas Jun 28, 2025
e3a73af
refactor: migrate scss to tailwind css
kevinjosethomas Jun 28, 2025
7270dd9
fix: update PGN generation to include headers
kevinjosethomas Jun 28, 2025
e4953e8
refactor: update BlunderMeter calculations to cap at 100%
kevinjosethomas Jun 28, 2025
1350b7a
feat: enhance DrillPerformanceModal with move classification and key …
kevinjosethomas Jun 28, 2025
1de35d5
feat: add MoveQualityDistribution component and enhance FinalCompleti…
kevinjosethomas Jun 28, 2025
15b994e
Update useDescriptionGenerator.ts
BasedBerry Jun 28, 2025
5b429d2
feat: add research papers section with detailed descriptions and link…
kevinjosethomas Jun 28, 2025
3994188
Merge pull request #11 from CSSLab/opening-page
kevinjosethomas Jun 29, 2025
c3a614e
docs: update readme + fix paper url
kevinjosethomas Jun 29, 2025
c01ef5d
docs: update readme
kevinjosethomas Jun 29, 2025
9e206f4
fix: readme
kevinjosethomas Jun 29, 2025
e562873
fix: search + slider state issue
kevinjosethomas Jun 30, 2025
3b91505
fix: stockfish promotion logic + blunder meter cases
kevinjosethomas Jun 30, 2025
50b3647
fix: issue with visiting previous puzzles
kevinjosethomas Jul 1, 2025
4f77fce
fix: allow navigating old puzzles
kevinjosethomas Jul 1, 2025
47150c6
fix: training log rating diff bug
kevinjosethomas Jul 1, 2025
3ba7dcb
feat: overhaul puzzle log
kevinjosethomas Jul 1, 2025
766d7fb
fix: issue with incorrect status
kevinjosethomas Jul 1, 2025
eb7ebf5
fix: make analysis components responsive
kevinjosethomas Jul 1, 2025
638239d
fix: leaderboard duplicate hover popup
kevinjosethomas Jul 2, 2025
0bc71a9
feat: change layout to make analysis page responsive
kevinjosethomas Jul 2, 2025
3cf141f
feat: implement new analysis layout for training + opening page
kevinjosethomas Jul 2, 2025
a8d8693
style: better handle responsiveness in opening selection modal
kevinjosethomas Jul 2, 2025
2c1fd26
fix: analysis disabled popup on train + opening page
kevinjosethomas Jul 2, 2025
6e1f7bd
style: segment maia/sf eval in highlight component
kevinjosethomas Jul 5, 2025
6501caf
feat: improved leaderboard page sizing + popup
kevinjosethomas Jul 5, 2025
b08c6b9
feat: make move map moves clickable + improve opacity
kevinjosethomas Jul 5, 2025
abf1672
feat: refactor AnalysisGameList and GameList components to support ne…
kevinjosethomas Jul 5, 2025
68dc1e3
feat: enhance SimplifiedAnalysis and TrainSection components with res…
kevinjosethomas Jul 5, 2025
f240a5b
feat: improve responsive design of research section
kevinjosethomas Jul 5, 2025
219cef7
feat: add maia model selection and improve Highlight component layout
kevinjosethomas Jul 8, 2025
8bb7f6f
feat: add note to leaderboard explaining player eligibility criteria …
kevinjosethomas Jul 8, 2025
ee6aa64
feat: add Stockfish readiness check and retry logic in engine analysi…
kevinjosethomas Jul 8, 2025
77e7913
docs: add contributing guidelines, code style, and technical clarific…
kevinjosethomas Jul 8, 2025
2d2c51b
feat: add arrow legend across analysis components
kevinjosethomas Jul 8, 2025
f085be4
feat: add logic for onboarding tour of analysis page
kevinjosethomas Jul 8, 2025
ad8157b
feat: implement onboarding tours for training, turing, and play pages
kevinjosethomas Jul 8, 2025
38f08e7
fix: lint errors + update browserslist
kevinjosethomas Jul 8, 2025
6448666
fix: make moves container clickable in opening drill analysis
kevinjosethomas Jul 9, 2025
a76491b
fix: prevent tours from reloading page + rerendering components
kevinjosethomas Jul 9, 2025
052baa0
style: return to dark mode tours
kevinjosethomas Jul 9, 2025
06a1235
feat: add tour for hand and brain page
kevinjosethomas Jul 9, 2025
0e8ed38
feat: add tour for opening drilling page
kevinjosethomas Jul 9, 2025
c48c35f
fix: start from post-opening in drill analysis + fix move colour labe…
kevinjosethomas Jul 9, 2025
a4a5fcc
fix: resolve move numbering inconsistencies and classification displa…
kevinjosethomas Jul 9, 2025
1f59c7e
Merge pull request #13 from CSSLab/v1-dev
kevinjosethomas Jul 9, 2025
d0e7dbc
Merge pull request #10 from CSSLab/BasedBerry-descriptionUpdate
kevinjosethomas Jul 9, 2025
ada1190
chore: clean up description generator + fix analysis issue
kevinjosethomas Jul 9, 2025
fdefe6d
fix: stockfish perspective + description not updating
kevinjosethomas Jul 9, 2025
a920f6d
feat: make board description interactable
kevinjosethomas Jul 9, 2025
9662e1d
style: improve move tooltip to stand out more
kevinjosethomas Jul 9, 2025
5f8945c
fix: h&b unplayable breaking change
kevinjosethomas Jul 9, 2025
e9c3502
fix: description error
kevinjosethomas Jul 9, 2025
30ba8e1
feat: integrate PostHog for analytics tracking
kevinjosethomas Jul 9, 2025
2ae3fb6
fix: build errors
kevinjosethomas Jul 9, 2025
2418d48
fix: build errors
kevinjosethomas Jul 9, 2025
1087c40
fix: autoplay tour on first visit
kevinjosethomas Jul 9, 2025
9bf1408
fix: make tours responsive on mobile
kevinjosethomas Jul 9, 2025
8089c3a
chore: remove instructions modal
kevinjosethomas Jul 9, 2025
94df5fc
fix: tours in h&b and play page
kevinjosethomas Jul 9, 2025
db9215c
feat: add pagination for analysis & game list components
kevinjosethomas Jul 9, 2025
95ba0ce
feat: add consistent game history log to turing page
kevinjosethomas Jul 9, 2025
236be53
Merge pull request #14 from CSSLab/v1-dev
kevinjosethomas Jul 9, 2025
57601f3
feat: added most likely maia play style for opening drills + cleaned …
kevinjosethomas Jul 10, 2025
91a90e5
feat: add new blog plost + tailwind prose
kevinjosethomas Jul 10, 2025
8e7f316
feat: add metadata to blog pages
kevinjosethomas Jul 10, 2025
dabaaa1
fix: make mobile blog page responsive
kevinjosethomas Jul 10, 2025
33133cd
chore: change blog post URLs
kevinjosethomas Jul 10, 2025
adbf812
feat: add maia chess v1 launch blog post
kevinjosethomas Jul 10, 2025
3cb57e4
fix: make board description visible on all screen sizes
kevinjosethomas Jul 10, 2025
d04fe1e
style: remove h&b icons from game list
kevinjosethomas Jul 11, 2025
4476c30
feat: integrate react-joyride for guided tours and update tour context
kevinjosethomas Jul 11, 2025
3e5ef1d
fix: tours not showing up
kevinjosethomas Jul 11, 2025
1268815
refactor: improve code readability and structure in ErrorBoundary, He…
kevinjosethomas Jul 11, 2025
cb1c02f
chore: reorganized blog images and platform beta post
kevinjosethomas Jul 11, 2025
a8667df
fix: only play tours after maia2 model is downloaded
kevinjosethomas Jul 11, 2025
d1a3045
fix: build errors
kevinjosethomas Jul 11, 2025
17d14c5
Merge pull request #25 from CSSLab/v1-fixes
kevinjosethomas Jul 11, 2025
93d13fa
feat: add background analysis to opening drills to reduce analysis lo…
kevinjosethomas Jul 11, 2025
0e21a4e
feat: make critical move section clickable in opening drill performan…
kevinjosethomas Jul 11, 2025
7c7d266
feat: use log likelihood to calculate rating level instead of weighin…
kevinjosethomas Jul 11, 2025
d6869ef
feat: add tour explaining significance of move colours
kevinjosethomas Jul 11, 2025
d476b75
fix: stockfish starting eval bug + enhance Stockfish engine initializ…
kevinjosethomas Jul 11, 2025
bd46438
fix: remove unnecessary accuracy + move quality from completed drill …
kevinjosethomas Jul 11, 2025
22936b6
chore: pick more contrasting greens for good moves
kevinjosethomas Jul 11, 2025
b05271d
feat: improve error page
kevinjosethomas Jul 11, 2025
176ba9d
fix: next drill doesn't load if we have multiple drills of the same o…
kevinjosethomas Jul 11, 2025
e22ab9a
Merge pull request #26 from CSSLab/v1-fixes
kevinjosethomas Jul 11, 2025
52c8f6c
fix: drill progress bar
kevinjosethomas Jul 11, 2025
1c22876
feat: overhaul opening drill sidebar with navigation capabilities + i…
kevinjosethomas Jul 11, 2025
3e6e13d
fix: build errors
kevinjosethomas Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .dockerignore

This file was deleted.

10 changes: 9 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,21 @@
"react/react-in-jsx-scope": "off",
"react-hooks/exhaustive-deps": "off",
"@typescript-eslint/no-unused-vars": "off",
"@next/next/no-html-link-for-pages": "off",
"import/no-named-as-default": "off",
"@next/next/no-img-element": "off",
"@next/next/no-page-custom-font": "off",
"@next/next/no-duplicate-head": "off",
"@next/next/no-typos": "off",
"@next/next/no-before-interactive-script-outside-document": "off",
"@next/next/no-styled-jsx-in-document": "off",
"@next/next/no-head-import-in-document": "off",
},
"overrides": [
{
"files": ["*.js"],
"rules": {
"typescript/no-var-requires": "off",
"@typescript-eslint/no-var-requires": "off",
},
},
],
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- run: yarn
- run: yarn lint
- run: npm i
- run: npm run lint

build:
runs-on: ubuntu-latest
strategy:
matrix:
node: ['18', '20']
node: ['18']
name: Node ${{ matrix.node }} Build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- run: yarn
- run: yarn build
- run: npm i
- run: npm run build
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
.env

# dependencies
/node_modules
Expand Down
130 changes: 130 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# CLAUDE.md - AI Assistant Guide

## Project Overview

This is the Maia Chess Platform Frontend - a sophisticated chess analysis and training application featuring human-like chess AI (Maia) alongside traditional Stockfish engine capabilities.

## Technology Stack

- **Next.js 15.1.6** with App Router
- **React 18.3.1** with TypeScript 5.1.6
- **Tailwind CSS 3.4.10** for styling
- **Stockfish WebAssembly** + **ONNX Runtime Web** for chess engines
- **Framer Motion** for animations
- **Recharts** for data visualization

## Essential Commands

### Development

```bash
npm run dev # Start development server on localhost:3000
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint (ALWAYS run before committing)
npx tsc --noEmit # Check TypeScript errors
```

## Project Structure

```
src/
├── api/ # API client functions organized by feature
├── components/ # UI components organized by domain
├── contexts/ # React Context providers
├── hooks/ # Custom React hooks (business logic)
├── pages/ # Next.js pages/routes
├── providers/ # Context provider wrappers
├── styles/ # Global styles and Tailwind config
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── workers/ # Web Worker files
```

## Architecture Patterns

### State Management

- **Controller Hooks** for business logic (useAnalysisController, usePlayController, etc.)
- **React Context** for global state (AuthContext, ThemeContext, ModalContext)
- **Presentational Components** that receive data via props

### Component Organization

- Organized by feature domain
- Barrel exports (index.ts files) for clean imports
- Absolute imports from `src/` (configured in tsconfig.json)

## Code Conventions

### TypeScript

- Strict TypeScript configuration
- Interface-based type definitions in `src/types/`
- Proper typing for all components and hooks

### Component Pattern

```typescript
interface Props {
// Props definition
}

export const ComponentName = (props: Props) => {
// Component implementation
}
```

### Hook Pattern

```typescript
export const useFeatureController = () => {
// State and logic
return {
// Return interface
}
}
```

## Chess Engine Integration

### Stockfish Engine

- WebAssembly integration via `lila-stockfish-web`
- Files in `public/stockfish/`
- Managed through `useStockfishEngine` hook

### Maia Engine

- ONNX neural network model
- Client-side inference using `onnxruntime-web`
- Multiple model variants (1100-1900 rating levels)
- Weights in `public/maia2/`

## API Structure

- Backend proxy to `https://dock2.csslab.ca/api/`
- Feature-based API organization in `src/api/`
- Type-safe API client functions
- Base URL: `/api/v1/`

## Theme System

- Responsive design with custom breakpoints with breakpoints: 3xl (1920px), 4xl (2560px) (and also mobile)

## Key Files for Understanding

1. `src/hooks/useAnalysisController/` - Core analysis logic
2. `src/components/Analysis/` - Analysis UI components
3. `src/types/` - Type definitions
4. `src/api/` - API client functions
5. `src/pages/` - Route definitions
6. `tailwind.config.js` - Styling configuration
7. `next.config.js` - Build configuration

## Development Workflow

- Feature branches for development
- ESLint and Prettier for code quality
- **IMPORTANT**: Always run `npm run lint` before committing
- Vercel integration for deployments
37 changes: 0 additions & 37 deletions Dockerfile

This file was deleted.

Loading