Back to list
arto-app

add-icon

by arto-app

🅰️ Arto — the Art of Reading Markdown.

55🍴 5📅 Jan 20, 2026

SKILL.md


name: add-icon description: Add a new Tabler icon to the project. Use when adding icons to the UI.

Add Icon Skill

This skill guides you through adding a new icon from Tabler Icons to the project.

Process

Icons are managed via icons.json and automatically built by Vite plugin.

Steps

  1. Choose Icon

  2. Add to icons.json

    • Edit renderer/icons.json
    • Add the icon name to the JSON array (in alphabetical order)
  3. Build Icon Sprite (Automatic)

    • Icon sprite is automatically generated when Vite builds
    • Just run just dev or cargo build
  4. Add Rust Enum Variant

    • Edit desktop/src/components/icon.rs
    • Add variant to IconName enum (use PascalCase)
    • Add case to Display implementation

Example

renderer/icons.json:

[
  "folder",
  "folder-open",
  "file"
]

desktop/src/components/icon.rs:

pub enum IconName {
    Folder,
    FolderOpen,
    File,
}

impl std::fmt::Display for IconName {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            IconName::Folder => write!(f, "folder"),
            IconName::FolderOpen => write!(f, "folder-open"),
            IconName::File => write!(f, "file"),
        }
    }
}

File Locations

FilePurposeGit Tracked
renderer/icons.jsonIcon list configuration✅ Yes
renderer/vite.config.tsIcon sprite plugin✅ Yes
renderer/public/icons/tabler-sprite.svgGenerated sprite (Vite source)❌ No
assets/dist/icons/tabler-sprite.svgBuild output (Dioxus asset)❌ No

Important

  • NEVER edit generated SVG files directly
  • The assets/dist/ directory is .gitignored as build output
  • Icon sprite generation is automatic via Vite plugin (buildStart hook)
  • Rust code references icons via asset!("/assets/dist/icons/tabler-sprite.svg")
  • Icons come from @tabler/icons npm package (outline style only)

Build Process

icons.json
    ↓
Vite plugin (buildStart hook)
    ↓
renderer/public/icons/tabler-sprite.svg
    ↓
Vite build
    ↓
assets/dist/icons/tabler-sprite.svg
    ↓
Rust asset!() macro

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon