A boilerplate optimized for vibe coding with Claude Code. Pre-configured MCP servers, slash commands, and a clean architecture that AI understands.
One-liner:
curl -fsSL https://raw.githubusercontent.com/YUZU-Hub/project-boilerplate/main/install.sh | sh -s myprojectOr manually:
git clone https://github.com/YUZU-Hub/project-boilerplate.git myproject
cd myproject
cp .env.example .env
docker compose up --build -dThe installer will prompt you for:
- Admin email - for PocketBase admin account
- Admin password - for PocketBase admin account
- Configure MCP? - optionally adds credentials to
~/.zshrc
Then start building:
cd myproject
claude "Build a todo list app with user authentication and sharing between users"Your app runs at:
- Homepage: http://localhost:3000
- Web App: http://localhost:3001
- Admin: http://localhost:3002
- PocketBase Admin: http://localhost:8090/_/
Changes hot-reload automatically.
For Claude to manage your GitHub repo, add to ~/.zshrc:
# Create at: https://github.com/settings/tokens (scopes: repo, read:org)
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxx"Then: source ~/.zshrc
/dev- Start development environment/stop- Stop all services/db-status- Check PocketBase health/setup- Initial project configuration/deploy- Deployment guide/commit- Create a formatted commit
Single Docker container running:
- Node.js Express - Homepage (3000), Webapp (3001), Admin (3002)
- PocketBase - API and database (8090)
project/
├── homepage/ → Landing pages (static HTML/CSS/JS)
├── webapp/ → Web application
├── admin/ → Admin dashboard
├── server/ → Node.js Express servers
├── api/ → PocketBase hooks & migrations
└── .claude/ → Claude Code configuration
Mode 1: Separate ports (default) - Best for subdomains
example.com → port 3000 (homepage)
app.example.com → port 3001 (webapp)
admin.example.com → port 3002 (admin)
api.example.com → port 8090 (PocketBase)
Mode 2: Single port with paths - Best for single domain
Set WEBAPP_PORT= and ADMIN_PORT= to empty in .env:
example.com/ → homepage
example.com/app/ → webapp
example.com/admin/ → admin dashboard
Deploy anywhere Docker runs:
# Build production image
docker build -t myapp .
# Run (any Docker host)
docker run -d --restart unless-stopped \
-p 3000:3000 -p 3001:3001 -p 3002:3002 -p 8090:8090 \
-v pb_data:/app/api/pb_data \
-e NODE_ENV=production \
myappWorks with Coolify, Railway, Render, Fly.io, DigitalOcean, or any Docker host.
NODE_ENV=production
API_URL=https://api.yourdomain.com
HOMEPAGE_PORT=3000
WEBAPP_PORT=3001 # or empty for path-based
ADMIN_PORT=3002 # or empty for path-based- AI: Claude Code with MCP servers
- Frontend: Static HTML/CSS/JS
- Backend: Node.js Express + PocketBase
- Deployment: Docker (any platform)
See CLAUDE.md for AI-specific instructions.