{"id":47312466,"url":"https://github.com/reekta92/clin-rs","last_synced_at":"2026-07-22T21:00:56.100Z","repository":{"id":344962429,"uuid":"1183851079","full_name":"reekta92/clin-rs","owner":"reekta92","description":"Feature-packed TUI note management app inspired by Obsidian","archived":false,"fork":false,"pushed_at":"2026-07-22T10:48:01.000Z","size":4443,"stargazers_count":468,"open_issues_count":4,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-07-22T12:25:45.974Z","etag":null,"topics":["cli","graf","management","notes","obsidian","productivity-tools","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reekta92.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"MehmetDag"}},"created_at":"2026-03-17T02:25:00.000Z","updated_at":"2026-07-22T07:52:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/reekta92/clin-rs","commit_stats":null,"previous_names":["reekta92/clin-rs"],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/reekta92/clin-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reekta92%2Fclin-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reekta92%2Fclin-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reekta92%2Fclin-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reekta92%2Fclin-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reekta92","download_url":"https://codeload.github.com/reekta92/clin-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reekta92%2Fclin-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35777195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","graf","management","notes","obsidian","productivity-tools","tui"],"created_at":"2026-03-17T12:17:23.693Z","updated_at":"2026-07-22T21:00:56.093Z","avatar_url":"https://github.com/reekta92.png","language":"Rust","funding_links":["https://patreon.com/MehmetDag","https://www.patreon.com/MehmetDag/posts/clin-rs-project-163784358"],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"512\" height=\"512\" alt=\"clin logo\" src=\"https://github.com/user-attachments/assets/80248532-f055-4b8e-beda-1a3eaafbd0ba\" /\u003e\n\n# clin\n\n**A TUI reimagination of [Obsidian](https://obsidian.md/) — feature-packed note management in your terminal.**\n\n\u003cdiv align=\"center\"\u003e\n\n[![Patreon](https://img.shields.io/badge/Patreon-Support%20clin-f96854.svg?logo=patreon\u0026logoColor=white)](https://www.patreon.com/MehmetDag/posts/clin-rs-project-163784358)\n\n\u003c/div\u003e\n\n[![CI](https://github.com/reekta92/clin-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/reekta92/clin-rs/actions/workflows/ci.yml)\n[![Release](https://github.com/reekta92/clin-rs/actions/workflows/dispatch-release.yml/badge.svg)](https://github.com/reekta92/clin-rs/actions/workflows/dispatch-release.yml)\n[![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](LICENSE)\n[![MSRV: 1.88.0](https://img.shields.io/badge/MSRV-1.88.0-orange.svg)](https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/)\n[![GitHub release](https://img.shields.io/github/v/release/reekta92/clin-rs.svg?logo=github)](https://github.com/reekta92/clin-rs/releases)\n[![last commit](https://img.shields.io/github/last-commit/reekta92/clin-rs.svg)](https://github.com/reekta92/clin-rs/commits/main)\n\n\n\u003ca href=\"https://terminaltrove.com/clin\" title=\"This tool is Tool of The Week on Terminal Trove, The $HOME of all things in the terminal\"\u003e\u003cimg src=\"https://cdn.terminaltrove.com/media/badges/tool_of_the_week/svg/terminal_trove_tool_of_the_week_green_on_dark_grey_bg.svg\" alt=\"Terminal Trove Tool of The Week\" height=\"60\" /\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n## About\n`clin` is a free, open-source terminal note manager inspired by Obsidian. It packs Obsidian's core features — markdown editing and rendering, `.canvas` files, and a force-directed graph view — into a roughly 2-5 MB Rust binary with minimal resource use, while keeping the UI approachable.\n\nDrop an existing Obsidian vault into `clin` and it works out of the box. Image rendering, databases, and Obsidian plugins are not supported.\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/1de315ca-1585-4315-94b4-6e57c310b322\" alt=\"Notes view\" width=\"100%\"\u003e\u003cbr\u003e\u003csub\u003eNotes — grid layout with preview pane\u003c/sub\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/a1f56629-9c40-4151-95b3-e35494106c43\" alt=\"Graph view\" width=\"100%\"\u003e\u003cbr\u003e\u003csub\u003eGraph — force-directed node visualization\u003c/sub\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/ac972010-3a15-4faf-869a-11ea475e4ee0\" alt=\"Canvas view\" width=\"100%\"\u003e\u003cbr\u003e\u003csub\u003eCanvas — node/edge 2D canvas\u003c/sub\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/ac3291f2-21a9-452a-b603-366f1d8bd3fe\" alt=\"Editor view\" width=\"100%\"\u003e\u003cbr\u003e\u003csub\u003eEditor — text editor with markdown preview\u003c/sub\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eMore screenshots\u003c/b\u003e\u003c/summary\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/aa67af28-be2a-472d-ac08-6d50e31dcd1f\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/b15238a8-f5ca-4ca0-b476-ad949b9e7add\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/db546168-5f4d-45ed-a0b4-0187b090edb2\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/5e252087-d056-4adf-85ca-f0a322053ba3\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6cd3f836-674a-4c55-99c2-b286bc5c4245\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/e8c123dd-cc31-432b-a9ba-cd50300d79d8\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/d6ae988e-6016-4508-800f-ca534770e4d4\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/720ef7c4-0ccb-4de8-a320-aed5f5e717ab\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/fda03fa8-0c2d-420a-98a9-978dfec55bce\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/a38e8cb8-7e85-447a-8389-e6ab2e5829c0\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://github.com/user-attachments/assets/7bc4eadc-72a1-4b6c-8f68-5e6cdb849956\" alt=\"clin screenshot\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003c/details\u003e\n\n---\n\n## Highlights\n\n- **Notes view** — folder tree, tags, markdown preview pane (built-in renderer), search, filter, sort, pin, multi-select, trash management, file management (copy, paste, delete, rename, move), customizable bottom strip with activity heatmap, goals, and widget previews.\n- **Editor view** — built-in text editor with mouse support, line numbers, undo/redo, and **external editor** integration (VISUAL/EDITOR env or config). Markdown preview pane alongside editor.\n- **Graph view** — fully integrated force-directed graph visualization of your note corpus. Edges from `[[wikilinks]]`. Physics simulation, minimap, legend, search, configurable colors and layout. See [GRAPH_VIEW.md](docs/GRAPH_VIEW.md).\n- **Canvas view** — Obsidian-compatible `.canvas` file format. Place text/file/link/group nodes on an infinite 2D canvas, connect them with edges. Right-click context menu, drag, resize, zoom. See [CANVAS.md](docs/CANVAS.md).\n- **Draw view** — freehand drawing canvas with shapes (rect, ellipse, diamond, line, arrow), text, and eraser tool. `.draw` file format. See [DRAW.md](docs/DRAW.md).\n- **Content tree view** — view to see the content of a `.md` file as a tree with headers being the parents and content being the children.\n- **Git backup** — backup system using `git` as backend, initialize a repository and backup your notes automatically.\n- **Command palette** (Ctrl+P) — extensible action system with encrypt/decrypt, theme switcher, OCR paste, canvas/draw creation, graph view. See [COMMAND_PALETTE.md](docs/COMMAND_PALETTE.md).\n- **Theme system** — 19 built-in themes (default, TokyoNight, CatppuccinMocha, OneDark, Gruvbox, Dracula, Nord, RosePine, Everforest, Kanagawa, Solarized, Catppuccin Frappé, Catppuccin Macchiato, Rose Pine Moon, Gruvbox Material, GitHub Dark, Ayu Mirage, Synthwave '84, Material), transparent/solid backgrounds, per-color overrides. See [THEME_SYSTEM.md](docs/THEME_SYSTEM.md).\n- **Custom themes** — drop-in TOML themes in `~/.config/clin/themes/`, no recompile needed. See [THEME_SYSTEM.md](docs/THEME_SYSTEM.md).\n\n- **Encryption** — on-demand ChaCha20-Poly1305 AEAD per-note encryption. `.clin` files with plaintext frontmatter for fast summary loading. See [ENCRYPTION.md](docs/ENCRYPTION.md).\n- **Obsidian .canvas import** — existing Obsidian canvas files are read and rendered, **except for images**.\n- **Templates** — TOML-based note templates with variable substitution (`{date}`, `{time}`, `{weekday}`, etc.). See [TEMPLATES.md](docs/TEMPLATES.md).\n- **Goals system** — daily word-count and note-count goals with in-app progress bars. Configurable via `[goals]` config section and command palette.\n- **Import \u0026 conversion** — import File/CSV/JSON/URL/Clipboard content as a new note or append to the current note. PDF, DOCX, HTML converted via external tools.\n\n---\n\n## Dependencies\nThese are highly recommended for the best experience:\n- **A nerd font** — required for rendering **glyphs** which are highly used around the UI.\n- **A modern terminal** — such as `kitty`, `ghostty` etc.\n\n---\n\n## Optional Tools\n\nThese tools are **optional** — clin works without them:\n\n| Tool | Purpose | Package |\n|---|---|---|\n| `tesseract` | OCR paste (clipboard image → text) | `tesseract-ocr` |\n| `wl-clipboard` | Clipboard access (Wayland) | `wl-clipboard` |\n| `xclip` or `xsel` | Clipboard access (X11) | `xclip` |\n\n---\n\n## Installation\n\n\n\n| Platform | Method | Command |\n|---|---|---|\n| Any (from source) | Cargo build | `cargo build --release` |\n| Any | Cargo install | `cargo install clin-rs` |\n| Debian/Ubuntu (amd64) | `.deb` | `sudo dpkg -i clin-rs_*_amd64.deb` |\n| Debian/Ubuntu (arm64) | `.deb` | `sudo dpkg -i clin-rs_*_arm64.deb` |\n| Fedora/RHEL (x86_64) | `.rpm` | `sudo rpm -i clin-rs-*.x86_64.rpm` |\n| Fedora/RHEL (aarch64) | `.rpm` | `sudo rpm -i clin-rs-*.aarch64.rpm` |\n| Arch (local) | PKGBUILD | `makepkg -si` |\n| Arch | AUR | `yay -S clin-rs-bin` |\n| Nix | Flakes | `nix run github:reekta92/clin-rs` |\n| Linux (portable x86_64) | AppImage | `./clin-*-x86_64.AppImage` |\n| Linux (tar.gz x86_64) | binary | see details |\n| Linux (tar.gz aarch64) | binary | see details |\n| Windows | `.zip` | `Expand-Archive …` |\n| macOS (Apple Silicon) | `.dmg`/`.tar.gz` | see details |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eSource \u0026 Cargo\u003c/b\u003e (cargo build + cargo install)\u003c/summary\u003e\n\n### From Source\n```bash\ngit clone https://github.com/reekta92/clin-rs.git\ncd clin-rs\ncargo build --release\n```\n\n### With Cargo\n```bash\ncargo install clin-rs\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eDebian / Ubuntu\u003c/b\u003e (.deb, amd64 + arm64)\u003c/summary\u003e\n\n### Debian/Ubuntu (.deb)\nDownload the latest `.deb` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\nsudo dpkg -i clin-rs_*_amd64.deb\n```\n\n### Debian/Ubuntu (aarch64)\nDownload the latest `.deb` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\nsudo dpkg -i clin-rs_*_arm64.deb\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eFedora / RHEL\u003c/b\u003e (.rpm, x86_64 + aarch64)\u003c/summary\u003e\n\n### Fedora/RHEL (.rpm)\nDownload the latest `.rpm` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\nsudo rpm -i clin-rs-*.x86_64.rpm\n```\n\n### Fedora/RHEL (aarch64)\nDownload the latest `.rpm` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\nsudo rpm -i clin-rs-*.aarch64.rpm\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eArch Linux\u003c/b\u003e (PKGBUILD + AUR)\u003c/summary\u003e\n\n### Arch Linux (PKGBUILD)\nA `PKGBUILD` is included in the root of the repository.\n```bash\ngit clone https://github.com/reekta92/clin-rs.git\ncd clin-rs\nmakepkg -si\n```\n\n### Arch Linux (AUR)\n```bash\nyay -S clin-rs-bin\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eNix\u003c/b\u003e (Flakes)\u003c/summary\u003e\n\n### Nix (Flakes)\n*Note: Requires `nix-command` and `flakes` experimental features enabled.*\n\nRun directly:\n```bash\nnix run github:reekta92/clin-rs --extra-experimental-features \"nix-command flakes\"\n```\nInstall to profile:\n```bash\nnix profile install github:reekta92/clin-rs\n```\nAdd to your flake `inputs`:\n```nix\n{\n  inputs.clin.url = \"github:reekta92/clin-rs\";\n}\n```\nThen include `inputs.clin.packages.${system}.default` in your `environment.systemPackages` or `home.packages`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eAppImage\u003c/b\u003e (portable x86_64)\u003c/summary\u003e\n\n### AppImage\nDownload the latest `.AppImage` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\nchmod +x clin-*-x86_64.AppImage\n./clin-*-x86_64.AppImage\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLinux\u003c/b\u003e (tar.gz, x86_64 + aarch64)\u003c/summary\u003e\n\n### Other\nDownload the latest `.tar.gz` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\ntar -xzf clin-rs-x86_64-unknown-linux-gnu.tar.gz\nchmod +x clin\nmkdir -p ~/.local/bin\nmv clin ~/.local/bin/\n```\n\n### Other (aarch64)\nDownload the latest `.tar.gz` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```bash\ntar -xzf clin-rs-aarch64-unknown-linux-gnu.tar.gz\nchmod +x clin\nmkdir -p ~/.local/bin\nmv clin ~/.local/bin/\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWindows\u003c/b\u003e (.zip)\u003c/summary\u003e\n\n### Windows\nDownload the latest `.zip` from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n```powershell\nExpand-Archive -Path clin-rs-x86_64-pc-windows-msvc.zip -DestinationPath clin\ncd clin\n.\\clin.exe\n```\n\nWindows builds are provided but TUI glyph rendering depends on your terminal. [Windows Terminal](https://apps.microsoft.com/detail/9n0dx20hk701) is recommended for the best experience.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003emacOS\u003c/b\u003e (Apple Silicon)\u003c/summary\u003e\n\n### macOS (Apple Silicon)\nDownload the latest `.dmg` (or `.tar.gz`) from the [Releases](https://github.com/reekta92/clin-rs/releases) page.\n\n```bash\n# Using .dmg\nhdiutil attach clin-rs-aarch64-apple-darwin.dmg\ncp -r /Volumes/clin/clin.app /Applications/\nhdiutil detach /Volumes/clin\n\n# Or using .tar.gz\ntar -xzf clin-rs-aarch64-unknown-linux-gnu.tar.gz\nchmod +x clin\nmkdir -p ~/.local/bin\nmv clin ~/.local/bin/\n```\n\nApple Silicon only (no Intel build ships).\n\n\u003c/details\u003e\n\n\u003e **Rust not installed?** Run `curl https://sh.rustup.rs -sSf | sh` to install Rust.\n\n---\n\n## Quick Start\n\n```bash\n# Launch the interactive TUI\nclin\n\n# Create a quick note\nclin notes quick \"Meeting notes from today\" \"standup-2026-06-13\"\n\n# Create a note from a template\nclin notes new --template diary\n\n# Open a specific note\nclin notes open \"my-note\"\n```\n\nOnce inside the TUI: navigate with `j`/`k`, open notes with `Enter`, open the command palette with `Ctrl+P`, and view the graph with `Ctrl+G`. Press `?` for the full keybind reference.\n\n---\n\n## Features\n\n| View | Purpose | Key Actions |\n|---|---|---|\n| **List / Notes** | Browse, search, filter, manage notes | Grid/Tree layout, format chooser, folders, tags, sort, pin, markdown preview, search, trash, copy/move/delete |\n| **Editor** | Write and edit notes | Title + body, undo/redo, mouse support, line numbers, markdown preview pane, external editor |\n| **Graph** | Visualize note connections | Force-directed layout, [[wikilinks]] edges, physics, preview pane, minimap, legend, search, grid, configurable colors |\n| **Backup** | Git-based vault versioning | Status (staged/unstaged), commit history, diff preview, auto-push, remote sync |\n| **Canvas** | Obsidian-compatible node/edge canvas | Text/file/link/group nodes, edges, drag/resize, context menu, raw JSON editor |\n| **Draw** | Freehand drawing and shapes | Stroke, rect/ellipse/diamond/line/arrow, text, eraser, pan/zoom |\n| **Content Tree** | Note outline and navigation | Header-based tree parsing, collapsible sections, jump-to-section |\n| **Setup Wizard** | First-run onboarding / reopenable via palette | Theme/background/hint-bar/icon-mode/keybind-preset cycling with live markdown preview |\n\n| Feature | Description |\n|---|---|\n| **Command Palette** (Ctrl+P) | Extensible action system: encrypt, decrypt, theme switch, OCR paste, create canvas/draw, open graph |\n| **Encryption** | Per-note ChaCha20-Poly1305, `.clin` files, on-demand encrypt/decrypt, zero-knowledge |\n| **Templates** | TOML-based with `{date}`, `{time}`, `{weekday}` variables |\n| **Themes** | 19 built-in themes, transparent/solid backgrounds, per-color overrides, Nerd Font/Unicode/None icon modes, powerline/classic hint bar styles |\n| **Goals** | Daily word-count and note-count goals with in-app progress bars, configurable via `[goals]` |\n| **Import** | File/CSV/JSON/URL/Clipboard → new note or append to current; PDF/DOCX/HTML via external converters |\n| **Keybinds** | Fully customizable via keybinds.toml, with Helix/Vim/Emacs presets |\n| **OCR** | Clipboard image to text via `tesseract` (optional dependency) |\n\n---\n\n## Configuration\n\n`~/.config/clin/config.toml` -\u003e main configuration file (includes theme, graph settings, etc.)\n`~/.config/clin/keybinds.toml` -\u003e keybind configuration file\n\nSee the [full configuration reference](docs/CONFIG_REFERENCE.md) for all available options and [keybind presets](docs/KEYBIND_PRESETS.md) for editor-style presets.\n\n### config.toml example\n\n```toml\n# General settings\nstorage_path = \"/path/to/your/vault\"\nmouse_enabled = true\nconfirm_on_delete = true\nconfirm_on_quit = false\n\n[list]\npreview_enabled = true\npreview_position = \"right\"\npreview_encryption = false\nshow_date_in_list = true\nshow_file_size = false\ndate_format = \"%Y-%m-%d\"\ndensity = \"comfortable\"\ndefault_view = \"grid\"\ndefault_sort_field = \"title\"\ndefault_sort_order = \"ascending\"\npinned_on_top = true\ncalendar_enabled = true\n\n[editor]\nexternal_command = \"nvim\"\nexternal_enabled = false\npreview_enabled = false\nshow_line_numbers = true\n\n[ui]\ntheme = \"tokyo_night\"\nbackground = \"transparent\"\nshow_status_bar = true\nicon_mode = \"nerd\"\nhint_bar_style = \"classic\"\n# accent = \"#ff6600\"\n```\n\n\nSee [THEME_SYSTEM.md](docs/THEME_SYSTEM.md) for theme options and [CONFIG_REFERENCE.md](docs/CONFIG_REFERENCE.md) for all options and sections.\n\n### keybinds.toml example\n\nSee the [full keybinds reference](docs/CONFIG_REFERENCE.md) for all available actions and defaults.\n\n```toml\n[list]\nmove_up = [\"Up\", \"k\"]\nmove_down = [\"Down\", \"j\"]\nopen = [\"Enter\"]\ndelete = [\"d\", \"Delete\"]\nquit = [\"q\"]\nhelp = [\"?\", \"F1\"]\nopen_command_palette = [\"Ctrl+p\", \"Shift+Enter\"]\n# ... see CONFIG_REFERENCE.md for full list\n\n[edit]\nback = [\"Esc\"]\ncycle_focus = [\"Tab\"]\ncopy = [\"Ctrl+c\", \"Ctrl+Insert\"]\n# ... see CONFIG_REFERENCE.md\n\n[graph]\nquit = [\"Esc\"]\npan_up = [\"Up\", \"k\"]\n# ... see CONFIG_REFERENCE.md\n```\n\n---\n\n## CLI Commands\n\n```\nclin                              Launch interactive TUI (default)\nclin notes list                   List note titles\nclin notes new [OPTIONS] [TITLE]  Create a note (supports --body, --no-tui)\nclin notes open \u003cTITLE\u003e           Open a note by title\nclin notes cat \u003cTITLE\u003e            Print a note's body to stdout\nclin notes quick \u003cCONTENT\u003e [TITLE] Quick note, then exit\nclin notes search \u003cQUERY\u003e         Search notes by title and content\n\nclin storage show                 Show storage path\nclin storage set \u003cPATH\u003e           Set a custom (absolute) storage path\nclin storage reset                Reset to default storage path\nclin storage migrate              Migrate data from a previous location\n\nclin keybinds show                Show keybindings\nclin keybinds export              Export keybinds as TOML\nclin keybinds reset               Reset keybinds to defaults\n\nclin templates list               List templates\nclin templates init               Create example templates\n\nclin config show                  Print the config file path\nclin config edit                  Open config in $VISUAL or $EDITOR\nclin config reset                 Reset config to default values\n\nclin --version                    Print version\nclin --config \u003cPATH\u003e              Override config file (global)\nclin --vault \u003cVAULT\u003e              Override the storage/vault path (global)\nclin --help                       Show help\n```\n\n---\n\n## Documentation\n\nFull technical documentation lives in [`docs/`](docs/INDEX.md):\n\n- [Architecture](docs/ARCHITECTURE.md) — system overview, event loop, threading model\n- [List View](docs/LIST_VIEW.md) — notes list view: Grid/Tree layout, format chooser, preview pane\n\n- [Configuration Reference](docs/CONFIG_REFERENCE.md) — all config.toml and keybinds.toml options\n- [Keybind Presets](docs/KEYBIND_PRESETS.md) — Helix, Vim, and Emacs presets and sequence syntax\n- [Graph View](docs/GRAPH_VIEW.md) — force-directed graph visualization\n- [Canvas](docs/CANVAS.md) — Obsidian-compatible canvas view\n- [Backup](docs/BACKUP.md) — Git-based backup dashboard: vault state, history, diff preview, automation\n\n- [Draw](docs/DRAW.md) — freehand drawing canvas\n- [Content Tree](docs/CONTENT_TREE.md) — nested outline navigation\n- [Encryption](docs/ENCRYPTION.md) — ChaCha20-Poly1305 per-note encryption\n- [Theme System](docs/THEME_SYSTEM.md) — built-in themes and customization\n- [Setup](docs/SETUP.md) — first-run setup wizard\n- [Command Palette](docs/COMMAND_PALETTE.md) — extensible action system\n- [Templates](docs/TEMPLATES.md) — TOML-based note templates\n\n## Stats\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://github-readme-activity-graph.vercel.app/graph?username=reekta92\u0026theme=tokyo-night\u0026area=true\u0026hide_total_contributions=false\" alt=\"Contribution activity\" width=\"100%\" /\u003e\n\u003c/div\u003e\n\n---\n\n## Roadmap\n\nSee [ROADMAP.md](ROADMAP.md) for planned features and progress.\n\n## Architecture\n\nFull detail in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).\n\n## Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Support\n\n`clin` is free and open-source. If it's useful to you, consider supporting its development on Patreon:\n\n[![Patreon](https://img.shields.io/badge/Patreon-Support%20clin-f96854.svg?logo=patreon\u0026logoColor=white)](https://www.patreon.com/MehmetDag/posts/clin-rs-project-163784358)\n\n## License\n\nLicensed under the [GNU General Public License v3.0](LICENSE).\n\n## Credits\n\nBuilt with [Ratatui](https://ratatui.rs), [Crossterm](https://github.com/crossterm-rs/crossterm), and [fdg-sim](https://github.com/grantshandy/fdg). Markdown preview via built-in comrak/syntect renderer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freekta92%2Fclin-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freekta92%2Fclin-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freekta92%2Fclin-rs/lists"}