DEVELOPMENT / PROJECT ICONS

One SVG, every app icon

Generate web, desktop, iOS, and Android icon sets with the Dowe utilities included in Dowe.

Open Testing docs

GENERATION

Keep the vector source simple

Use icon.svg in the project root or assets/icon.svg. Dowe asks for the path first, then an opaque hexadecimal background, rounded value, and target selection.

The dowe icons namespace only generates application assets. D1 migration utilities use the separate dowe d1 namespace.

dowe
dowe icons
dowe icons --source assets/icon.svg --background '#ffffff' --rounded md
dowe icons --source icon.svg --background '#111827' --rounded full --target web --target desktop

SOURCE

Local SVG only

SVG doctypes are accepted without fetching their DTD. External entities are rejected.

COMPOSITION

Centered and scaled

The logo keeps its aspect ratio and occupies at most seventy percent of a square canvas.

DEPENDENCIES

Included in Dowe

Projects do not need Dowe, Node.js, ImageMagick, or another image utility.

VERSIONED ASSETS

Commit assets, regenerate safely

Dowe writes target folders and a deterministic manifest below assets/icons. Regenerating selected targets removes their stale files and preserves every unselected platform.

dowe
assets/
  icon.svg
  icons/
    manifest.json
    web/
    desktop/
    ios/
    android/

Web receives favicon and touch icons. Desktop receives ICO, ICNS, and PNG. iOS receives an AppIcon asset catalog, while Android receives legacy, round, and adaptive launcher resources.

DEVELOPMENT SYNC

Regeneration reaches every target

dowe dev watches assets/icons and synchronizes current copies into disposable .dowe output. Web avoids stale icon caching, desktop hosts consume their native format, and mobile builds receive their launcher resources.

Source of truth

Commit assets/icons and never edit the copies generated below .dowe.

Native refresh

iOS rebuilds its host when icon assets or bundle metadata change.