Developer Overview
Technical reference for Skelenote contributors.
Quick Start
Ship your first PR in 30 minutes.
1. Environment Setup
Prerequisites:
Node.js 18+
Rust (latest stable) - Install Rust
pnpm (recommended) or npm/yarn
Platform Specifics:
macOS:
xcode-select --installWindows: Microsoft C++ Build Tools and WebView2
Linux:
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-devMobile: Xcode 15+ (iOS), Android Studio (Android) - see Mobile Development
2. Clone & Install
git clone https://github.com/skeletor-js/skelenote.git
cd skelenote
pnpm install3. Run the App
The desktop app window should open in ~30 seconds. Note: Rust changes require restarting the dev server. React changes hot reload instantly.
4. Make a Change
Example: Add a Keyboard Shortcut Edit src/contexts/KeyboardShortcutsContext.tsx:
Example: Add a Tauri Command
Rust: Add function in
src-tauri/src/lib.rsand register ininvoke_handler.Frontend: Call it with
invoke('my_command', { ... }).
5. Test & Submit
Before pushing, ensure these pass:
Then create a PR using the template.
Project Overview
Tech Stack
Project Structure
Key Conventions
Code Style
Path aliases: Use
@/(e.g.,import { useObjects } from '@/contexts').UI: Use Mantine components, not raw HTML.
Icons: Use
lucide-react.Design: See Style Guide.
Testing
Rust tests: cd src-tauri && cargo test
See testing.md for the comprehensive testing guide.
Documentation Index
System design and data flow
Rust command reference
GitHub Actions and releases
Testing guide and benchmarks
iOS/Android setup
Development patterns and gotchas
Workflow details
Last updated