A Claude Code plugin for integrating and deploying Platformatic Watt in any Node.js project.
- Automatic Framework Detection: Detects Next.js, Express, Fastify, Koa, Remix, Astro, NestJS, WordPress, Laravel, and PHP
- Configuration Generation: Creates optimized
watt.jsonfor your framework - Deployment Automation: Generate Docker, Kubernetes, and cloud deployment configs
- Performance Optimization: Multi-worker SSR, distributed caching, and Kubernetes tuning
- Kafka Integration: Event-driven microservices with kafka-hooks webhooks (separate
/kafkaskill) - Scheduled Jobs: Cron-based task scheduling with retry support
- CMS Integration: Headless CMS webhooks and cache invalidation (Contentful, Sanity, Strapi)
- Observability: Logging (Pino), tracing (OpenTelemetry), metrics (Prometheus)
- Status Checking: Verify your Watt setup with a single command
# Clone the repository
git clone https://github.com/platformatic/watt-skill.git
# Use with Claude Code
claude --plugin-dir ./watt-skill# Install globally
npm install -g @platformatic/watt-skill
# Or use with Claude Code
/plugin install @platformatic/watt-skill/wattThis will:
- Detect your framework (Next.js, Express, Fastify, etc.)
- Generate appropriate
watt.jsonconfiguration - Install required dependencies (
wattpm,@platformatic/*) - Update
package.jsonscripts - Create
.envfile with defaults
/watt init nextjs
/watt init express
/watt init fastify/watt statusOutputs:
Watt Configuration Status
=========================
Node.js Version: v22.19.0 [OK]
watt.json: Found [OK]
Configuration: Valid JSON [OK]
wattpm: v3.2.0 [OK]
Scripts: Configured [OK]
Status: Ready to run
/watt deploy dockerGenerates:
Dockerfile(multi-stage, optimized).dockerignoredocker-compose.yml(optional)
/watt deploy k8sGenerates:
k8s/deployment.yamlk8s/service.yamlk8s/configmap.yamlk8s/hpa.yaml(autoscaling)
/watt deploy cloud
/watt deploy fly
/watt deploy railwayGenerates platform-specific configuration files.
/kafka
/kafka hooks
/kafka producer
/kafka consumer
/kafka monitoring/kafka migrate
/kafka kafkajsGuides through migrating from KafkaJS to @platformatic/kafka:
- API mapping (factory pattern → direct instantiation)
- Producer changes (topic per-message, built-in serializers)
- Consumer changes (callback → stream-based)
- Admin, transactions, error handling, and diagnostics
Sets up event-driven microservices with:
- @platformatic/kafka-hooks (webhooks, request/response, HTTP publishing)
- @platformatic/kafka (direct producer/consumer)
- Consumer lag monitoring and OpenTelemetry tracing
/watt cli # overview of all wattpm commands
/watt create # scaffold a new project
/watt inject # test endpoints on a running app
/watt logs # stream application logs
/watt ps # list running instances
/watt admin # launch Watt admin UI
/watt resolve # clone external applications/watt enterprise
/watt multi-serviceCreates a multi-service architecture with:
- Platformatic Composer (API gateway)
- Multiple backend services
- Inter-service communication via
{service-id}.plt.local
/watt migrate
/watt pocGuides through migrating an existing Node.js app:
- Prerequisites checklist
- Entrypoint modification (
create/closeexports) - watt.json configuration
| Framework | Package | Detection |
|---|---|---|
| Next.js | @platformatic/next |
next.config.{js,ts,mjs} |
| Remix | @platformatic/remix |
remix.config.js |
| Astro | @platformatic/astro |
astro.config.{mjs,ts} |
| Express | @platformatic/node |
express in dependencies |
| Fastify | @platformatic/node |
fastify in dependencies |
| Koa | @platformatic/node |
koa in dependencies |
| NestJS | @platformatic/node |
nest-cli.json or @nestjs/core |
| WordPress | @platformatic/php |
wp-config.php |
| Laravel | @platformatic/php |
artisan + composer.json |
| PHP | @platformatic/php |
composer.json + public/index.php |
- Node.js: v22.19.0 or higher
- Claude Code: Latest version
{
"$schema": "https://schemas.platformatic.dev/@platformatic/{package}/3.0.0.json",
"application": {
"commands": {
"development": "your-dev-command",
"build": "your-build-command",
"production": "your-start-command"
}
},
"runtime": {
"logger": {
"level": "{PLT_SERVER_LOGGER_LEVEL}"
},
"server": {
"hostname": "{PLT_SERVER_HOSTNAME}",
"port": "{PORT}"
}
}
}| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 3000 |
PLT_SERVER_HOSTNAME |
Bind address | 0.0.0.0 |
PLT_SERVER_LOGGER_LEVEL |
Log level | info |
watt-skill/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ ├── watt/
│ │ ├── SKILL.md # Main skill
│ │ └── references/
│ │ ├── frameworks/ # Framework-specific configs
│ │ ├── deployment/ # Deployment guides
│ │ └── troubleshooting.md
│ └── kafka/
│ ├── SKILL.md # Kafka integration skill
│ └── references/
│ └── kafka.md # Kafka reference docs
├── agents/
│ └── watt-analyzer.md # Project analysis agent
├── commands/
│ └── watt-status.md # Status check command
├── README.md
└── LICENSE
# Start Claude Code with plugin
claude --plugin-dir /path/to/watt-skill
# Test skill invocation
/watt:watt
/watt:watt-status- Fork the repository
- Create a feature branch
- Make your changes
- Test with Claude Code
- Submit a pull request
See troubleshooting guide for common issues.
Node.js version too old:
nvm install 22 && nvm use 22wattpm not found:
npm install wattpmPort already in use:
PORT=3001 npm run devApache-2.0 - See LICENSE for details.
- Issues: GitHub Issues
- Discord: Platformatic Community