A simple way to run Claude-created React apps using Docker containers or local development.
- Node.js 18+
- npm or yarn
- Git
-
Ask Claude to create a React app:
"Create a todo list app in React" "Build a calculator inspired by HP-12C" "Make a unit conversion app" -
Save the generated code from Claude to a file (
.jsxor.tsx) -
Clone this template:
git clone https://github.com/vedanta/cra-run my-awesome-app cd my-awesome-app -
Remove the original git remote:
git remote remove origin
-
Add your Claude-generated code:
For JavaScript (JSX):
cd templates/jsx # Copy your code to src/App.jsx cp /path/to/your/claude-app.jsx src/App.jsx
For TypeScript (TSX):
cd templates/tsx # Copy your code to src/App.tsx cp /path/to/your/claude-app.tsx src/App.tsx
-
Install dependencies:
npm install # Install any additional packages your app needs npm install lucide-react # Example: if your app uses icons
-
Run locally:
npm start
Your app will open at http://localhost:3000
- Go to https://github.com/new
- Create a new repository (e.g.,
my-awesome-app) - Don't initialize with README
# Navigate to project root
cd ../.. # Back to project root
# Add all files
git add .
# Commit your changes
git commit -m "Initial commit - My Awesome App"
# Add your new repository as remote
git remote add origin https://github.com/your-username/my-awesome-app.git
# Push to GitHub
git push -u origin main- Go to your repository on GitHub
- Click Settings tab
- Scroll to Pages section
- Under "Build and deployment":
- Source: Select "GitHub Actions"
- Go to Actions tab in your repository
- Watch the workflow complete (2-3 minutes)
- Your app will be live at:
https://your-username.github.io/my-awesome-app/
- The template automatically handles the correct paths for GitHub Pages
- If issues persist, check the Actions tab for error logs
# Kill existing processes on port 3000
lsof -i :3000
kill -9 <PID>
# Or use a different port
npm start -- --port 3001- The TSX template has relaxed TypeScript settings
- If you get type errors, you can:
- Use the JSX template instead
- Add proper type definitions
- Rename
.tsxfiles to.jsx
- Install any packages your Claude app requires:
npm install package-namemy-awesome-app/
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions workflow
βββ docker/
β βββ Dockerfile.jsx # Docker config for JSX
β βββ Dockerfile.tsx # Docker config for TSX
βββ templates/
β βββ jsx/ # JavaScript/JSX template
β β βββ src/
β β β βββ App.jsx # Your app goes here
β β β βββ index.js
β β β βββ styles.css # Tailwind CSS
β β βββ public/
β β βββ package.json
β β βββ webpack.config.js
β βββ tsx/ # TypeScript/TSX template
β βββ src/
β β βββ App.tsx # Your app goes here
β β βββ index.tsx
β β βββ styles.css
β βββ public/
β βββ package.json
β βββ tsconfig.json
β βββ webpack.config.js
βββ docker-compose.jsx.yml
βββ docker-compose.tsx.yml
βββ README.md
docker-compose -f docker-compose.jsx.yml updocker-compose -f docker-compose.tsx.yml up- Simple: Drop in your Claude-generated code and run
- Portable: Works locally and deploys to GitHub Pages automatically
- Flexible: Supports both JSX and TSX
- Modern: Includes Tailwind CSS, React 18, and hot reloading
- Docker Ready: Optional Docker support for containerized deployment
# Ask Claude: "Create a todo list app in React"
# Follow the Quick Start steps above
# Your todo app will be live in minutes!# Ask Claude: "Build a calculator app inspired by HP-12C"
# Save the code to App.jsx
# Deploy to GitHub Pages# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run build
# Test locally
npm run test:jsx # Test JSX template
npm run test:tsx # Test TSX templateTo update your deployed app:
# Make changes to src/App.jsx (or App.tsx)
# Commit and push
git add .
git commit -m "Update app features"
git push origin main
# GitHub Pages will automatically redeployWhen asking Claude to create apps:
-
Be specific about functionality:
"Create a weather app that fetches data from an API" -
Mention styling preferences:
"Build a modern dashboard with dark mode using Tailwind CSS" -
Request TypeScript if needed:
"Create a TypeScript React form with validation" -
Ask for specific libraries:
"Build a chart app using React and Recharts"
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
- Designed to work seamlessly with Claude-generated React applications
- Built with React 18, Webpack 5, and Tailwind CSS
- Automated GitHub Pages deployment included