CLAUDE: Add X-Check commands to terminal client help system
Added documentation for 8 X-Check testing and gameplay commands that were implemented but missing from the help system: X-Check Testing Commands: - roll_jump: Roll jump dice for stolen base testing - test_jump: Test jump roll distribution statistics - roll_fielding: Roll fielding check dice for X-Check defensive plays - test_fielding: Test fielding roll distribution Testing & Development: - test_location: Test hit location distribution - rollback: Roll back the last N plays Interrupt Plays: - force_wild_pitch: Force a wild pitch interrupt play - force_passed_ball: Force a passed ball interrupt play Changes: - help_text.py: Added new command categories to show_command_list() - "X-Check Testing" section with 4 dice testing commands - "Interrupt Plays" section with 2 force commands - Moved test_location and rollback to "Testing & Development" - help_text.py: Added detailed HELP_DATA entries for all 8 commands - Complete usage, options, examples, and notes for each - Includes dice component explanations and expected distributions Users can now run 'help' to see all commands or 'help <command>' for detailed information about X-Check testing features. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
e6bd66ee39
commit
8fb740fe3e
@ -120,6 +120,22 @@ class HelpFormatter:
|
|||||||
# Testing
|
# Testing
|
||||||
console.print("[bold yellow]Testing & Development:[/bold yellow]")
|
console.print("[bold yellow]Testing & Development:[/bold yellow]")
|
||||||
console.print(" list_outcomes Show all available PlayOutcome values")
|
console.print(" list_outcomes Show all available PlayOutcome values")
|
||||||
|
console.print(" test_location Test hit location distribution")
|
||||||
|
console.print(" rollback Roll back the last N plays")
|
||||||
|
console.print()
|
||||||
|
|
||||||
|
# X-Check Testing (Dice Systems)
|
||||||
|
console.print("[bold yellow]X-Check Testing:[/bold yellow]")
|
||||||
|
console.print(" roll_jump Roll jump dice for stolen base testing")
|
||||||
|
console.print(" test_jump Test jump roll distribution")
|
||||||
|
console.print(" roll_fielding Roll fielding check dice")
|
||||||
|
console.print(" test_fielding Test fielding roll distribution")
|
||||||
|
console.print()
|
||||||
|
|
||||||
|
# Interrupt Plays
|
||||||
|
console.print("[bold yellow]Interrupt Plays:[/bold yellow]")
|
||||||
|
console.print(" force_wild_pitch Force a wild pitch interrupt play")
|
||||||
|
console.print(" force_passed_ball Force a passed ball interrupt play")
|
||||||
console.print()
|
console.print()
|
||||||
|
|
||||||
# Utilities
|
# Utilities
|
||||||
@ -347,6 +363,164 @@ HELP_DATA = {
|
|||||||
'examples': [
|
'examples': [
|
||||||
'clear'
|
'clear'
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
# X-Check Testing Commands
|
||||||
|
'roll_jump': {
|
||||||
|
'summary': 'Roll jump dice for stolen base testing',
|
||||||
|
'usage': 'roll_jump [LEAGUE]',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'LEAGUE',
|
||||||
|
'type': 'sba|pd',
|
||||||
|
'desc': 'League type (default: sba)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'roll_jump # Roll for SBA league',
|
||||||
|
'roll_jump pd # Roll for PD league'
|
||||||
|
],
|
||||||
|
'notes': 'Components: 1d20 check (1=pickoff, 2=balk, 3+=normal), 2d6 jump total'
|
||||||
|
},
|
||||||
|
|
||||||
|
'test_jump': {
|
||||||
|
'summary': 'Test jump roll distribution statistics',
|
||||||
|
'usage': 'test_jump [COUNT] [LEAGUE]',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'COUNT',
|
||||||
|
'type': 'integer',
|
||||||
|
'desc': 'Number of rolls to test (default: 10)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'LEAGUE',
|
||||||
|
'type': 'sba|pd',
|
||||||
|
'desc': 'League type (default: sba)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'test_jump # 10 rolls for SBA',
|
||||||
|
'test_jump 100 # 100 rolls for SBA',
|
||||||
|
'test_jump 50 pd # 50 rolls for PD'
|
||||||
|
],
|
||||||
|
'notes': 'Shows pickoff/balk/normal frequency and 2d6 distribution'
|
||||||
|
},
|
||||||
|
|
||||||
|
'roll_fielding': {
|
||||||
|
'summary': 'Roll fielding check dice for X-Check defensive plays',
|
||||||
|
'usage': 'roll_fielding <POSITION> [LEAGUE]',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'POSITION',
|
||||||
|
'type': 'P|C|1B|2B|3B|SS|LF|CF|RF',
|
||||||
|
'desc': 'Fielding position (required)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'LEAGUE',
|
||||||
|
'type': 'sba|pd',
|
||||||
|
'desc': 'League type (default: sba)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'roll_fielding SS # Roll for shortstop (SBA)',
|
||||||
|
'roll_fielding P pd # Roll for pitcher (PD)',
|
||||||
|
'roll_fielding CF # Roll for center field'
|
||||||
|
],
|
||||||
|
'notes': 'Components: 1d20 range, 3d6 error total, d100/special rare play check'
|
||||||
|
},
|
||||||
|
|
||||||
|
'test_fielding': {
|
||||||
|
'summary': 'Test fielding roll distribution for a position',
|
||||||
|
'usage': 'test_fielding <POSITION> [COUNT] [LEAGUE]',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'POSITION',
|
||||||
|
'type': 'P|C|1B|2B|3B|SS|LF|CF|RF',
|
||||||
|
'desc': 'Fielding position (required)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'COUNT',
|
||||||
|
'type': 'integer',
|
||||||
|
'desc': 'Number of rolls (default: 10)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'LEAGUE',
|
||||||
|
'type': 'sba|pd',
|
||||||
|
'desc': 'League type (default: sba)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'test_fielding SS # 10 rolls for shortstop',
|
||||||
|
'test_fielding 2B 100 # 100 rolls for second base',
|
||||||
|
'test_fielding CF 50 pd # 50 rolls for center field (PD)'
|
||||||
|
],
|
||||||
|
'notes': 'Shows rare play frequency, average range/error, and distribution stats'
|
||||||
|
},
|
||||||
|
|
||||||
|
'test_location': {
|
||||||
|
'summary': 'Test hit location distribution for an outcome',
|
||||||
|
'usage': 'test_location <OUTCOME> [HANDEDNESS] [COUNT]',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'OUTCOME',
|
||||||
|
'type': 'PlayOutcome',
|
||||||
|
'desc': 'PlayOutcome enum value (e.g., groundball_c)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'HANDEDNESS',
|
||||||
|
'type': 'L|R',
|
||||||
|
'desc': 'Batter handedness (default: R)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'COUNT',
|
||||||
|
'type': 'integer',
|
||||||
|
'desc': 'Number of samples (default: 100)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'test_location groundball_c',
|
||||||
|
'test_location groundball_c L',
|
||||||
|
'test_location flyout_b R 200'
|
||||||
|
],
|
||||||
|
'notes': 'Shows distribution of hit locations based on pull rates'
|
||||||
|
},
|
||||||
|
|
||||||
|
'rollback': {
|
||||||
|
'summary': 'Roll back the last N plays',
|
||||||
|
'usage': 'rollback <NUM_PLAYS>',
|
||||||
|
'options': [
|
||||||
|
{
|
||||||
|
'name': 'NUM_PLAYS',
|
||||||
|
'type': 'integer',
|
||||||
|
'desc': 'Number of plays to roll back (must be > 0)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'examples': [
|
||||||
|
'rollback 1 # Undo the last play',
|
||||||
|
'rollback 3 # Undo the last 3 plays',
|
||||||
|
'rollback 5 # Undo the last 5 plays'
|
||||||
|
],
|
||||||
|
'notes': 'Deletes plays from database and reconstructs state by replaying'
|
||||||
|
},
|
||||||
|
|
||||||
|
'force_wild_pitch': {
|
||||||
|
'summary': 'Force a wild pitch interrupt play',
|
||||||
|
'usage': 'force_wild_pitch',
|
||||||
|
'options': [],
|
||||||
|
'examples': [
|
||||||
|
'force_wild_pitch # Runner on 2nd advances to 3rd'
|
||||||
|
],
|
||||||
|
'notes': 'Advances all runners one base. This is an interrupt play (pa=0)'
|
||||||
|
},
|
||||||
|
|
||||||
|
'force_passed_ball': {
|
||||||
|
'summary': 'Force a passed ball interrupt play',
|
||||||
|
'usage': 'force_passed_ball',
|
||||||
|
'options': [],
|
||||||
|
'examples': [
|
||||||
|
'force_passed_ball # Runner on 1st advances to 2nd'
|
||||||
|
],
|
||||||
|
'notes': 'Advances all runners one base. This is an interrupt play (pa=0)'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user