|
58 | 58 |
|
59 | 59 | Primary docs: |
60 | 60 | - `docs/source/dev_quickstart.rst` |
61 | | -- `docs/source/coding_style.rst` |
| 61 | +- `docs/source/dev_best_practice.rst` (read on demand for coding style, |
| 62 | + UI design, runtime debugging, and recent engineering practices) |
62 | 63 | - `docs/source/contributing.rst` |
63 | 64 | - `docs/source/arch.rst` |
64 | 65 |
|
@@ -94,44 +95,3 @@ Responsive layout rule: |
94 | 95 | - Let a page own its responsive reflow logic based on its own available width. |
95 | 96 | - Avoid parent-coupled resize orchestration unless there is a proven structural |
96 | 97 | need. |
97 | | - |
98 | | -## 6) Workflow |
99 | | - |
100 | | -Keep a lightweight todo list for the current task: |
101 | | -- Update it before/after each meaningful step. |
102 | | -- Mark items done as soon as they are completed. |
103 | | -- Save it under `.tasks/` (for example, `.tasks/todo.md`). |
104 | | - |
105 | | -Keep a short proposal note for design changes: |
106 | | -- Capture the intended approach, tradeoffs, and assumptions. |
107 | | -- Use it to confirm alignment before coding. |
108 | | -- Save it under `.tasks/` (for example, `.tasks/proposal.md`). |
109 | | - |
110 | | -Minimal templates: |
111 | | - |
112 | | -Todo: |
113 | | -- [ ] Step 1 |
114 | | -- [ ] Step 2 |
115 | | - |
116 | | -Proposal: |
117 | | -- Approach: ... |
118 | | -- Tradeoffs: ... |
119 | | -- Assumptions: ... |
120 | | - |
121 | | -## 7) Recent Engineering Notes |
122 | | - |
123 | | -- Prefer semantic API names over scenario-specific ones: |
124 | | - - Good: `show_cover_with_source(artwork, source, uid)` |
125 | | - - Avoid: names that encode one caller context (for example `show_current_song_*`) |
126 | | -- For cover/image loading, keep a clear boundary: |
127 | | - - Data/adapter layer should convert `(url, source)` into `Media`. |
128 | | - - Widget layer should consume `Media` directly (`show_cover_media`) whenever possible. |
129 | | -- Avoid broad fallback branches that hide failures. If input contract is wrong, |
130 | | - fail early with explicit type/shape checks. |
131 | | -- Before removing helper functions, run an explicit usage check (`rg`) and keep |
132 | | - shared helpers when they are still used in multiple GUI paths. |
133 | | -- For GUI-heavy changes, run focused GUI/library test sets first; if full Qt/mpv |
134 | | - pytest is unstable in local environment, report it explicitly in PR notes. |
135 | | -- When creating/updating PR descriptions via `gh`, prefer `--body-file` or GraphQL |
136 | | - `updatePullRequest` with a file-loaded body; avoid inline escaped `\n` strings |
137 | | - that may show up literally in the PR description. |
0 commit comments