Build from source
git clone https://github.com/udhawan97/Codemble.gitcd Codemblepython -m venv .venv && source .venv/bin/activatepip install -e ".[dev]"
pytest && ruff check . # the CI gatescodemble --version
cd webnpm installnpm run build # refresh codemble/web_dist packaged assetsnpm run check # production galaxy build (CI gate)cd ..
codemble ./some-projectDocs site:
cd docs-sitenpm installnpm run brand:build # regenerate committed SVG/PNG brand assetsnpm run check # astro check (CI gate)npm run buildPreview separately because the development server stays open:
cd docs-sitenpm run dev # http://localhost:4321For live frontend work, run ./scripts/dev.sh ./some-project from the
repository root. Vite serves the UI at http://127.0.0.1:5173 and proxies its
API calls to the local Codemble server.
Build the Python wheel and verify the packaged SPA without Node at runtime:
python -m pip wheel . --no-deps --wheel-dir /tmp/codemble-wheelpython -m venv /tmp/codemble-install/tmp/codemble-install/bin/pip install /tmp/codemble-wheel/codemble-*.whlcd /tmp/tmp/codemble-install/bin/codemble --versionThe committed product screenshots are reproducible with Chrome, Python, and the web dependencies installed:
(cd web && npm run capture:docs)The command starts its own current-source server on a random loopback port with
a unique temporary CODEMBLE_DATA_DIR. Provider keys and provider settings are
removed from that child process, the progress reset must succeed before capture
continues, and the server plus temporary data are removed afterward. It refuses
CODEMBLE_CAPTURE_URL so it cannot be pointed at a normal Codemble session.
Set CODEMBLE_CAPTURE_PYTHON only when the desired Python executable is not
named python.