This Justfile provides easy commands to build and run BitChat natively on macOS while preserving the original project configuration.
# Build and run the app
just run
# Or see all available commands
justjust run- Build and run the macOS appjust build- Build the macOS app onlyjust clean- Clean build artifacts and restore original filesjust check- Check prerequisites (XcodeGen, Xcode, etc.)just info- Show app information and requirements
The Justfile temporarily modifies project.yml to:
- Use your local development team ID (replaces
L3N5LHJD5Y) - Change bundle identifier to avoid conflicts (
chat.bitchat→com.local.bitchat) - Disable code signing for local development (
Automatic→Manual) - Exclude iOS-specific files from macOS build (
LaunchScreen.storyboard)
Original files are always preserved - modifications are only applied during builds and automatically cleaned up. The project files remain exactly as they are on the main branch.
- macOS 13.0+ (Ventura)
- Xcode (from App Store)
- XcodeGen (
brew install xcodegen) - Bluetooth LE capable Mac
- Physical device (Bluetooth doesn't work in simulator)
- Native macOS SwiftUI app - not a Catalyst port
- Bluetooth LE mesh networking - no internet required
- End-to-end encryption - X25519 + AES-256-GCM
- Store-and-forward messaging - works with offline peers
- Channel-based group chats - IRC-style commands
- Private messaging with delivery receipts
- Emergency wipe - triple-tap logo to clear all data
Once running:
- Set your nickname and start discovering nearby peers
- Use
/join #channelfor group chats - Use
/msg @userfor private messages - Use
/whoto see connected peers - Triple-tap the logo for emergency data wipe
The app creates a decentralized mesh network over Bluetooth LE that can span significant distances through multi-hop message relay.