PromptMan is a web application that converts codebases into comprehensive LLM prompts.
- Upload a code folder
- Process it via the FastAPI backend
- Track job status
- Download the resulting Markdown file
PromptMan/
├── .env # Environment configuration
├── .gitignore
├── docker-compose.yml # Docker services orchestration
├── backend/
│ ├── Dockerfile # Backend multi-stage build
│ ├── main.py # FastAPI application
│ ├── requirements.txt
│ ├── services/
│ │ └── code_service.py
│ ├── temp/
│ │ └── .gitkeep
│ └── results/
│ └── .gitkeep
└── frontend/
├── Dockerfile # Frontend build + Nginx
├── nginx.conf # Nginx reverse proxy config
├── public/
│ └── index.html
├── src/
│ ├── App.css
│ ├── App.js
│ ├── index.css
│ └── index.js
└── package.json
- Docker
- Docker Compose
-
Copy
.env.exampleto.envif it exists, or create a new.envfile:# Backend Configuration PORT=8000 REDIS_HOST=redis REDIS_PORT=6379 ALLOWED_ORIGINS=http://localhost,http://localhost:80 PYTHONUNBUFFERED=1 # Frontend/Nginx Configuration NGINX_PORT=80 -
Adjust values in
.envas needed:NGINX_PORT: Change if port 80 is already in useALLOWED_ORIGINS: Add your domain in production
-
Build the containers:
docker-compose build
-
Start the services:
docker-compose up -d
-
Access the application:
- Development: http://localhost (or http://localhost:${NGINX_PORT} if you changed it)
- Production: https://your-domain.com
-
View logs (optional):
docker-compose logs -f
-
Stop the services:
docker-compose down
- Frontend: React application served by Nginx
- Backend: FastAPI + Gunicorn/Uvicorn workers
- Storage: Redis for job data, local filesystem for results
- Proxy: Nginx reverse proxy for API requests
To develop locally without Docker:
-
Backend:
cd backend python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt uvicorn main:app --reload --port 8000
-
Frontend:
cd frontend npm install npm start
For production deployment:
-
Update
.envwith production settings:- Set
ALLOWED_ORIGINSto your domain - Consider using different ports if needed
- Set
-
Setup HTTPS (recommended):
- Install Certbot
- Obtain SSL certificate
- Update Nginx configuration
- Mount SSL certificates into the frontend container
-
Enable firewall rules:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
-
Deploy:
docker-compose -f docker-compose.yml up -d
-
Monitor:
docker-compose logs -f
- Backups: Regularly back up the Redis volume (
redis_data) - Updates:
- Pull latest code changes
- Rebuild images:
docker-compose build - Restart services:
docker-compose up -d
- Cleanup:
- Old results: Automatically cleaned up after 24 hours
- Containers:
docker-compose downto stop and remove - Volumes: Add
-vto remove persistent data:docker-compose down -v
MIT