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¶
2. Run Tests¶
3. Test Changes¶
# Debug build
./target/debug/remote-juggler status
# With verbose output
./target/debug/remote-juggler --verbose list
4. Build Release¶
Code Style¶
- Use
prototype moduledeclarations - 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.