Click the button above to deploy to Vercel in under 2 minutes.
This repository is production-ready with:
✅ Full WebContainer API Support
- Cross-origin isolation configured
- Service Workers enabled
- WebAssembly support
- SharedArrayBuffer available
✅ Enterprise-Grade Security
- HTTPS enforced
- Security headers configured
- CORS policies optimized
- XSS protection enabled
✅ Performance Optimized
- CDN distribution
- Immutable asset caching
- Code splitting
- Asset optimization
✅ CI/CD Pipeline
- Automated testing
- Build validation
- Auto-deployment on push
- Preview deployments for PRs
✅ Zero-Downtime Deployment
- Instant rollback
- Versioned releases
- Environment isolation
- Click the "Deploy with Vercel" button above
- Connect your GitHub account
- Configure project settings (auto-filled)
- Click "Deploy"
- Done! ✨
# Install Vercel CLI
npm i -g vercel
# Clone repository
git clone https://github.com/christophernemala/tutorialkit.git
cd tutorialkit
# Install dependencies
pnpm install
# Deploy to production
vercel --prod- Fork this repository
- Add GitHub secrets:
VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID
- Push to
mainbranch - GitHub Actions deploys automatically
{
"buildCommand": "pnpm install && pnpm build",
"outputDirectory": "docs/tutorialkit.dev/dist",
"installCommand": "pnpm install --frozen-lockfile",
"nodeVersion": "18.18.0"
}NODE_VERSION=18.18.0
PNPM_VERSION=8.15.6
NODE_OPTIONS=--max-old-space-size=4096
ASTRO_TELEMETRY_DISABLED=1- Complete Deployment Guide - Detailed instructions
- Production Checklist - Validation steps
- Environment Variables - Configuration template
TutorialKit Platform
├── WebContainer API (Interactive coding environment)
├── Astro Framework (Static site generation)
├── React Components (UI layer)
├── Vercel Edge Network (Global CDN)
└── GitHub Actions (CI/CD pipeline)
- ✅ Node.js 18.18.0+
- ✅ pnpm 8.15.6
- ✅ HTTPS enforced
- ✅ Cross-origin isolation
- ✅ Service Workers enabled
- ✅ WASM support
- ✅ CDN caching
- ✅ Security headers
- ✅ Zero-downtime deployment
- ✅ Automatic rollback
- Live Code Editor - Monaco-based editor with syntax highlighting
- Integrated Terminal - Full terminal access in browser
- File System - Virtual file system with WebContainer
- Live Preview - Real-time preview of changes
- Multi-Language Support - JavaScript, TypeScript, HTML, CSS, and more
- Hot Module Replacement - Instant updates during development
- Type Safety - Full TypeScript support
- Component Library - Pre-built React components
- Theming System - Customizable UI themes
- Markdown Support - Write tutorials in Markdown
| Metric | Target | Status |
|---|---|---|
| Lighthouse Score | 95+ | ✅ |
| First Contentful Paint | < 1.5s | ✅ |
| Time to Interactive | < 3.5s | ✅ |
| Largest Contentful Paint | < 2.5s | ✅ |
| Cumulative Layout Shift | < 0.1 | ✅ |
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
- Static Assets: 1 year immutable cache
- Service Worker: No cache, always fresh
- HTML Pages: CDN cached with revalidation
Current Status: ✅ Production Ready
Last Deployment: Auto-deployed on push to main
Deployment Time: ~5-10 minutes
# Increase Node.js memory
NODE_OPTIONS=--max-old-space-size=8192 pnpm build- Verify HTTPS is enabled
- Check COOP/COEP headers
- Ensure Service Workers are registered
- Increase function timeout in
vercel.json - Optimize build process
- Check for memory leaks
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
MIT License - see LICENSE file for details
- TutorialKit by StackBlitz
- WebContainer API by StackBlitz
- Astro Framework by Astro
- Deployment by Vercel
- Documentation: https://tutorialkit.dev
- Issues: https://github.com/christophernemala/tutorialkit/issues
- Discussions: https://github.com/christophernemala/tutorialkit/discussions
Ready to deploy? Click the button at the top! 🚀