git clone https://github.com/ppiankov/vectorpad.git
cd vectorpad
make build
make test- Go 1.24+
make build- build binarymake test- run tests with race detectionmake coverage- run tests with coverage reportmake lint- run golangci-lintmake fmt- format code
- Standard Go formatting (gofmt/goimports)
- Internal packages use short single-word names
- Comments explain "why" not "what"
- No magic numbers - name and document constants
- All errors must be checked
- Tests are mandatory for new code
- Run
make testbefore submitting (includes-race) - Deterministic tests only - no flaky or probabilistic tests
- Test files live alongside source files
- Conventional commits:
feat:,fix:,docs:,test:,refactor:,chore: - One line, max 72 chars, imperative mood
- Say what changed, not every detail of how
- One feature or fix per PR
- Include tests for new behavior
- Run
make lintandmake testbefore opening - Keep PRs focused - avoid unrelated changes
VectorPad uses a minimal cmd/vectorpad/main.go that delegates to internal/ packages. The TUI is built with Bubbletea. See the README for the full package map.
By contributing, you agree that your contributions will be licensed under the MIT License.