ppicons-cli
Icon Components Generator for Prisma PHP (PHPX) and Caspian Python — generate clean, reusable icon components straight from the terminal.
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
addduring development when you need specific icons. - Use
add --allwhen bootstrapping a UI kit or design system. - Use
updateto refresh icons across the project when upstream changes. - Use
--forceonly 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