Files
Faro/README.md
T
BogdanandGitHub 41e756b05a Merge pull request #1 from bogdancornescu/bc_1
Add URL content type support and enhance snippet functionality
2026-06-17 11:50:16 +03:00

168 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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>
##
![Main view](assets/faro_1.png)
---
## 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
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.
### Three-Panel Layout
**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.
**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.
**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.
### 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)
---
## 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) |
![Quick note](assets/faro_2.png)
---
## 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)