Thank you for your interest in contributing to DroboBridge! This project helps legacy Drobo owners continue using their devices with modern macOS.
- Check existing issues - Search GitHub Issues to avoid duplicates
- Use the bug report template - Fill out all required sections
- Include diagnostics - Export a diagnostic bundle from the app (Diagnostics → Export)
- Describe the environment - macOS version, Drobo model, filesystem type
- Open a feature request issue - Use the feature request template
- Explain the use case - Why would this be helpful for Drobo users?
- Consider scope - DroboBridge focuses on mounting and file access, not RAID management
- Fork the repository
- Create a feature branch -
git checkout -b feature/your-feature-name - Follow the code style - Match existing patterns in the codebase
- Add tests - Cover new functionality with unit tests
- Update documentation - Update README if adding user-facing features
- Submit a pull request - Use the PR template
- macOS 13.0+ (Ventura or later)
- Xcode 15.0+
- XcodeGen (recommended)
# Clone your fork
git clone https://github.com/ringo380/DroboBridge.git
cd DroboBridge
# Generate Xcode project
xcodegen generate
# Build
xcodebuild -scheme DroboBridge -configuration Debug build
# Or open in Xcode
open DroboBridge.xcodeprojswift test
# or
xcodebuild test -scheme DroboBridge -destination 'platform=macOS'- Use Swift 5.9+ features where appropriate
- Follow Swift API Design Guidelines
- Use meaningful variable and function names
- Add documentation comments for public APIs
- Models - Data structures, keep logic minimal
- Services - Business logic, I/O operations
- Views - SwiftUI views, presentation only
- State - Observable coordinators for app state
DroboBridge is designed to be safe by default:
- Never add code that formats or erases disks
- Always validate operations through
SafetyGuard - Default to read-only operations
- Require explicit user confirmation for destructive actions
- Log all significant operations via audit log
Use clear, descriptive commit messages:
feat: Add drive bay visualization to Overview tab
- Create DriveBayView with 5-slot layout
- Add LED color indicators for drive status
- Integrate into OverviewTab
Prefixes:
feat:- New featurefix:- Bug fixdocs:- Documentation onlyrefactor:- Code restructuringtest:- Adding testschore:- Build/tooling changes
If you have a Drobo device:
- Test mounting - Verify mount/unmount works correctly
- Test file operations - Only on non-critical data!
- Test diagnostics - Ensure diagnostic export captures useful info
- Report Drobo model - Different models may have quirks
- Open a Discussion
- Tag your issue with
questionlabel
By contributing to DroboBridge, you agree that your contributions will be licensed under the MIT License.