1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 16:49:41 +00:00
Files
Mole/CONTRIBUTING.md
2025-11-21 19:09:15 +08:00

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 --install for curl, tar, and related utilities
  • Go 1.24+ required when building the mo status or mo analyze TUI 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.sh and ./scripts/build-analyze.sh

Pull Requests

  1. Fork and create branch
  2. Make changes
  3. Run checks: ./scripts/check.sh
  4. Commit and push
  5. Open PR

CI will verify formatting, linting, and tests.