- Python 3.11
- Node.js 20 or newer
- Corepack
- Git
Python 3.11 is the supported setup version. The pinned Pillow release does not provide a wheel for every newer Python release.
Install the backend and frontend dependencies.
-
Open PowerShell in the repository root.
-
Create the backend virtual environment:
py -3.11 -m venv backend\.venv311
-
Upgrade pip:
.\backend\.venv311\Scripts\python.exe -m pip install --upgrade pip
-
Install the backend development dependencies:
.\backend\.venv311\Scripts\python.exe -m pip install -r backend\requirements-dev.txt
-
Install the frontend dependencies:
cd frontend corepack pnpm@9.15.9 install cd ..
The repository contains a local backend virtual environment and the frontend packages.
-
Open a terminal in the repository root.
-
Run:
python3.11 -m venv backend/.venv backend/.venv/bin/python -m pip install --upgrade pip backend/.venv/bin/python -m pip install -r backend/requirements-dev.txt cd frontend corepack pnpm@9.15.9 install cd ..
Install both dependency sets. Stop any process that uses port 5174 or 4100.
-
Open a terminal in the repository root.
-
On Windows, run:
.\backend\.venv311\Scripts\python.exe dev.py -
On macOS or Linux, run:
backend/.venv/bin/python dev.py
-
Wait for
ColorCraft is ready. -
Open
http://127.0.0.1:5174in a browser.
The web application listens on http://127.0.0.1:5174. The API listens on
http://127.0.0.1:4100. The launcher also prints health, readiness, and metadata
URLs.
If startup reports a port conflict, stop the process that uses the reported port or configure a different port. If the launcher cannot find a virtual environment, repeat the installation procedure with Python 3.11.
Use two terminals when you must inspect each process separately.
-
Start the API from the
backenddirectory:cd backend .\.venv311\Scripts\python.exe -m uvicorn main:app --host 127.0.0.1 --port 4100
-
Start Vite from the
frontenddirectory:cd frontend corepack pnpm@9.15.9 dev --host 127.0.0.1 --port 5174
-
Open
http://127.0.0.1:5174.
- Select the terminal that runs the launcher.
- Press
Ctrl+C. - If Windows asks
Terminate batch job (Y/N)?, enterY.
The launcher stops both child services.
The default configuration accepts loopback traffic only. Trusted LAN access
requires COLORCRAFT_ALLOW_LAN_ACCESS=true, non-loopback bind hosts, and exact
CORS origins.
Warning: ColorCraft does not provide authentication. LAN access exposes the API and source-image traffic to the configured network path. Do not expose the development services to an untrusted network.
See Runtime configuration for the exact variables. See Troubleshooting for installation and startup recovery.