Files
Faro/README.md
T

168 lines
5.3 KiB
Markdown
Raw Normal View History

2026-06-15 09:41:14 +03:00
# Faro
> *A lighthouse for your knowledge. Local-first snippet and knowledge management for developers.*
Faro is a desktop app for capturing, organizing, and retrieving developer snippets: code, CLI commands, and notes. The core philosophy is **dump-first, organize-later**: zero friction on capture, smart retrieval when you need it.
Built with Tauri v2 + Svelte 5.
## Download
<p align="center">
<a href="https://github.com/bogdancornescu/Faro/releases/latest">
<img src="https://img.shields.io/github/v/release/bogdancornescu/Faro?style=for-the-badge&label=Latest+Release&color=7c3aed" alt="Latest Release" />
</a>
</p>
<p align="center">
<a href="https://github.com/bogdancornescu/Faro/releases/latest">
<img src="https://img.shields.io/badge/Windows-x64_installer-0078d4?style=for-the-badge&logo=windows&logoColor=white" alt="Download for Windows" />
</a>
&nbsp;&nbsp;
<a href="https://github.com/bogdancornescu/Faro/releases/latest">
<img src="https://img.shields.io/badge/Linux-.deb_(Debian%2FUbuntu%2FMint)-e95420?style=for-the-badge&logo=linux&logoColor=white" alt="Download for Linux" />
</a>
</p>
##
2026-06-15 13:52:21 +03:00
![Main view](assets/faro_1.png)
2026-06-15 09:41:14 +03:00
---
## Philosophy
- **Dump first, organize later.** Capture friction kills the habit. Retrieval is the product.
- **Local-first.** Your snippets live on your machine. No accounts, no cloud, no sync.
- **Intentional minimalism.** Every feature cut is a feature that doesn't need maintaining.
---
## Features
### Quick Note
Global hotkey (`Ctrl+Shift+Space` by default) opens a focused floating window — anywhere, anytime, even when Faro's main window isn't focused. Paste your snippet, add a title and tags, save. It auto-detects the content type and language on save. No mode-switching, no navigation, no friction.
### Full-Text Search
FTS5-powered search across all snippet titles and content. Results update as you type.
### Auto Content Detection
2026-06-17 11:47:06 +03:00
highlight.js inspects content on save and automatically classifies it as `code`, `cli`, `text`, or `url`, plus detects the specific language (Rust, Python, bash, SQL, etc.) and creates system tags. URL detection triggers on single-line `http`/`https`/`ftp` content. You can override the type manually.
2026-06-15 09:41:14 +03:00
### Three-Panel Layout
2026-06-17 11:47:06 +03:00
**Left panel** — timeline navigation, content type filter (Code / CLI / Text / URL chips), tag browser with inline filter scoped to the active type, new snippet button, settings access.
2026-06-15 09:41:14 +03:00
2026-06-17 11:47:06 +03:00
**Center panel** — full-text search bar, snippet list with type icons, copy count badge, and 2-line previews; tag chips (user tags and auto-detected language tags are visually distinct). Snippets are ordered by most-copied first, then by recency.
2026-06-15 09:41:14 +03:00
2026-06-17 11:47:06 +03:00
**Right panel** — snippet content, directly editable in place. Explicit save keeps accidental edits from destroying data. A **Copy** button next to the content label copies to clipboard and increments the copy counter.
2026-06-15 09:41:14 +03:00
### Tag System
Two tag sources coexist on each snippet:
- **User tags**: whatever you type in the tags field
- **System tags**: auto-detected language labels (e.g. `rust`, `python`, `bash`)
Both are browsable from the left panel. Clicking a tag filters the center panel to matching snippets.
### Themes
Dark (default), Light, and Nord.
![Themes carousel](assets/faro_3.webp)
2026-06-15 09:41:14 +03:00
---
## Keyboard Shortcuts
### Main Window
| Shortcut | Action |
|---|---|
| `Ctrl+F` | Focus the search bar |
| `Ctrl+N` | New snippet |
| `↑` / `↓` | Navigate the snippet list |
### Quick Note Window
| Shortcut | Action |
|---|---|
| `Ctrl+Enter` | Save snippet |
| `Esc` | Discard and close |
### Global (system-wide)
| Shortcut | Action |
|---|---|
| `Ctrl+Shift+Space` | Open Quick Note (configurable) |
2026-06-15 13:52:21 +03:00
![Quick note](assets/faro_2.png)
2026-06-15 09:41:14 +03:00
---
## Settings
Open via the gear icon in the bottom-left corner.
| Setting | Description |
|---|---|
| **Global hotkey** | The system-wide shortcut that opens Quick Note. Default: `Ctrl+Shift+Space`. |
| **Editor font size** | Code area font size, 1024px. Previews live. |
| **Quick Note stay open** | When enabled, Quick Note clears and stays open after saving instead of closing. |
| **Theme** | Dark / Light / Nord. Previews live before saving. |
---
## Tech Stack
| Layer | Technology |
|---|---|
| Backend | Rust (Tauri v2) |
| Frontend | Svelte 5 + TypeScript |
| Database | SQLite via `rusqlite` + FTS5 |
| Language detection | highlight.js |
| UI font | IBM Plex Sans |
| Editor font | JetBrains Mono |
**Platform targets:** Windows (primary), Linux (secondary). No macOS.
---
## Building from Source
**Prerequisites:**
- [Rust toolchain](https://rustup.rs/) (stable)
- [Node.js](https://nodejs.org/) 18+
- [pnpm](https://pnpm.io/) (`npm install -g pnpm`)
- Tauri v2 system dependencies — see the [Tauri prerequisites guide](https://v2.tauri.app/start/prerequisites/) for your OS
**Install dependencies:**
```bash
pnpm install
```
**Run in development:**
```bash
pnpm tauri dev
```
**Build a release binary:**
```bash
pnpm tauri build
```
The installer/binary lands in `src-tauri/target/release/bundle/`.
---
## Name & Identity
**Faro** — Spanish/Portuguese for *lighthouse*. A reference tool that helps you find things. The purple accent aligns with dusk and lighthouse imagery, which is either a happy accident or destiny, depending on how dramatic you're feeling.
---
## License
[MIT](LICENSE)