Skip to content

Development

Contributor guide for RemoteJuggler development.

Prerequisites

  • Chapel 2.6.0 or later
  • macOS or Linux development environment
  • Git
  • Just

Repository Structure

remote-juggler/
  src/
    remote_juggler.chpl      # Main entry point
    remote_juggler/          # Submodules
      Core.chpl
      Config.chpl
      Identity.chpl
      ...
  c_src/
    keychain.c               # macOS Keychain FFI
    keychain.h
  test/
    unit/                    # Unit tests
  scripts/
    run-tests.sh             # Test runner
  docs/                      # Documentation
  justfile                   # Build system
  Mason.toml                 # Chapel package config

Development Workflow

1. Clone and Build

git clone https://gitlab.com/tinyland/projects/remote-juggler.git
cd remote-juggler
just build

2. Run Tests

just test

3. Test Changes

# Debug build
./target/debug/remote-juggler status

# With verbose output
./target/debug/remote-juggler --verbose list

4. Build Release

just release

Code Style

  • Use prototype module declarations
  • 2-space indentation in Chapel
  • Descriptive function names
  • Document public interfaces with comments

Testing

See Testing for running tests.

Releasing

See Releasing for release process.