Prerequisites
Before you begin, ensure you have the following installed:Required Tools
- Node.js (v18 or later)
- Bun (package manager) - Install Bun
- Rust (stable toolchain) - Required for Tauri backend
- Install Rust
- Ensure
cargois in your PATH
Platform-Specific Dependencies
- macOS
- Linux
- Windows
No additional dependencies required. Xcode Command Line Tools are recommended:
Installation
Clone the repository
Clone the Philo repository and initialize submodules:
Philo uses a git submodule at
vendor/hyprnote for editor styling and file-saving mechanisms.Development Commands
Here are the most commonly used development commands:Frontend Development
Rust Development
Combined Checks
Run type checking and formatting together:bun run typecheck and dprint fmt.
Project Structure
Key directories and files:src/- React frontend source codesrc-tauri/- Rust backend (Tauri app)vendor/hyprnote/- Git submodule for editor componentspackage.json- JavaScript dependencies and scriptssrc-tauri/Cargo.toml- Rust dependenciesdprint.json- Code formatting configuration
Troubleshooting
Submodule Issues
If you encounter issues with thevendor/hyprnote submodule:
Rust Compilation Errors
Ensure you’re using the stable Rust toolchain:Bun Lock File Conflicts
If you see dependency conflicts:Next Steps
Building for Production
Learn how to build desktop apps for macOS, Windows, and Linux
Contributing Guidelines
Understand our commit discipline and contribution workflow