A modern Terminal User Interface (TUI) for GemStone IV, built with Go.
GemStone IV TUI provides a clean, efficient terminal-based interface for playing GemStone IV. This project focuses on providing a fast, responsive, and feature-rich client experience.
- Modern Go-based architecture
- Clean terminal user interface
- Comprehensive build system
- Automated testing and CI/CD
- Cross-platform support
- Go 1.23 or later
- Git
- Make (for build automation)
-
Clone the repository:
git clone https://github.com/trevor/gs4-tui.git cd gs4-tui -
Build the application:
make build
-
Run the application:
make run
-
Install development tools:
make dev-setup
-
Run tests:
make test -
Format and lint code:
make fmt make lint
| Command | Description |
|---|---|
make build |
Build the application |
make test |
Run tests |
make test-coverage |
Run tests with coverage report |
make fmt |
Format code |
make lint |
Run linter |
make vet |
Run go vet |
make clean |
Clean build artifacts |
make deps |
Download and tidy dependencies |
make install |
Install the application |
make run |
Run the application |
make dev-setup |
Set up development environment |
make all |
Run clean, fmt, lint, test, build |
make help |
Show help message |
make version |
Show version information |
gs4-tui/
├── cmd/
│ └── gs4-tui/ # Main application entry point
├── internal/
│ └── app/ # Core application logic
├── pkg/
│ └── version/ # Version information
├── configs/ # Configuration files
├── docs/ # Documentation
├── .github/
│ └── workflows/ # GitHub Actions CI/CD
├── Makefile # Build system
├── go.mod # Go module definition
└── README.md # This file
Run the test suite:
make testGenerate coverage report:
make test-coverage- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass:
make test - Format and lint your code:
make fmt && make lint - Submit a pull request
This project uses pre-commit hooks to ensure code quality. To install them:
pip install pre-commit
pre-commit installThe project uses GitHub Actions for continuous integration:
- Tests: Run on Go 1.23 and 1.24
- Linting: Code formatting and style checks
- Build: Multi-platform builds (Linux, macOS, Windows)
- Coverage: Test coverage reporting
This project is licensed under the MIT License - see the LICENSE file for details.
Current version: 0.1.0-dev
To check the version:
./bin/gs4-tui --version