Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
3c76367
fix: update makefile to use new --ports option
S1M0N38 Nov 6, 2025
f19c43d
refactor: simplify the Makefile
S1M0N38 Nov 6, 2025
f00f73d
chore: add stirby as new contributor
S1M0N38 Nov 6, 2025
042228e
chore: rename old test file to .old.py
S1M0N38 Nov 6, 2025
e9c6b7b
test(lua): update conftest.py with two simple functions
S1M0N38 Nov 6, 2025
9de8ac0
test(lua): add test for connection.lua
S1M0N38 Nov 6, 2025
adcbb7d
test(lua): add tests for protocol handling
S1M0N38 Nov 6, 2025
56cf26f
chore: remove pytest config from pyproject.toml
S1M0N38 Nov 6, 2025
0a071b7
chore: remove previous implementation of the balatrobot src/lua
S1M0N38 Nov 9, 2025
cbceda6
chore: remove old tests for scr/lua
S1M0N38 Nov 9, 2025
4f73a0e
feat(lua): add BalatroBot settings
S1M0N38 Nov 9, 2025
09e7b52
feat(lua): add server module
S1M0N38 Nov 9, 2025
b49e34a
test(lua): add port fixture to conftest
S1M0N38 Nov 9, 2025
d554c7d
test(lua): add __init__.py
S1M0N38 Nov 9, 2025
3792086
test(lua): add test for core/server.lua
S1M0N38 Nov 9, 2025
9ec20ec
style(lua): remove useless return and unused variable
S1M0N38 Nov 10, 2025
3684285
feat(lua): add close previous client socket on new connection
S1M0N38 Nov 10, 2025
a20359d
feat(lua): add dispatcher module
S1M0N38 Nov 10, 2025
430b436
feat(lua): add validator module
S1M0N38 Nov 10, 2025
c05f444
feat(lua): add test endpoints
S1M0N38 Nov 10, 2025
0ec3b0c
feat(lua): add health endpoint
S1M0N38 Nov 10, 2025
3329796
chore(lua): add nil to return type
S1M0N38 Nov 10, 2025
6308827
feat(lua): add debugger utils
S1M0N38 Nov 10, 2025
58bf3fb
feat(lua): add error codes utils
S1M0N38 Nov 10, 2025
c40670b
fix: add --debug flag to balatro.py
S1M0N38 Nov 10, 2025
f253567
test(lua): add test for lua code
S1M0N38 Nov 10, 2025
c0ae64f
feat: add balatro.py python script
S1M0N38 Nov 10, 2025
b90d772
feat: update balatrobot.lua
S1M0N38 Nov 10, 2025
f550f4e
chore: add pytest-rerunfailures
S1M0N38 Nov 10, 2025
9f9ef7d
chore: update uv.lock
S1M0N38 Nov 10, 2025
11d9e31
chore: ignore old files
S1M0N38 Nov 10, 2025
23e4fc4
chore: add aerospace cmd to Makefile test target
S1M0N38 Nov 11, 2025
557fab1
fix(lua): add missing test endpoint
S1M0N38 Nov 13, 2025
c3fe20d
chore: add fixture generation to test target in Makefile
S1M0N38 Nov 13, 2025
69ffabd
test: add generate.py to generate fixtures for testing
S1M0N38 Nov 13, 2025
b784ffe
feat(lua): add errors for load and save
S1M0N38 Nov 13, 2025
376ac38
test(lua): add conftest functions for load and save tests
S1M0N38 Nov 13, 2025
5da4602
chore: add smods and jkr files to gitignore
S1M0N38 Nov 13, 2025
e9ba224
feat(lua): add load and save endpoints
S1M0N38 Nov 13, 2025
3a9ed47
chore: move fixtures generation to a separate target
S1M0N38 Nov 14, 2025
f49a031
chore: move aerospace cmd from Makefile to balatro.py
S1M0N38 Nov 15, 2025
62724c2
chore: add stylua formatter
S1M0N38 Nov 16, 2025
6be3497
feat: add option to disable shaders with env var BALATROBOT_NO_SHADERS
S1M0N38 Nov 17, 2025
652214a
chore: add tqdm to dev dependencies and disable reruns in pytest
S1M0N38 Nov 17, 2025
4a9ad6c
test(lua.core): simplify test_validator using api helper
S1M0N38 Nov 17, 2025
9b9283c
feat(lua.utils): add types for gamestate and endpoint
S1M0N38 Nov 17, 2025
c13f56e
feat(lua.utils): add gamestate.lua to utils
S1M0N38 Nov 17, 2025
c52b2e6
feat(lua.utils): add SCHEMA_INVALID_VALUE error
S1M0N38 Nov 17, 2025
fee0af6
chore(lua.endpoints): rm endpoint type
S1M0N38 Nov 17, 2025
4ceb27c
feat(lua.endpoints): add gamestate endpoint
S1M0N38 Nov 17, 2025
c3e3d0d
feat(lua.endpoints): add load endpoint
S1M0N38 Nov 17, 2025
8dba721
feat(lua.endpoints): add menu endpoint
S1M0N38 Nov 17, 2025
1b06580
feat(lua.endpoints): add save endpoint
S1M0N38 Nov 17, 2025
f8fdd97
feat(lua.endpoints): add start endpoint
S1M0N38 Nov 17, 2025
eb37ae8
test(lua.endpoints): add test for gamestate endpoint
S1M0N38 Nov 17, 2025
db70dfc
test(lua.endpoints): update tests for health endpoint
S1M0N38 Nov 17, 2025
6f21b94
test(lua.endpoints): add test for load endpoint
S1M0N38 Nov 17, 2025
57481b4
test(lua.endpoints): add test for menu endpoint
S1M0N38 Nov 17, 2025
743e6c8
test(lua.endpoints): add save endpoint tests
S1M0N38 Nov 17, 2025
2c7387e
test(lua.endpoints): add tests for start endpoint
S1M0N38 Nov 17, 2025
86b4424
test(lua.core): add delay to prevent server from overwhelming
S1M0N38 Nov 17, 2025
6aebc4a
feat: add gamestate menu and start endpoints to balatrobot loading
S1M0N38 Nov 17, 2025
389e8b6
test(fixtures): update script to generate fixtures for all endpoints
S1M0N38 Nov 17, 2025
d4f4b4c
chore: lock uv.lock
S1M0N38 Nov 17, 2025
dd989d7
chore: remove reruns pytest option from pyproject.toml
S1M0N38 Nov 17, 2025
af50437
fix(lua.endpoints): add check state loading for load endpoint
S1M0N38 Nov 18, 2025
95d230c
fix(lua.endpoints): fix start endpoint check condition
S1M0N38 Nov 18, 2025
a2ab93c
refactor(lua.endpoints): update Blind type
S1M0N38 Nov 18, 2025
f6c3e27
tests(fixtures): simplify fixture generation script
S1M0N38 Nov 18, 2025
3a2722e
feat(lua.endpoints): add skip endpoint
S1M0N38 Nov 18, 2025
68dee0e
test(lua.endpoints): add skip endpoint tests
S1M0N38 Nov 18, 2025
b02b675
feat: add new skip endpoint to balatrobot.lua
S1M0N38 Nov 18, 2025
5e4d071
fix(utils): improve gamestate get_blinds_info and make it public
S1M0N38 Nov 18, 2025
da89ca8
fix(lua.endpoints): fix type annotation for skip endpoint
S1M0N38 Nov 18, 2025
c5fdab6
test(fixtures): add fixtures generation for select endpoint
S1M0N38 Nov 18, 2025
0414d33
feat: add select endpoint to balatrobot.lua
S1M0N38 Nov 18, 2025
37e4dec
feat(lua.endpoints): add select endpoint
S1M0N38 Nov 18, 2025
95ae7a9
test(lua.endpoints): add test for select endpoint
S1M0N38 Nov 18, 2025
b1385ab
chore: remove unused code in skip endpoint test
S1M0N38 Nov 18, 2025
96e4e44
fix(lua.endpoints): add return after error in skip endpoint
S1M0N38 Nov 18, 2025
d7bb418
feat(lua.endpoints): add types for args for various endpoints
S1M0N38 Nov 19, 2025
54561d2
feat(core): add boolean and table types to validator
S1M0N38 Nov 19, 2025
c38e1f9
test(lua.core): add test for boolean type validation
S1M0N38 Nov 19, 2025
b80af60
fix(utils): add won field to gamestate
S1M0N38 Nov 20, 2025
926701c
chore(lua.utils): be more explicit about blinds types
S1M0N38 Nov 20, 2025
cc64ec9
test(lua): set timout to 5 seconds in the api function
S1M0N38 Nov 20, 2025
777e131
style(lua.endpoints): use BB_GAMESTATE and BB_ERRORS globals variables
S1M0N38 Nov 20, 2025
75917ae
chore: define pytest dev marker
S1M0N38 Nov 20, 2025
35771dc
chore(Makefile): add PYTEST_MARKER and restart balatro when generatin…
S1M0N38 Nov 20, 2025
b21058a
fix: kill processes on a specific port in balatro.py
S1M0N38 Nov 20, 2025
72636f4
feat(lua.endpoints): add play endpoint
S1M0N38 Nov 20, 2025
3c5a82b
test(lua.endpoints): add tests for play endpoint
S1M0N38 Nov 20, 2025
19a0a51
feat(lua.utils): add gamestate.check_game_over()
S1M0N38 Nov 20, 2025
c20dfb4
chore: remove old editor configs
S1M0N38 Nov 20, 2025
c0aeeb5
feat(lua.endpoints): add cash out endpoint
S1M0N38 Nov 20, 2025
58e140a
test(lua.endpoints): add test for cash_out endpoint
S1M0N38 Nov 20, 2025
3919fa3
fix: add GAME_OVER check to love.update
S1M0N38 Nov 20, 2025
eb1c924
fix(lua.endpoint): properly wait for SHOP state
S1M0N38 Nov 24, 2025
19f3a21
fix(lua.endpoints): properly wait for ROUND_EVAL and SHOP states in load
S1M0N38 Nov 24, 2025
f2184e7
fix(lua.endpoints): properly wait for ROUND_EVAL state
S1M0N38 Nov 24, 2025
10934b4
chore(lua.utils): update TODOs
S1M0N38 Nov 24, 2025
2a2ecc4
chore: formatting balatro.py
S1M0N38 Nov 24, 2025
41c1dcf
test(fixtures): add --overwrite flag and add fixtures for new tests
S1M0N38 Nov 24, 2025
8084d63
feat(lua.endpoints): add set endpoint
S1M0N38 Nov 24, 2025
bcddf1f
test(lua.endpoints): add tests for set endpoint
S1M0N38 Nov 24, 2025
9a7a8d3
feat(lua.utils): add booster packs to gamestate
S1M0N38 Nov 24, 2025
aca15de
refactor(lua.utils): convert all enums to uppercase
S1M0N38 Nov 24, 2025
ba36e48
test(lua.endpoints): add multi-set test for set endpoint
S1M0N38 Nov 24, 2025
7e25460
feat(lua.endpoints): add discard endpoint
S1M0N38 Nov 24, 2025
4e17245
test(fixtures): add fixtures for discard endpoint tests
S1M0N38 Nov 24, 2025
d7024c3
test(lua.endpoints): add tests for discard endpoint
S1M0N38 Nov 24, 2025
2b699f1
chore(lua.endpoints): format imports in test_discard.py
S1M0N38 Nov 24, 2025
5ea895d
feat(lua.endpoints): add next_round endpoint
S1M0N38 Nov 24, 2025
27344f2
test(fixtures): add fixtures for next_round tests
S1M0N38 Nov 24, 2025
81ce318
test(lua.enpoints): add next_round endpoint tests
S1M0N38 Nov 24, 2025
8a3c5c5
chore(lua.enpoints): remove dev mark from next_round tests
S1M0N38 Nov 24, 2025
1fefae7
feat(lua.endpoints): add reroll endpoint
S1M0N38 Nov 24, 2025
f6317ca
test(fixtures): add fixture for reroll tests
S1M0N38 Nov 24, 2025
1b7d9d7
test(lua.endpoints): add test for reroll endpoint
S1M0N38 Nov 24, 2025
ef600e6
chore(lua.endpoints): remove unused imports from test_play
S1M0N38 Nov 24, 2025
67f5808
fix(lua.endpoints): properly check that the items in shop loaded
S1M0N38 Nov 24, 2025
3c1195a
feat(lua.utils): improve enums in gamestate
S1M0N38 Nov 25, 2025
4283eb5
feat(lua.utils): add pack field to gamestate
S1M0N38 Nov 25, 2025
3872f44
feat(lua.endpoints): add buy endpoint
S1M0N38 Nov 25, 2025
7b97f62
test(lua.endpoints): add tests for buy endpoint
S1M0N38 Nov 25, 2025
1fe44ba
test(fixtures): add fixtures for buy endpoint tests
S1M0N38 Nov 25, 2025
b4489fc
refactor(fixtures): refactor fixtures generation using JSON
S1M0N38 Nov 26, 2025
41ebb14
test(lua.endpoints): use fixtures instead of menu endpoint in cash_ou…
S1M0N38 Nov 26, 2025
21fcd96
refactor(lua.utils): remove overwrite argument from generate_fixture
S1M0N38 Nov 26, 2025
cb9a52b
test(lua): add load_fixture helper function
S1M0N38 Nov 26, 2025
fde8936
test(lua.endpoints): update tests to use the new load_fixture function
S1M0N38 Nov 26, 2025
0c5f154
test(lua.endpoints): fix test_load using load_fixture function
S1M0N38 Nov 26, 2025
f5f9340
fix(lua.endpoints): remove no_delete flag from events for which it is…
S1M0N38 Nov 26, 2025
6d7f20b
chore(fixtures): remove unused argparse import
S1M0N38 Nov 26, 2025
db1f2d6
fix(fixtures): add $schema to fixtures schema
S1M0N38 Nov 26, 2025
665d5c1
feat(lua.endpoints): add rearrange endpoint
S1M0N38 Nov 27, 2025
a1a3f97
test(fixtures): add rearrange fixtures
S1M0N38 Nov 27, 2025
ca9b1ba
test(lua.endpoints): add test for rearrange endpoint
S1M0N38 Nov 27, 2025
3eceba0
test(lua.endpoints): fix assertion for rearrange endpoint for valid p…
S1M0N38 Nov 27, 2025
43ad5e1
fix(lua.endpoints): wait for blind_select to properly finish
S1M0N38 Nov 27, 2025
5595b7e
feat(lua.endpoints): add sell endpoint
S1M0N38 Nov 27, 2025
80f2253
test(fixtures): add fixtures for sell tests
S1M0N38 Nov 27, 2025
048b277
test(lua.endpoints): add tests for sell endpoint
S1M0N38 Nov 27, 2025
b8e36c1
chore(lua.endpoints): remove unused pytest import
S1M0N38 Nov 27, 2025
7d04404
feat(utils.gamestate): fix rank and suit and add key field to Card
S1M0N38 Nov 27, 2025
d477d66
feat(lua.utils): move enums to enums.lua and add Card.Key enums
S1M0N38 Nov 27, 2025
ca82931
refactor(lua.utils): move enums to a enums.lua and update enums in types
S1M0N38 Nov 27, 2025
d5e5e9c
feat(lua.endpoints): add `add` endpoint
S1M0N38 Nov 27, 2025
2097cb8
test(fixtures): add fixtures for add endpoint tests
S1M0N38 Nov 27, 2025
059aa3b
test(lua.endpoints): add tests for `add` endpoint
S1M0N38 Nov 27, 2025
98bd561
fix(lua.endpoints): use of area.config.card_count which is more reliable
S1M0N38 Nov 27, 2025
82c1003
fix(lua.endpoints): skip materialize and check CONTROLLER state in `a…
S1M0N38 Nov 28, 2025
d30a991
fix(lua.endpoints): short circuit load if controller is locked or sta…
S1M0N38 Nov 28, 2025
766d90c
fix(lua.utils): remove " Card" suffix from enhancement in gamestate
S1M0N38 Nov 28, 2025
48fa0a1
feat(lua.endpoints): add `use` endpoint
S1M0N38 Nov 28, 2025
338fe75
test(fixtures): add fixture for `use` endpoint tests
S1M0N38 Nov 28, 2025
a6f6a20
test(lua.endpoints): add test for `use` endpoint
S1M0N38 Nov 28, 2025
abbec83
feat(lua.utils): add BB_API global namespace for calling endpoints vi…
S1M0N38 Nov 28, 2025
9099333
chore: improve startup time by move to workspace 3 after 1 sec
S1M0N38 Nov 28, 2025
ffefcd2
docs(lua.utils): be more explicit about supported modifiers
S1M0N38 Nov 28, 2025
01eff36
feat(lua.endpoints): add support for modifiers in the `add` endpoint
S1M0N38 Nov 29, 2025
97413ab
test(lua.endpoints): add test for modifier params for `add` endpoint
S1M0N38 Nov 29, 2025
21f47c9
docs(lua.utils): add missing descriptions to enums
S1M0N38 Nov 29, 2025
6de65f4
feat(lua.core): add state name lookup table
S1M0N38 Nov 29, 2025
c37a4b6
test(lua.endpoints): update test messages with new error messages
S1M0N38 Nov 29, 2025
e7db3f5
feat(lua.utils): new simplify error codes
S1M0N38 Nov 30, 2025
b1ec98d
refactor: update lua code to use simplified error codes
S1M0N38 Nov 30, 2025
2a123be
refactor(lua.endpoints): update types for endpoints params
S1M0N38 Dec 4, 2025
a930c90
feat(lua.utils): add request/response types
S1M0N38 Dec 4, 2025
5147611
refactor(lua.utils): rename errors form BB_ERRORS to BB_ERROR_NAMES a…
S1M0N38 Dec 4, 2025
e69c009
refactor(lua.endpoints): rename BB_ERRORS to BB_ERROR_NAMES
S1M0N38 Dec 4, 2025
89c71db
fix(lua.endpoints): fix test for `add` params validation types
S1M0N38 Dec 4, 2025
4714b91
chore: rewrite CLAUDE.md for BalatroBot v1
S1M0N38 Dec 4, 2025
5e494b1
fix(lua.utils): set the proper type for requires_state (`integer[]?`)
S1M0N38 Dec 4, 2025
0e154d4
chore(lua.settings): remove nil args from love.graphics.setShader
S1M0N38 Dec 4, 2025
8174168
fix(lua.utils): use Card.Value.Rank|Suit instead Rank|Suit
S1M0N38 Dec 4, 2025
09f49a5
chore(lua.endpoints): update expected error messages in tests
S1M0N38 Dec 4, 2025
43dc6ca
style(lua): make the code sytle consistent in the whole project
S1M0N38 Dec 5, 2025
55b8f2d
test(lua.core): update test to use JSON-RPC 2.0 format
S1M0N38 Dec 5, 2025
96cb272
test(lua.endpoints): update test for JSON-RPC 2.0 response format
S1M0N38 Dec 5, 2025
9296b01
feat(lua.utils): improve response and request types
S1M0N38 Dec 5, 2025
9e0910b
refactor(lua): make use of the new request/response format types
S1M0N38 Dec 5, 2025
3db1467
test(lua): define new assert helper functions
S1M0N38 Dec 5, 2025
d2f105c
test(lua): make use of the new assert helper functions
S1M0N38 Dec 5, 2025
82b4a23
style(lua): formatting lua conftest.py
S1M0N38 Dec 6, 2025
ade21ef
test(lua.endpoints): make use of assert_gamestate_response in tests
S1M0N38 Dec 6, 2025
017e463
feat(lua.endpoints): add screenshot endpoint
S1M0N38 Dec 6, 2025
3264152
feat(lua.utils): add screenshot endpoint types
S1M0N38 Dec 6, 2025
a9b11cb
test(fixtures): add screenshot endpoint fixtures for tests
S1M0N38 Dec 6, 2025
16961af
test(lua.endpoints): add screenshot endpoint tests
S1M0N38 Dec 6, 2025
24a5764
chore(lua.endpoints): remove unused imports in test_screenshot
S1M0N38 Dec 6, 2025
fa2f026
feat(lua.core): add rpc.discover endpoint to the dispatcher
S1M0N38 Dec 7, 2025
584aaf8
feat(lua.core): move from raw TCP to HTTP server
S1M0N38 Dec 7, 2025
39d6f5c
feat(lua.utils): update types with new dispatcher and server fields
S1M0N38 Dec 7, 2025
6f1c132
chore: add httpx to deps and update uv.lock
S1M0N38 Dec 7, 2025
efbd2d4
test(lua): update test helper functions to use httpx
S1M0N38 Dec 7, 2025
9ba587e
test(lua.core): update core tests to use httpx
S1M0N38 Dec 7, 2025
3849203
test(lua.endpoints): update test endpoints to use httpx client
S1M0N38 Dec 7, 2025
fecb299
feat(lua.utils): add openrpc.json schema
S1M0N38 Dec 7, 2025
325d037
chore: remove balatrobot python client
S1M0N38 Dec 8, 2025
d80b9ba
docs: update docs for new BalatroBot API
S1M0N38 Dec 8, 2025
e1ee819
chore: remove example bots using old balatrobot python client
S1M0N38 Dec 8, 2025
d80fba1
docs: add assets for balatrobot, balatrollm, and balatrobench
S1M0N38 Dec 8, 2025
d292aec
chore: remove old files from .mdformat.toml
S1M0N38 Dec 8, 2025
c086549
docs: setup favicon and logo for the docs
S1M0N38 Dec 8, 2025
977a1d2
chore: remove build system from pyproject.toml
S1M0N38 Dec 8, 2025
3187e0a
docs: add stirby to contributors in balatrobot.json
S1M0N38 Dec 8, 2025
e471cf0
docs: update the overview in README.md and update the main image
S1M0N38 Dec 8, 2025
4ae3480
chore: remove unused old files
S1M0N38 Dec 8, 2025
36435ab
chore: remove .envrc.example
S1M0N38 Dec 8, 2025
c8eda96
ci: remove PyPI release workflow
S1M0N38 Dec 9, 2025
1bf0cc7
docs: minor section rename in index.md
S1M0N38 Dec 9, 2025
5fd345c
docs: add docs/api.md
S1M0N38 Dec 9, 2025
34d576c
chore: add scripts_old to gitignore
S1M0N38 Dec 9, 2025
fd5dcef
feat(scripts): add Balatro launchers for Linux, macOS, and Windows
S1M0N38 Dec 9, 2025
0894fdb
chore: update gitignore with smods.wiki and remove scripts
S1M0N38 Dec 9, 2025
2b3eea4
docs: update installation guide with new launcher scripts
S1M0N38 Dec 9, 2025
c50fd03
feat: use balatro launcher script based on OS in Makefile
S1M0N38 Dec 9, 2025
abe7cf4
docs: add python syntax highlighting
S1M0N38 Dec 9, 2025
452dff2
style(scripts): fix linter errors
S1M0N38 Dec 9, 2025
987de25
docs: fix formatting for contributing.md
S1M0N38 Dec 9, 2025
369372c
docs: fix minor english issues
S1M0N38 Dec 9, 2025
97a13ce
chore: remove old tests for balatrobot python client
S1M0N38 Dec 9, 2025
89cbda9
feat(lua.utils): add CardKey schema to openrpc.json
S1M0N38 Dec 9, 2025
78812f7
feat(lua.utils): add descriptions to openrpc.json enums
S1M0N38 Dec 9, 2025
7be30b4
docs: add related projects and v1 warning
S1M0N38 Dec 10, 2025
7823086
refactor(fixtures): change endpoint to method and arguments to params
S1M0N38 Dec 11, 2025
e02ae34
fix: update makefile to use the correct path for basedpyright
S1M0N38 Dec 11, 2025
59ea3f1
refactor(fixtures): update the test scripts to use the new fixture keys
S1M0N38 Dec 11, 2025
abc2293
feat(fixtures): update generate.py to use httpx
S1M0N38 Dec 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
43 changes: 0 additions & 43 deletions .claude/commands/commit-msg.md

This file was deleted.

53 changes: 0 additions & 53 deletions .claude/commands/commit.md

This file was deleted.

3 changes: 0 additions & 3 deletions .claude/commands/test.md

This file was deleted.

51 changes: 0 additions & 51 deletions .cursor/rules/docs-formatting.mdc

This file was deleted.

Loading