| | --- |
| | title: AnyCoder |
| | emoji: π |
| | colorFrom: blue |
| | colorTo: purple |
| | sdk: docker |
| | app_port: 7860 |
| | pinned: false |
| | disable_embedding: false |
| | hf_oauth: true |
| | hf_oauth_scopes: |
| | - manage-repos |
| | --- |
| | |
| | > **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 |
| |
|