Docs/Contributing/Contributing to PurePoint

Contributing to PurePoint

Quick start for contributors.

Setup

git clone https://github.com/2witstudios/purepoint.git
cd purepoint
just setup        # git hooks, Rust toolchain, swift-format check
just ci-rust      # fmt + lint + test + deny
just build-app    # build macOS app
just test-app     # run Swift tests

Prerequisites

RequirementVersionInstall
macOS26.1+(deployment target for app)
Rust1.88+rustup (auto-installed by just setup)
Xcode16.1+Mac App Store
justanybrew install just
swift-formatanybrew install swift-format (optional)
cargo-denyanycargo install cargo-deny (for dependency audit)

Build commands

CommandWhat it does
just fmtFormat all Rust code
just fmt-swiftFormat all Swift code
just lintRun clippy with warnings as errors
just testRun all Rust tests
just denyCheck dependency licenses and advisories
just ci-rustFull Rust CI: fmt + lint + test + deny
just build-appBuild macOS app (unsigned)
just test-appRun macOS app tests
just ciFull CI: ci-rust + build-app + test-app

Detailed guides

  • Architecture -- system diagram, crate map, data flow
  • Building -- Rust CLI, macOS app, debug vs release
  • Testing -- running and writing tests
  • Code Style -- formatting, linting, commit messages

Branch naming

Use pu/{name} for PurePoint branches.

Commit messages

Enforced by git hook. Format: type[(scope)]: Description starting with capital

Types: feat, fix, chore, docs, refactor, test, ci, perf, style, build

Examples:

feat: Add workspace pulse command
fix(cli): Resolve manifest parsing error
docs: Update CLI reference with missing commands

Max 72 characters, no trailing period, sentence case.

Pull requests

  • One feature per PR
  • All CI checks must pass
  • Follow the code review process in docs/process/code-review/