@@ -34,6 +34,8 @@ paths in ignored repo-local skills under `.agents/skills/`.
3434- ` io.github.bhack.mini-eq.yaml ` : local Flatpak manifest.
3535- ` python3-dependencies.yaml ` : generated Flatpak Python dependencies.
3636- ` tests/ ` : pytest suite for core behavior and non-visual integration seams.
37+ - ` docs/development.md ` : source checkout, PyPI, local Flatpak, and extended
38+ development test commands.
3739
3840## Development Commands
3941
@@ -61,15 +63,8 @@ and no-assert tests are candidates for human review, not automatic removals.
6163GTK virtual methods, signal callbacks, property bindings, and other framework
6264entry points often look unused to static analysis.
6365
64- For release/package checks:
65-
66- ``` bash
67- appstreamcli validate --no-net data/io.github.bhack.mini-eq.metainfo.xml
68- desktop-file-validate data/io.github.bhack.mini-eq.desktop
69- .venv/bin/python tools/check_gnome_shell_extension.py
70- .venv/bin/python -m build
71- .venv/bin/python -m twine check dist/*
72- ```
66+ For source install, PyPI package validation, local Flatpak builds, and extended
67+ runtime smoke commands, use ` docs/development.md ` .
7368
7469The app depends on system GI/audio packages that Python packaging cannot fully
7570install: GTK4, Libadwaita, PipeWire, a WirePlumber-managed session, and the
@@ -92,11 +87,9 @@ PipeWire/WirePlumber graph with synthetic playback and AT-SPI UI driving:
9287MINI_EQ_RUN_LIVE_UI=1 .venv/bin/python -m pytest tests/test_mini_eq_live_ui_runtime.py -q
9388```
9489
95- When creating a fresh venv for pip/package validation, build pipewire-gobject in
96- a plain wheel-build venv first, then install that wheel into a
97- ` --system-site-packages ` Mini EQ venv. This keeps distro GI bindings visible at
98- runtime without making Ubuntu/Debian ` g-ir-scanner ` import partial ` distutils `
99- modules from a system-site build venv.
90+ When creating a fresh venv for pip/package validation, follow
91+ ` docs/development.md ` so pipewire-gobject is built in a plain wheel-build venv
92+ before being installed into a ` --system-site-packages ` Mini EQ venv.
10093
10194## Change Guidelines
10295
@@ -166,19 +159,13 @@ Use `docs/social-preview.png` for GitHub and social link previews. This is not a
166159Flathub quality-check input, so it may use branded/dark promotional composition,
167160but it should be refreshed when the public screenshot changes materially.
168161
169- Generate the public release screenshot with deterministic demo data:
170-
171- ``` bash
172- PYTHONPATH=src python3 tools/render_demo_screenshot.py docs/screenshots/mini-eq.png
173- PYTHONPATH=src python3 tools/render_demo_screenshot.py docs/screenshots/mini-eq-dark.png --appearance dark
174- ```
175-
176162Do not commit screenshots that show personal device names, Bluetooth device
177163names, usernames, hostnames, local paths, or private preset names. Prefer
178164` tools/render_demo_screenshot.py ` over desktop screenshots because it renders
179165only the Mini EQ window from deterministic demo data. Keep the public release
180166screenshot in the platform-default light appearance unless you are adding
181167additional screenshots that intentionally demonstrate other appearance modes.
168+ Use ` docs/screenshots/README.md ` for the generation commands.
182169
183170For visual or adaptive-layout changes, inspect deterministic screenshot
184171matrices before considering the work done. Cover the minimum, default, narrow,
@@ -201,31 +188,16 @@ renders on light and dark backgrounds.
201188
202189## Release And Security
203190
204- Use ` docs/release.md ` as the public release checklist. Before publishing
205- release artifacts, verify the rendered README, package URLs, issue tracker,
206- license, screenshots, and AppStream metadata.
207- During release preparation, verify that version-bearing files agree:
208- ` pyproject.toml ` , ` CHANGELOG.md ` , and the AppStream release entry and screenshot
209- URL. The package ` __version__ ` is derived from release metadata and should not
210- be hardcoded separately.
191+ Use ` docs/release.md ` as the public release checklist. Use
192+ ` tools/prepare_release.py ` , ` tools/release_status.py ` ,
193+ ` tools/run_release_preflight_container.sh ` , and
194+ ` tools/release_post_publish.py ` for repeatable release checks. Keep
195+ owner-specific workflow dispatch, deployment approval, and local Flathub merge
196+ steps in ignored repo-local skills under ` .agents/skills/ ` .
211197
212- Before publishing artifacts, run the release preflight. Prefer the
213- containerized wrapper when the host does not already have the ` pipewire-gobject `
214- sdist build dependencies installed:
215-
216- ``` bash
217- tools/run_release_preflight_container.sh
218- ```
219-
220- Set ` MINI_EQ_FLATHUB_MANIFEST ` to a Flathub publishing manifest path when the
221- containerized preflight should include the manifest drift check.
222198The preflight owns the focused leak scan for ` HEAD ` , tracked worktree changes,
223199and untracked non-ignored text files. Use Gitleaks as an extra check when
224- release history or generated artifacts look suspicious:
225-
226- ``` bash
227- gitleaks git --no-banner --redact .
228- ```
200+ release history or generated artifacts look suspicious.
229201
230202Do not push local scratch branches or local safety tags.
231203Do not rewrite public history unless the user explicitly asks for it and accepts
0 commit comments