A simple CLI for Pot Limit Sampyong 7 or Better (PLS7) Poker
Pot Limit Sampyong 7 or Better (PLS7, or Sampyong Hi-Lo) is a variant of poker that combines elements of traditional poker with unique rules and gameplay mechanics. It is played with a standard deck of cards and involves betting, bluffing, and strategic decision-making.
This guide will walk you through setting up the Go environment and the project itself.
You need Go version 1.23 or higher to run this application.
The easiest way to install Go on a Mac is by using Homebrew.
- If you don't have Homebrew, open your Terminal and install it with the following command:
/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))" - Once Homebrew is installed, install Go with this simple command:
brew install go
- Verify the installation by checking the version:
go version
Alternatively, you can download the official installer from the Go download page.
The recommended way to install Go on Windows is by using the official MSI installer.
- Visit the Go download page and download the MSI installer for Windows.
- Run the downloaded installer file. The setup wizard will guide you through the installation process.
- The installer will automatically add the Go binary to your system's PATH environment variable.
- To verify the installation, open a new Command Prompt or PowerShell window and type:
go version
Once Go is installed on your system, follow these steps to set up the project.
- Open your terminal or command prompt.
- Clone the repository to your local machine (replace the URL with the actual repository URL):
git clone [https://github.com/your-username/pls7-cli.git](https://github.com/your-username/pls7-cli.git)
- Navigate into the newly created project directory:
cd pls7-cli - Download the necessary dependencies listed in the project:
go mod tidy
That's it! You are now ready to run the application.
You can run the application using go run main.go with various flags to customize the game.
go run main.go [flags]The application accepts the following flags:
| Flag, Short | Type | Default | Description |
|---|---|---|---|
--rule, -r |
string |
"pls7" |
Game rule to use. Corresponds to a file in the /rules directory (e.g., pls7, pls, nlh). |
--difficulty, -d |
string |
"medium" |
AI difficulty (easy, medium, hard). |
--blind-up |
int |
2 |
The number of hands for blinds to increase. 0 disables blind-ups. |
--dev |
bool |
false |
Enables development mode for verbose logging. |
--outs |
bool |
false |
Shows hand outs for the human player. |
--help, -h |
bool |
false |
Shows the help message. |
# Start a standard PLS7 game with medium AI
go run main.go
# Start a PLS (Pot-Limit Sampyeong) game
go run main.go --rule pls
# Start a No-Limit Hold'em (NLH) game with easy AI and show outs
go run main.go -r nlh -d easy --outs
# Run in development mode for detailed logs
go run main.go --devgo build -o pls7 main.go# Simple test
go test ./...
# To run all tests in the project with verbose output
go test -v ./...- Architecture (EN)
- Architecture (KO)
- Directory Structure (EN)
- Directory Structure (KO)
- Development Plan (KO)
- Project Roadmap (KO)
This project is being actively developed with extensive use of AI tools such as GEMINI CLI, Claude Code, Codex, etc.
For basic development rules, please refer to the guidelines in docs/GEMINI_en.md. For Korean, refer to docs/GEMINI.md.