Developer Overview

Technical reference for Skelenote contributors.

Quick Start

Ship your first PR in 30 minutes.

1. Environment Setup

Prerequisites:

Platform Specifics:

2. Clone & Install

git clone https://github.com/skeletor-js/skelenote.git
cd skelenote
pnpm install

3. 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

  1. Rust: Add function in src-tauri/src/lib.rs and register in invoke_handler.

  2. 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

Layer
Technology

Desktop Shell

Mobile

Tauri 2.0 mobile (iOS/Android)

Frontend

React 18 + TypeScript + Vite

Encryption

XChaCha20-Poly1305, BIP39

Hearth

mDNS/Bonjour + Direct TCP

Project Structure

Key Conventions

Code Style

Testing

Rust tests: cd src-tauri && cargo test

See testing.md for the comprehensive testing guide.

Documentation Index

Guide
Description

System design and data flow

Rust command reference

GitHub Actions and releases

Testing guide and benchmarks

iOS/Android setup

Development patterns and gotchas

Last updated