A semantic icon library with intelligent tagging and discovery
Quick Start | For AI Assistants
Iconics is a locally managed, semantically tagged icon library designed for instant use across projects. Use professional icons instead of emojis in documentation, GitHub READMEs, product docs, and UI guides.
Core goals:
- SQLite as the runtime catalog authority
- Semantic search with metadata fallback when CLIP is unavailable
- One-command export with ready-to-paste markdown
- Local-first usage tracking with no network telemetry
Use the CLI directly from the repo:
cd /home/zack/dev/iconics
uv run python iconics.py search security
uv run python iconics.py use lock-24x24 shield-security-protection-24x24Recommended convenience alias:
alias iconics='uv run python /home/zack/dev/iconics/iconics.py'Example workflow:
iconics suggest authentication
iconics use lock-24x24 shield-security-protection-24x24Markdown output example:
##  Security Features
###  Encryptioniconics search <query>: semantic search with metadata fallbackiconics query <text>: direct CLIP query with metadata fallbackiconics suggest <context>: context-aware suggestionsiconics info <name>: icon metadataiconics use <name...>: export icons + markdown snippetsiconics md <name...>: markdown only (no export)iconics cat <category> [--limit N|--all]: export an entire categoryiconics categories: list allowed categoriesiconics recent --limit N: show most recent catalog additionsiconics history [project]: show usage history from local logsiconics popular --limit N: show most-used icons from local analyticsiconics stats: library stats summaryiconics validate: integrity checksiconics db migrate|verify: SQLite catalog operationsiconics provision icons|query|manifest|imports: copy icons or generate framework importsiconics emoji scan|convert: scan and replace emoji usageiconics sync: reconcile raw files, catalog entries, and embeddingsiconics relabel: re-run vision labeling for taxonomy cleanupiconics tui: launch the Rust TUI2
Copy only the icons you need into a project and keep a manifest:
iconics provision icons lock-24x24 shield-security-protection-24x24 --dest ./Provision via semantic query:
iconics provision query "security lock" --dest ./ --k 2Generate framework imports from a manifest:
iconics provision imports ./iconics-manifest.json --format react --output ./src/icons.tsxScan a repository for emoji usage and convert to icon markdown:
iconics emoji scan --path ./docs --output emoji-report.json
iconics emoji convert --report emoji-report.json --applyManual add:
iconics add lock-24x24 --semantic lock --tags security,auth --category security --desc "Lock icon"Bulk import from CSV:
iconics import ./icons-to-import.csvExpected CSV headers:
id,semantic,tags,category,description
Lock,lock,"security,auth,access",security,Lock iconUsage tracking logs are local only and are ignored via .gitignore:
icon-usage-history.jsonicon-usage-analytics.json
Some commands require extra dependencies:
watch: file watcher support (iconics watch)dedupe: duplicate detection (iconics dedupe)
Install with uv:
cd /home/zack/dev/iconics
uv sync --extra watch --extra dedupeiconics/
|-- raw/ # Original icon files
|-- catalog/ # Categorized symlinks
|-- embeddings/ # CLIP embeddings and subspace artifacts
|-- iconics.sqlite3 # SQLite catalog (runtime default)
|-- icon-catalog.json # Export/bootstrap catalog snapshot
|-- iconics.py # Unified CLI
`-- deprecated/ # Archived tools and references
MIT