|
|
--- |
|
|
title: AnyCoder |
|
|
emoji: π |
|
|
colorFrom: blue |
|
|
colorTo: purple |
|
|
sdk: docker |
|
|
app_port: 7860 |
|
|
pinned: false |
|
|
disable_embedding: false |
|
|
hf_oauth: true |
|
|
hf_oauth_expiration_minutes: 43200 |
|
|
hf_oauth_scopes: |
|
|
- manage-repos |
|
|
- write-discussions |
|
|
--- |
|
|
|
|
|
> **Note:** This is the Docker Space configuration for the React frontend version. |
|
|
> For the original Gradio app, see `README_GRADIO.md`. |
|
|
|
|
|
# AnyCoder - AI Code Generator with React Frontend |
|
|
|
|
|
AnyCoder is a full-stack AI-powered code generator with a modern React/TypeScript frontend and FastAPI backend. Generate applications by describing them in plain English, with support for multiple AI models and one-click deployment to Hugging Face Spaces. |
|
|
|
|
|
## π¨ Features |
|
|
|
|
|
- **Modern React UI**: Apple-inspired design with VS Code layout |
|
|
- **Real-time Streaming**: Server-Sent Events for live code generation |
|
|
- **Multi-Model Support**: MiniMax M2, DeepSeek V3, and more via HuggingFace InferenceClient |
|
|
- **Multiple Languages**: HTML, Gradio, Streamlit, React, Transformers.js, ComfyUI |
|
|
- **Authentication**: HuggingFace OAuth + Dev mode for local testing |
|
|
- **One-Click Deployment**: Deploy generated apps directly to HF Spaces |
|
|
|
|
|
## ποΈ Architecture |
|
|
|
|
|
``` |
|
|
anycoder/ |
|
|
βββ backend_api.py # FastAPI backend with streaming |
|
|
βββ frontend/ # Next.js React frontend |
|
|
β βββ src/ |
|
|
β β βββ app/ # Pages (page.tsx, layout.tsx, globals.css) |
|
|
β β βββ components/ # React components |
|
|
β β βββ lib/ # API client, auth utilities |
|
|
β β βββ types/ # TypeScript types |
|
|
β βββ package.json |
|
|
βββ anycoder_app/ # Original Gradio app modules |
|
|
β βββ agent.py |
|
|
β βββ config.py |
|
|
β βββ deploy.py |
|
|
β βββ ... |
|
|
βββ app.py # Original Gradio interface |
|
|
βββ requirements.txt # Python dependencies |
|
|
βββ Dockerfile # Docker Space configuration |
|
|
βββ start_fullstack.sh # Local development script |
|
|
``` |
|
|
|
|
|
## π Quick Start |
|
|
|
|
|
### Local Development |
|
|
|
|
|
1. **Backend**: |
|
|
```bash |
|
|
export HF_TOKEN="your_huggingface_token" |
|
|
export GEMINI_API_KEY="your_gemini_api_key" |
|
|
python backend_api.py |
|
|
``` |
|
|
|
|
|
2. **Frontend** (new terminal): |
|
|
```bash |
|
|
cd frontend |
|
|
npm install |
|
|
npm run dev |
|
|
``` |
|
|
|
|
|
3. Open `http://localhost:3000` |
|
|
|
|
|
### Using start script: |
|
|
```bash |
|
|
export HF_TOKEN="your_token" |
|
|
export GEMINI_API_KEY="your_gemini_api_key" |
|
|
./start_fullstack.sh |
|
|
``` |
|
|
|
|
|
## π³ Docker Space Deployment |
|
|
|
|
|
This app runs as a Docker Space on HuggingFace. The Dockerfile: |
|
|
- Builds the Next.js frontend |
|
|
- Runs FastAPI backend on port 7860 |
|
|
- Uses proper user permissions (UID 1000) |
|
|
- Handles environment variables securely |
|
|
|
|
|
## π Authentication |
|
|
|
|
|
- **Dev Mode** (localhost): Mock login for testing |
|
|
- **Production**: HuggingFace OAuth with manage-repos scope |
|
|
|
|
|
## π Supported Languages |
|
|
|
|
|
- `html` - Static HTML pages |
|
|
- `gradio` - Python Gradio apps |
|
|
- `streamlit` - Python Streamlit apps |
|
|
- `react` - React/Next.js apps |
|
|
- `transformers.js` - Browser ML apps |
|
|
- `comfyui` - ComfyUI workflows |
|
|
|
|
|
## π€ Available Models |
|
|
|
|
|
- **Gemini 3 Pro Preview** (Default) - Google's latest with deep thinking & Google Search |
|
|
- MiniMax M2 (via HF router with Novita) |
|
|
- DeepSeek V3/V3.1 |
|
|
- DeepSeek R1 |
|
|
- And more via HuggingFace InferenceClient |
|
|
|
|
|
## π― Usage |
|
|
|
|
|
1. Sign in with HuggingFace (or use Dev Login locally) |
|
|
2. Select a language and AI model |
|
|
3. Describe your app in the chat |
|
|
4. Watch code generate in real-time |
|
|
5. Click **π Deploy** to publish to HF Spaces |
|
|
|
|
|
## π οΈ Environment Variables |
|
|
|
|
|
- `HF_TOKEN` - HuggingFace API token (required) |
|
|
- `GEMINI_API_KEY` - Google Gemini API key (required for Gemini 3 Pro Preview) |
|
|
- `POE_API_KEY` - Poe API key (optional, for GPT-5 and Claude models) |
|
|
- `DASHSCOPE_API_KEY` - DashScope API key (optional, for Qwen models) |
|
|
- `OPENROUTER_API_KEY` - OpenRouter API key (optional, for Sherlock models) |
|
|
- `MISTRAL_API_KEY` - Mistral API key (optional, for Mistral models) |
|
|
|
|
|
## π¦ Tech Stack |
|
|
|
|
|
**Frontend:** |
|
|
- Next.js 14 |
|
|
- TypeScript |
|
|
- Tailwind CSS |
|
|
- Monaco Editor |
|
|
|
|
|
**Backend:** |
|
|
- FastAPI |
|
|
- HuggingFace Hub |
|
|
- Server-Sent Events (SSE) |
|
|
|
|
|
## π License |
|
|
|
|
|
MIT |