- Run
./install.shfor first-time setup. - Start dev server with
pypnm-webui serve. - Run tests with
npm run test. - Run lint checks with
npm run lint. - Run production build validation with
npm run build. - Build docs with
npm run docs:build. - Serve docs locally with
npm run docs:serve. - List or stop local WebUI dev processes with
pypnm-webui kill-pypnm-webui.
./tools/git/git-save.sh --commit-msg "..."runs checks, bumps theBUILDnotation, stages, and commits../tools/git/git-save.sh --commit-msg "..." --pushalso pushes../tools/git/git-push.sh --commit-msg "..."commit+push helper for quick flows../tools/git/git-reset-branch-history.shrewrites branch history; use only with care.
.venv/bin/python ./tools/support/bump_version.py --next maintenancebumps the repository release version..venv/bin/python ./tools/support/bump_version.py --next buildincrements the build component only..venv/bin/python ./tools/release/check_version.pyvalidates package version consistency..venv/bin/python ./tools/release/test-runner.pyruns lint/test/build gates..venv/bin/python ./tools/release/release.pyruns release checks, performs a default maintenance bump, then commits/tags/pushes unless overridden.git-save.shnow commits the build bump sorelease.pydoes not fail later on dirty version files.
- Use
docs/development/logging.mdfor the custom client-to-file logging flow and log-level configuration.
pypnm-webui kill-pypnm-webui --listshows active PyPNM-WebUI processes for this repo.pypnm-webui kill-pypnm-webui --killshows numbered entries and prompts for a selection.pypnm-webui kill-pypnm-webui --kill <INDEX_OR_PID>stops one matching process.pypnm-webui kill-pypnm-webui --kill-allstops all matching PyPNM-WebUI processes for this repo.
- Keep changes scoped to a single feature/module when possible.
- Include screenshots for UI-impacting changes.
- Document API assumptions in
docs/api-integration.md. - For shared request-form hover text, use
docs/development/field-hints.md.
- Lint: pass
- Type-check: pass
- Unit/component tests: pass
- Critical flow smoke test: pass