balatrobot 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- balatrobot-0.6.0/.claude/commands/commit-msg.md +43 -0
- balatrobot-0.6.0/.claude/commands/commit.md +53 -0
- balatrobot-0.6.0/.claude/commands/test.md +3 -0
- balatrobot-0.6.0/.claude/settings.json +36 -0
- balatrobot-0.6.0/.cursor/rules/docs-formatting.mdc +51 -0
- balatrobot-0.6.0/.cursor/rules/python-development.mdc +602 -0
- balatrobot-0.6.0/.editorconfig +20 -0
- balatrobot-0.6.0/.envrc.example +9 -0
- balatrobot-0.6.0/.gitattributes +2 -0
- balatrobot-0.6.0/.github/workflows/code_quality.yml +66 -0
- balatrobot-0.6.0/.github/workflows/deploy_docs.yml +45 -0
- balatrobot-0.6.0/.github/workflows/release-pypi.yml +29 -0
- balatrobot-0.6.0/.github/workflows/release_please.yml +65 -0
- balatrobot-0.6.0/.gitignore +12 -0
- balatrobot-0.6.0/.gitmodules +0 -0
- balatrobot-0.6.0/.mdformat.toml +11 -0
- balatrobot-0.6.0/.python-version +1 -0
- balatrobot-0.6.0/.vscode/extensions.json +11 -0
- balatrobot-0.6.0/.vscode/settings.json +6 -0
- balatrobot-0.6.0/CHANGELOG.md +410 -0
- balatrobot-0.6.0/CLAUDE.md +111 -0
- balatrobot-0.6.0/LICENSE +21 -0
- balatrobot-0.6.0/Makefile +155 -0
- balatrobot-0.6.0/PKG-INFO +52 -0
- balatrobot-0.6.0/README.md +31 -0
- balatrobot-0.6.0/balatro.sh +462 -0
- balatrobot-0.6.0/balatrobot.json +21 -0
- balatrobot-0.6.0/balatrobot.lua +17 -0
- balatrobot-0.6.0/bots/example.py +45 -0
- balatrobot-0.6.0/bots/replay.py +170 -0
- balatrobot-0.6.0/docs/assets/balatrobot.svg +68 -0
- balatrobot-0.6.0/docs/balatrobot-api.md +141 -0
- balatrobot-0.6.0/docs/contributing.md +276 -0
- balatrobot-0.6.0/docs/developing-bots.md +147 -0
- balatrobot-0.6.0/docs/index.md +44 -0
- balatrobot-0.6.0/docs/installation.md +262 -0
- balatrobot-0.6.0/docs/logging-systems.md +119 -0
- balatrobot-0.6.0/docs/protocol-api.md +230 -0
- balatrobot-0.6.0/mkdocs.yml +89 -0
- balatrobot-0.6.0/pyproject.toml +56 -0
- balatrobot-0.6.0/runs/.gitkeep +0 -0
- balatrobot-0.6.0/src/balatrobot/__init__.py +21 -0
- balatrobot-0.6.0/src/balatrobot/client.py +483 -0
- balatrobot-0.6.0/src/balatrobot/enums.py +478 -0
- balatrobot-0.6.0/src/balatrobot/exceptions.py +166 -0
- balatrobot-0.6.0/src/balatrobot/models.py +402 -0
- balatrobot-0.6.0/src/balatrobot/py.typed +0 -0
- balatrobot-0.6.0/src/lua/api.lua +1535 -0
- balatrobot-0.6.0/src/lua/log.lua +526 -0
- balatrobot-0.6.0/src/lua/settings.lua +247 -0
- balatrobot-0.6.0/src/lua/types.lua +373 -0
- balatrobot-0.6.0/src/lua/utils.lua +1086 -0
- balatrobot-0.6.0/tests/balatrobot/conftest.py +21 -0
- balatrobot-0.6.0/tests/balatrobot/test_client.py +484 -0
- balatrobot-0.6.0/tests/balatrobot/test_exceptions.py +90 -0
- balatrobot-0.6.0/tests/balatrobot/test_models.py +30 -0
- balatrobot-0.6.0/tests/conftest.py +41 -0
- balatrobot-0.6.0/tests/lua/__init__.py +0 -0
- balatrobot-0.6.0/tests/lua/conftest.py +165 -0
- balatrobot-0.6.0/tests/lua/endpoints/__init__.py +0 -0
- balatrobot-0.6.0/tests/lua/endpoints/checkpoints/basic_shop_setup.jkr +3 -0
- balatrobot-0.6.0/tests/lua/endpoints/checkpoints/buy_cant_use.jkr +3 -0
- balatrobot-0.6.0/tests/lua/endpoints/checkpoints/plasma_deck.jkr +3 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_cash_out.py +65 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_get_gamestate.py +56 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_get_save_info.py +68 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_go_to_menu.py +33 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_load_save.py +58 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_play_hand_or_discard.py +277 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_rearrange_consumables.py +257 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_rearrange_hand.py +154 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_rearrange_jokers.py +195 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_sell_consumable.py +238 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_sell_joker.py +277 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_shop.py +582 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_skip_or_select_blind.py +230 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_start_run.py +100 -0
- balatrobot-0.6.0/tests/lua/endpoints/test_use_consumable.py +411 -0
- balatrobot-0.6.0/tests/lua/test_connection.py +119 -0
- balatrobot-0.6.0/tests/lua/test_log.py +207 -0
- balatrobot-0.6.0/tests/lua/test_protocol_errors.py +182 -0
- balatrobot-0.6.0/tests/runs/buy_joker.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/no_shop.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/rearrange_consumables.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/rearrange_jokers.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/sell_consumables.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/sell_jokers.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/shop_reroll.jsonl +3 -0
- balatrobot-0.6.0/tests/runs/use_consumable.planet.jsonl +3 -0
- balatrobot-0.6.0/uv.lock +918 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Generate a conventional commit message for the current staged changes.
|
|
2
|
+
|
|
3
|
+
Analyze the git diff of staged files and create a commit message following conventional commits specification:
|
|
4
|
+
|
|
5
|
+
**Format:** `<type>(<scope>): <description>`
|
|
6
|
+
|
|
7
|
+
**Types:**
|
|
8
|
+
|
|
9
|
+
- feat: new feature
|
|
10
|
+
- fix: bug fix
|
|
11
|
+
- docs: documentation
|
|
12
|
+
- style: formatting, missing semicolons, etc.
|
|
13
|
+
- refactor: code change that neither fixes a bug nor adds a feature
|
|
14
|
+
- test: adding or correcting tests
|
|
15
|
+
- chore: maintenance tasks
|
|
16
|
+
- ci: continuous integration changes
|
|
17
|
+
- revert: reverts a previous commit
|
|
18
|
+
|
|
19
|
+
**Scopes:**
|
|
20
|
+
|
|
21
|
+
- api: Lua API and Python API communication
|
|
22
|
+
- log: Logging and Replay functionality
|
|
23
|
+
- bot: Python bot framework and base classes
|
|
24
|
+
- examples: Example bots and usage samples
|
|
25
|
+
- dev: Development tools and environment
|
|
26
|
+
|
|
27
|
+
**Workflow:**
|
|
28
|
+
|
|
29
|
+
1. Run `git status` to see overall repository state. If there are are no staged changes, exit.
|
|
30
|
+
2. Run `git diff --staged` to analyze the actual changes
|
|
31
|
+
3. Run `git diff --stat --staged` for summary of changed files
|
|
32
|
+
4. Run `git log --oneline -10` to review recent commit patterns
|
|
33
|
+
5. Choose appropriate type and scope based on changes
|
|
34
|
+
6. Write concise description (50 chars max for first line)
|
|
35
|
+
7. Include body if changes are complex
|
|
36
|
+
8. Return the generated commit message enclosed in triple backticks
|
|
37
|
+
|
|
38
|
+
**Notes**
|
|
39
|
+
|
|
40
|
+
- Do not include emojis in the commit message.
|
|
41
|
+
- Do not include `🤖 Generated with [Claude Code](https://claude.ai/code)` in the commit message.
|
|
42
|
+
- If the list is empty, do not add any co-authors
|
|
43
|
+
- Include in the body of the commit message the following line as last line: `# Co-Authored-By: Claude <noreply@anthropic.com>`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Generate a conventional commit message for the current staged changes.
|
|
2
|
+
|
|
3
|
+
Analyze the git diff of staged files and create a commit message following conventional commits specification:
|
|
4
|
+
|
|
5
|
+
**Format:** `<type>(<scope>): <description>`
|
|
6
|
+
|
|
7
|
+
**Types:**
|
|
8
|
+
|
|
9
|
+
- feat: new feature
|
|
10
|
+
- fix: bug fix
|
|
11
|
+
- docs: documentation
|
|
12
|
+
- style: formatting, missing semicolons, etc.
|
|
13
|
+
- refactor: code change that neither fixes a bug nor adds a feature
|
|
14
|
+
- test: adding or correcting tests
|
|
15
|
+
- chore: maintenance tasks
|
|
16
|
+
- ci: continuous integration changes
|
|
17
|
+
- revert: reverts a previous commit
|
|
18
|
+
|
|
19
|
+
**Scopes:**
|
|
20
|
+
|
|
21
|
+
- api: Lua API and Python API communication
|
|
22
|
+
- log: Logging and Replay functionality
|
|
23
|
+
- bot: Python bot framework and base classes
|
|
24
|
+
- examples: Example bots and usage samples
|
|
25
|
+
- dev: Development tools and environment
|
|
26
|
+
|
|
27
|
+
**Workflow:**
|
|
28
|
+
|
|
29
|
+
1. Run `git status` to see overall repository state. If there are are no staged changes, exit.
|
|
30
|
+
2. Run `git diff --staged` to analyze the actual changes
|
|
31
|
+
3. Run `git diff --stat --staged` for summary of changed files
|
|
32
|
+
4. Run `git log --oneline -10` to review recent commit patterns
|
|
33
|
+
5. Choose appropriate type and scope based on changes
|
|
34
|
+
6. Write concise description (50 chars max for first line)
|
|
35
|
+
7. Include body if changes are complex
|
|
36
|
+
8. Commit the staged changes with the generated message
|
|
37
|
+
|
|
38
|
+
**Co-authors**
|
|
39
|
+
Here is the collection of all previous co-authors of the repo as reference (names and emails):
|
|
40
|
+
|
|
41
|
+
- claude: `Co-Authored-By: Claude <noreply@anthropic.com>`
|
|
42
|
+
|
|
43
|
+
Here is a list of the co-authors which contributed to this commit:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
$ARGUMENTS
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Notes**
|
|
50
|
+
|
|
51
|
+
- Do not include emojis in the commit message.
|
|
52
|
+
- Do not include `🤖 Generated with [Claude Code](https://claude.ai/code)` in the commit message.
|
|
53
|
+
- If the list is empty, do not add any co-authors
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(pytest:*)",
|
|
5
|
+
"Bash(ruff check:*)",
|
|
6
|
+
"Bash(ruff format:*)",
|
|
7
|
+
"Bash(basedpyright:*)"
|
|
8
|
+
],
|
|
9
|
+
"deny": [
|
|
10
|
+
"Edit(CHANGELOG.md)",
|
|
11
|
+
"MultiEdit(CHANGELOG.md)",
|
|
12
|
+
"Write(CHANGELOG.md)"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"hooks": {
|
|
16
|
+
"PostToolUse": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "Write|Edit|MultiEdit",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "stylua src/lua"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "command",
|
|
26
|
+
"command": "ruff check --select I --fix . && ruff format -s ."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "command",
|
|
30
|
+
"command": "mdformat ."
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
globs: docs/**/*.md
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: Documentation formatting guidelines for files in the docs directory
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Documentation Formatting Guidelines
|
|
8
|
+
|
|
9
|
+
When writing documentation files in the docs directory:
|
|
10
|
+
|
|
11
|
+
## Header Structure
|
|
12
|
+
|
|
13
|
+
- Use minimal header nesting - prefer level 1 (`#`) and level 2 (`##`) headers
|
|
14
|
+
- Level 3 headers (`###`) are allowed when they significantly improve readability and document structure
|
|
15
|
+
- **Method names, function signatures, and similar structured content** should use level 3 headers (`###`) for better navigation and clarity
|
|
16
|
+
- For other sub-sections that would normally be level 3 or deeper, consider using **bold text** or other formatting instead
|
|
17
|
+
- Preserve logical hierarchy and importance in your header structure
|
|
18
|
+
|
|
19
|
+
## Spacing Requirements
|
|
20
|
+
|
|
21
|
+
- Always leave a blank line after any title/header
|
|
22
|
+
- Always leave a blank line before any list (bulleted or numbered)
|
|
23
|
+
- This ensures proper visual separation and readability
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
Good formatting:
|
|
28
|
+
```markdown
|
|
29
|
+
# Main Title
|
|
30
|
+
|
|
31
|
+
Content here...
|
|
32
|
+
|
|
33
|
+
## Section Title
|
|
34
|
+
|
|
35
|
+
More content...
|
|
36
|
+
|
|
37
|
+
### Method Name or Structured Content
|
|
38
|
+
|
|
39
|
+
Detailed information...
|
|
40
|
+
|
|
41
|
+
- List item 1
|
|
42
|
+
- List item 2
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Avoid:
|
|
46
|
+
```markdown
|
|
47
|
+
# Main Title
|
|
48
|
+
Content immediately after title...
|
|
49
|
+
#### Excessive nesting
|
|
50
|
+
- List without spacing above
|
|
51
|
+
```
|