manage.py: cross-platform process manager (replaces manage.sh, enables native Windows) #6
Labels
No labels
architecture
backlog
enhancement
module:documents
module:hardware
module:manage
module:pipeline
module:voice
priority:backlog
priority:high
priority:medium
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/circuitforge-core#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cross-platform
manage.py— replacesmanage.shfor all productsCurrent
manage.shis bash-only, which blocks native Windows self-hosting. Replace with a cross-platform Pythonmanage.pythat works on Linux, macOS, and Windows natively (no WSL2, no Docker required).Architecture
manage.shandmanage.ps1are thin shims — they auto-detect the Python environment and delegate tomanage.py. Existing./manage.shworkflows are unchanged.manage.shshim (Linux/macOS):manage.ps1shim (Windows):Same pattern — finds Python in venv, conda, or PATH, then calls
manage.py @args.Two modes in manage.py
Docker mode (Linux/macOS default, Windows optional):
Wraps
docker composecommands —start,stop,restart,status,logs,buildNative mode (Windows primary path, Linux/macOS optional):
Manages processes directly:
ollama serve(inference)uvicorn api.main:app(FastAPI backend)npm run preview(Vue frontend)platformdirs)Mode detection
--mode native/--mode dockerRequirements
pathlib.Paththroughout — no hardcoded Unix pathsplatformdirsfor config/data paths (AppDataon Windows,~/.configon Linux/macOS)tail -f)python manage.py start|stop|restart|status|logs|openReplaces
manage.shin: peregrine, snipe, kiwi, avocet, osprey (and all future products)Ships as part of
circuitforge-coreso products shim into it.