chillypotato-plugins
v2.0.2
Published
Official plugins and recipes for ChillyPotato
Readme
chillypotato-plugins
Official plugins and recipes for ChillyPotato
Features
- 🔌 Modular add-ons for templates
- 🎨 Pre-configured best practices
- ✅ Production-ready configurations
- 🔄 Composable plugins
Installation
npm install chillypotato-pluginsUsage
With CLI
# Add plugins during project creation
chillypotato new my-app --plugins eslint,prettier,docker
# Interactive selection
chillypotato new my-appProgrammatically
import { Engine } from 'chillypotato-engine';
await engine.generate({
template: 'react-tailwind',
destination: './my-project',
plugins: ['eslint', 'prettier', 'docker'],
});Available Plugins
Code Quality
eslint - ESLint with pre-configured rules
chillypotato new my-app --plugins eslintprettier - Code formatting
chillypotato new my-app --plugins prettierhusky - Git hooks with lint-staged
chillypotato new my-app --plugins huskyDevOps
docker - Docker + docker-compose setup
chillypotato new my-app --plugins dockergithub-actions - CI/CD workflows
chillypotato new my-app --plugins github-actionsTesting
vitest - Fast unit testing
chillypotato new my-app --plugins vitestplaywright - E2E testing
chillypotato new my-app --plugins playwrightDatabase
prisma - Prisma ORM
chillypotato new my-app --plugins prismatypeorm - TypeORM
chillypotato new my-app --plugins typeormCreating Custom Plugins
import type { Plugin, PluginContext } from 'chillypotato-engine';
export default class MyPlugin implements Plugin {
name = 'my-plugin';
version = '1.0.0';
async apply(context: PluginContext) {
const { project, logger } = context;
// Add dependencies
await project.addDevDependency('my-package', '^1.0.0');
// Create config
await project.writeFile('config.json', JSON.stringify({...}));
logger.success('Plugin applied!');
}
}Plugin Interface
interface Plugin {
name: string;
version: string;
apply(context: PluginContext): Promise<void>;
validate?(context: PluginContext): Promise<boolean>;
}License
MIT © ChillyPotato Team
