Modern icon management CLI tool
Picto - Picture Perfect Icons
A modern, type-safe CLI tool for managing icons from design tools (Figma, Iconfont) and generating components for various frameworks (React, Vue, Svelte).
- 🎨 Multi-Source Support: Pull icons from Figma, Iconfont, or local SVG files
- ⚡ Multi-Framework: Generate React, Vue, Svelte, Web Components
- 🔒 Type-Safe: End-to-end TypeScript support
- 🚀 Fast: Built with modern tools (tsup, Turborepo)
- 🔌 Extensible: Plugin system for custom sources and generators
- 📦 Zero-Config: Works out of the box with sensible defaults
- 🎯 Developer Friendly: Watch mode, caching, incremental updates
This project is currently in Phase 0: Infrastructure Setup.
- ✅ Monorepo structure configured
- ✅ TypeScript and build tools configured
- ✅ Code quality tools configured (ESLint, Prettier, Husky)
- ✅ Testing framework configured (Vitest)
- ✅ Turborepo build system configured
- ⏳ CI/CD setup (coming soon)
- ⏳ Core implementation (Phase 1)
This monorepo contains the following packages:
@picto/core- Core library with engine and plugin system@picto/cli- Command-line interface@picto/types- Shared TypeScript types
- Node.js >= 18.0.0
- pnpm >= 8.0.0
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Lint code
pnpm lint
# Format code
pnpm format# Build all packages
pnpm build
# Watch mode for development
pnpm dev
# Run tests with coverage
pnpm test:coverage
# Lint all packages
pnpm lint
# Clean all build artifacts
pnpm clean# Build specific package
pnpm --filter @picto/core build
# Test specific package
pnpm --filter @picto/cli test
# Dev mode for specific package
pnpm --filter @picto/core dev- Architecture Design - System architecture and technical design
- Contributing Guide - How to contribute to Picto
- Development Tutorials - Step-by-step development tutorials
- API Reference - Complete API documentation (coming soon)
- Monorepo configuration
- TypeScript setup
- Build tools (tsup, Turborepo)
- Code quality tools (ESLint, Prettier)
- Testing framework (Vitest)
- Development environment
- CLI framework (CAC)
- Configuration system (Zod)
- Core engine and plugin system
- Figma integration
- React/Vue generators
- Basic documentation
- Iconfont integration
- Local SVG scanning
- SVG optimization (SVGO)
- Caching system
- Watch mode
- Web Components generator
- Plugin system
- Community tools
- VS Code extension
- Advanced features
We welcome contributions! Please read our Contributing Guide to get started.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT © Picto Team
- Inspired by gdicon-cli
- Built with tsup, Turborepo, and Vitest
Status: 🚧 Active Development | Version: 0.0.1-alpha