mirror of
https://github.com/tw93/Mole.git
synced 2026-02-04 18:34:46 +00:00
1.3 KiB
1.3 KiB
Contributing to Mole
Setup
# Install development tools
brew install shfmt shellcheck bats-core
Development
Run all quality checks before committing:
./scripts/check.sh
This command runs:
- Code formatting check
- ShellCheck linting
- Unit tests
Individual commands:
# Format code
./scripts/format.sh
# Run tests only
./tests/run.sh
Code Style
- Bash 3.2+ compatible
- 4 spaces indent
- Use
set -euo pipefail - Quote all variables
- BSD commands not GNU
Config: .editorconfig and .shellcheckrc
Requirements
- macOS 10.14 or newer, works on Intel and Apple Silicon
- Default macOS Bash 3.2+ plus administrator privileges for cleanup tasks
- Install Command Line Tools with
xcode-select --installfor curl, tar, and related utilities - Go 1.24+ required when building the
mo statusormo analyzeTUI binaries locally
Go Components
mo status and mo analyze use Go for the interactive dashboards.
- Format code with
gofmt -w ./cmd/... - Run
go test ./cmd/...before submitting Go changes (ensures packages compile) - Build universal binaries locally via
./scripts/build-status.shand./scripts/build-analyze.sh
Pull Requests
- Fork and create branch
- Make changes
- Run checks:
./scripts/check.sh - Commit and push
- Open PR
CI will verify formatting, linting, and tests.