ppicons-cli

Icon Components Generator for Prisma PHP (PHPX) and Caspian Python — generate clean, reusable icon components straight from the terminal.

PHPX output Caspian Python output --all bulk auto-detect --force overwrite update command
Single icon: npx ppicons add anchor Update: npx ppicons update Full library: npx ppicons add --all

Features

Generate icons as real components with consistent SVG normalization, predictable naming, and editor-friendly structure.

Bulk generation

Use --all to generate the full icon set in one run. Ideal for design systems and UI kits.

Update icons

Run ppicons update to refresh already-generated icons safely without rethinking your workflow.

Dual language support

Generate PHPX icons for Prisma PHP, or Python icon components for Caspian using --lang php|py.

Smart auto-detect

No flag needed most of the time: caspian.config.json → Python mode, prisma-php.json → PHP mode.

SVG normalization

Normalizes SVGs for consistent markup and injects dynamic attributes so icons behave like real components.

Cross-platform

Works on Windows, macOS, and Linux with the same CLI commands and reliable path handling.

Installation

Install globally, or as a dev dependency inside your project.

# Global
npm install -g ppicons

# Or as a devDependency
npm install -D ppicons

Requires Node 20+. For PHP projects, you typically run inside a Prisma PHP repo (PHP 8.2+ recommended). For Python projects, run inside a Caspian repo (Python 3.10+ recommended).

Quick Start

Add icons, bulk-generate a library, or refresh what you already generated.

# Add a single icon
npx ppicons add anchor

# Add multiple icons
npx ppicons add anchor globe rocket

# Add the entire icon set
npx ppicons add --all

# Update previously generated icons
npx ppicons update

# Force Python output (Caspian)
npx ppicons add user --lang py

# Force PHP output (Prisma PHP / PHPX)
npx ppicons add user --lang php

# Overwrite existing files (explicit)
npx ppicons add --all --force

Sample CLI output

✔ anchor → (generated)
✔ globe  → (generated)
✔ rocket → (generated)

Exact file paths depend on your project type and language mode (auto-detect or --lang).

CLI Options

Core commands and flags supported by ppicons-cli.

Command / Flag Description
add <icon…> Generate one or more icons by name (space-separated).
add --all Generate the full catalogue in one run.
update Refresh already-generated icons using the latest upstream data.
--lang php|py Force output language. If omitted, auto-detect uses caspian.config.json → Python and prisma-php.json → PHP.
--force Overwrite existing files.

Recommended workflow

  • Use add during development when you need specific icons.
  • Use add --all when bootstrapping a UI kit or design system.
  • Use update to refresh icons across the project when upstream changes.
  • Use --force only when you explicitly want to overwrite local files.

Author & License

ppicons is maintained by The Steel Ninja Code and released under the MIT license.

Questions? thesteelninjacode@gmail.com