{"id":46371032,"url":"https://github.com/rixinhahaha/snip","last_synced_at":"2026-04-05T05:03:32.733Z","repository":{"id":341272999,"uuid":"1168184085","full_name":"rixinhahaha/snip","owner":"rixinhahaha","description":"The visual communication layer between humans and AI agents. Capture, annotate, render diagrams, and organize with AI — powered by Electron and Ollama. macOS \u0026 Linux.   ","archived":false,"fork":false,"pushed_at":"2026-04-02T03:51:49.000Z","size":55060,"stargazers_count":63,"open_issues_count":3,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T01:43:17.822Z","etag":null,"topics":["ai","annotations","electron","linux","macos","menu-bar","mermaid","ollama","screenshot","semantic-search"],"latest_commit_sha":null,"homepage":"https://snipit.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rixinhahaha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T05:15:08.000Z","updated_at":"2026-04-02T03:51:52.000Z","dependencies_parsed_at":"2026-03-05T04:01:49.549Z","dependency_job_id":null,"html_url":"https://github.com/rixinhahaha/snip","commit_stats":null,"previous_names":["rixinhahaha/snip"],"tags_count":60,"template":false,"template_full_name":null,"purl":"pkg:github/rixinhahaha/snip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rixinhahaha%2Fsnip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rixinhahaha%2Fsnip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rixinhahaha%2Fsnip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rixinhahaha%2Fsnip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rixinhahaha","download_url":"https://codeload.github.com/rixinhahaha/snip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rixinhahaha%2Fsnip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31424932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","annotations","electron","linux","macos","menu-bar","mermaid","ollama","screenshot","semantic-search"],"created_at":"2026-03-05T04:00:21.691Z","updated_at":"2026-04-05T05:03:32.698Z","avatar_url":"https://github.com/rixinhahaha.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/icon.png\" alt=\"Snip\" width=\"128\" height=\"128\"\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://www.producthunt.com/products/snip-ai-powered-macos-screenshot-tool?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_campaign=badge-snip-ai-powered-macos-screenshot-tool-2\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1089620\u0026theme=dark\" alt=\"Snip on Product Hunt\" height=\"40\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Snip\n\n**Visual mode for Claude Code.** Also works with Cursor, Windsurf, Cline, and any AI coding CLI.\n\nInstall Snip, run `snip setup`, and your AI coding agent starts rendering diagrams and previews instead of describing them in text. Architecture? Sequence diagram. Data model? ER diagram. UI component? Rendered preview. All visual, all automatic.\n\nYou review what Claude renders — approve it, or annotate directly on screen. Circle what's wrong, add an arrow, write a note. Claude sees your annotations and iterates.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/demo.gif\" alt=\"Snip demo — agent renders a diagram, user reviews and approves\" width=\"720\"\u003e\n\u003c/p\u003e\n\n## How It Works\n\nSnip runs as a menu bar / system tray app with a CLI that any AI coding agent can call directly:\n\n```bash\n# Claude writes a Mermaid diagram to a file, then renders it for your review\nsnip render --format mermaid \u003c architecture.mmd\n\n# Claude renders an HTML component preview\nsnip render --format html \u003c preview.html\n\n# Open any image for annotated review\nsnip open screenshot.png --message \"Is the layout correct?\"\n\n# Search your screenshot library\nsnip search \"login page error\"\n```\n\nThe agent gets structured JSON back: `{ status: \"approved\" | \"changes_requested\", edited, path, text }`. You can annotate spatially, type text feedback, or just approve.\n\nBuilt for **Claude Code**. Also works with Cursor, Windsurf, Cline, and anything that can run a shell command. Ships an [MCP server](#mcp-server) for agents without shell access.\n\n## Install\n\n### macOS (Homebrew)\n\n```bash\nbrew install --cask rixinhahaha/snip/snip\n```\n\nOr download the DMG from [Releases](https://github.com/rixinhahaha/snip/releases) (Apple Silicon).\n\n### Linux\n\nDownload from [Releases](https://github.com/rixinhahaha/snip/releases):\n- **AppImage** (portable, any distro) — `Snip-x.y.z-x86_64.AppImage`\n- **deb** (Ubuntu/Debian) — `Snip-x.y.z-amd64.deb`\n\n## Use with Claude Code\n\n```bash\nsnip setup\n```\n\nThat's it. `snip setup` configures Claude Code to use visual output automatically — rules, the `/diagram` skill, and permissions. Next time you ask Claude about architecture, data models, or flows, it renders a diagram instead of describing it in text.\n\nTry `/diagram` in any Claude Code conversation to visualize what you're discussing.\n\n## CLI Reference\n\n| Command | What it does |\n|---------|-------------|\n| `snip setup` | Enable visual mode for Claude Code (and Cursor, Windsurf, Cline) |\n| `snip render --format mermaid` | Render Mermaid diagram from stdin, open for review |\n| `snip render --format html` | Render HTML from stdin, open for review |\n| `snip open \u003cpath\u003e` | Open any image for annotated review |\n| `snip search \u003cquery\u003e` | Search screenshot library by description |\n| `snip transcribe \u003cpath\u003e` | Extract text from an image via OCR |\n| `snip list` | List all saved screenshots with metadata |\n| `snip get \u003cpath\u003e` | Get metadata for a specific screenshot |\n| `snip organize \u003cpath\u003e` | Queue screenshot for AI categorization |\n| `snip categories` | List all categories |\n\nAll review commands (`render`, `open`) block until the user finishes and return structured JSON.\n\n## MCP Server\n\nFor agents without shell access (Claude Desktop, hosted environments), Snip also ships an MCP server:\n\n```json\n{\n  \"mcpServers\": {\n    \"snip\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/snip/src/mcp/server.js\"]\n    }\n  }\n}\n```\n\nThe MCP server exposes the same capabilities: `render_diagram`, `open_in_snip`, `search_screenshots`, `list_screenshots`, `get_screenshot`, `transcribe_screenshot`, `organize_screenshot`, `get_categories`, `install_extension`.\n\n## Also a Screenshot Tool\n\nSnip is a full screenshot + annotation app on its own:\n\n- **Cmd+Shift+2** (macOS) / **Ctrl+Shift+2** (Linux) — Capture with region select or window snap\n- **Cmd+Shift+1** / **Ctrl+Shift+1** — Quick Snip (capture straight to clipboard)\n- **Annotate** — Rectangle, arrow, text, tag, blur brush, AI segment\n- **Esc** — Copy to clipboard and close\n- **Cmd+S** — Save to disk + AI organizes in background\n\nAI organization uses a local vision LLM (via [Ollama](https://ollama.com/download)) to name, categorize, and tag every saved screenshot. Semantic search finds any screenshot by describing what was in it.\n\n## Key Shortcuts\n\nOn Linux, replace Cmd with Ctrl.\n\n| Shortcut | Action |\n|----------|--------|\n| Cmd+Shift+2 | Capture screenshot |\n| Cmd+Shift+1 | Quick Snip (select \u0026 copy to clipboard) |\n| Cmd+Shift+S | Open semantic search |\n| Cmd+S | Save to disk (in editor) |\n| Esc / Enter | Copy to clipboard \u0026 close (in editor) |\n| V / R / T / A / G / B / S | Select / Rectangle / Text / Arrow / Tag / Blur / Segment tools |\n\n## Development\n\n```bash\nnpm install\nnpm run rebuild   # compile native modules (macOS)\nnpm start         # launch (tray icon appears)\n```\n\nRequires **macOS 14+** or **Linux (Wayland)**, **Node.js 18+**.\n\n## Documentation\n\n| Doc | Contents |\n|-----|----------|\n| [`docs/PRODUCT.md`](docs/PRODUCT.md) | Vision, feature specs, terminology |\n| [`docs/DESIGN.md`](docs/DESIGN.md) | Color palettes, component patterns, glass effects |\n| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | Code structure, IPC channels, data flow |\n| [`docs/DEVOPS.md`](docs/DEVOPS.md) | Build pipeline, signing, native modules |\n| [`docs/USER_FLOWS.md`](docs/USER_FLOWS.md) | Step-by-step flows, edge cases, test cases |\n\n## Tech Stack\n\nElectron 33 / Fabric.js 7 / Mermaid.js 11 / Ollama (local LLM) / HuggingFace Transformers.js / SlimSAM (ONNX)\n\nAll AI runs locally — no cloud APIs needed for core features.\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frixinhahaha%2Fsnip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frixinhahaha%2Fsnip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frixinhahaha%2Fsnip/lists"}