Spaces:
Running
Running
Contributing to HuggingFlow
Thank you for your interest in contributing!
Bug Reports
- Check existing issues first
- Open a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Your
LLM_MODELprovider (no keys please) - HF Space tier or Docker version if relevant
Pull Requests
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make changes and test locally (see below)
- Commit using Conventional Commits:
feat:,fix:,docs:,refactor:,chore: - Push and open a Pull Request describing what changed and why
Open an issue first for large or architectural changes.
Local Development
# Clone
git clone https://github.com/somratpro/HuggingFlow
cd HuggingFlow
# Configure
cp .env.example .env
# Edit .env β set LLM_MODEL, LLM_API_KEY, optionally SERPER_API_KEY
# Build and run
docker-compose up --build
# Dashboard
open http://localhost:7860/
# Create admin account
open http://localhost:7860/setup
# Research workspace
open http://localhost:7860/workspace
# Health check
curl http://localhost:7860/health
Hot-reload for orchestration scripts: docker-compose.yml volume-mounts start.sh, health-server.js, deerflow-sync.py, and nginx.conf β edit and restart the container without a full rebuild.
File Overview
| File | Purpose |
|---|---|
Dockerfile |
Container build β pulls pre-built DeerFlow GHCR images |
start.sh |
Startup orchestration: config generation, service sequencing, graceful shutdown |
health-server.js |
Port 7860 public gateway β status dashboard + transparent reverse proxy to nginx |
nginx.conf |
nginx reverse proxy (port 7861) β routes API, frontend, LangGraph alias |
deerflow-sync.py |
HF Dataset backup/restore for SQLite DB + workspace files |
cloudflare-proxy.js |
Node.js http/https agent that routes traffic through a Cloudflare Worker |
cloudflare-proxy-setup.py |
Auto-provisions the Cloudflare outbound proxy Worker |
cloudflare-keepalive-setup.py |
Auto-provisions the Cloudflare keep-awake cron Worker |
docker-compose.yml |
Local development setup |
.env.example |
Full configuration reference with inline documentation |
Guidelines
- Keep changes minimal and focused β avoid touching unrelated files
- Test with at least one LLM provider before submitting
- Update
README.mdand.env.exampleif you add new environment variables - Update
CHANGELOG.mdwith a summary under[Unreleased] - Security issues: see SECURITY.md β do not open public issues for vulnerabilities