Files
led-hoop/DRY_RUN_COMMITS.md
Jimmy 615431d6c5 Add Pipenv environment and dry-run notes.
Document commit strategy and add Pipenv config for local development.

Made-with: Cursor
2026-03-03 19:28:06 +13:00

4.9 KiB
Raw Permalink Blame History

Dry run: two-commit plan

Current state

  • Staged: 9 deleted files under old src/ (boot, dma, main, patterns, settings, static/main.css, web, wifi, ws2812).
  • Tracked elsewhere: pico/lib/, pico/test/leds.py, pico/test/rainbow.py (already in repo).
  • Unstaged / untracked: Rest of restructure (more deletions, new pico/src/, esp32/, main.py, etc.).

Commit 1: Folder restructure

Goal: Remove old flat layout; no new code from led-driver yet.

1. Unstage current changes (so we can stage only restructure)

git restore --staged .

2. Stage only restructure changes

Deletions (remove old layout):

# Old top-level src/ (already partially staged; include all)
git add -u src/

# Old lib (microdot, utemplate)
git add -u lib/microdot/
git add -u lib/utemplate/

# Old box + test
git rm box.scad box.stl test.py 2>/dev/null || true
git add -u box.scad box.stl test.py

Or in one go (stage all deletions under src/, lib/, and the files):

git restore --staged .
git add -u src/ lib/ box.scad box.stl test.py

Optional for restructure: If you want commit 1 to also introduce the new tree shape (empty or minimal), you could add only the new directories with a single placeholder each—but Git doesnt track empty dirs, so the “restructure” commit is usually just the removals.

Files that would be in commit 1 (deletions only):

Path Change
src/boot.py deleted
src/dma.py deleted
src/main.py deleted
src/patterns.py deleted
src/settings.py deleted
src/static/main.css deleted
src/static/main.js deleted
src/templates/index.html deleted
src/templates/index_html.py deleted
src/web.py deleted
src/wifi.py deleted
src/ws2812.py deleted
lib/microdot/__init__.py deleted
lib/microdot/helpers.py deleted
lib/microdot/microdot.py deleted
lib/microdot/utemplate.py deleted
lib/microdot/websocket.py deleted
lib/utemplate/__init__.py deleted
lib/utemplate/compiled.py deleted
lib/utemplate/recompile.py deleted
lib/utemplate/source.py deleted
box.scad deleted
box.stl deleted
test.py deleted

Suggested commit message:

Restructure: remove old flat src/lib layout

- Remove src/, lib/microdot, lib/utemplate, box.*, test.py
- Pico/ESP32 layout and led-driver code in follow-up commit

3. (Dry run) Show what would be committed

git status
git diff --cached --stat

Commit 2: Import code from led-driver

Goal: Add pico/ and esp32/ app code and top-level entrypoint (from led-driver).

1. Stage new and modified files

# New layout: pico app and tests
git add pico/src/
git add pico/test/patterns/
git add pico/test/test_espnow_receive.py
git add -u pico/test/leds.py
git add -u pico/test/rainbow.py

# ESP32 app and tests
git add esp32/

# Top-level entrypoint
git add main.py

# Tooling / docs (if you want them in this commit)
git add dev.py README.md

# Optional
git add Pipfile Pipfile.lock

2. Files that would be in commit 2

New files (led-driver / app):

Path
main.py
pico/src/main.py
pico/src/p2p.py
pico/src/preset.py
pico/src/presets.py
pico/src/settings.py
pico/src/utils.py
pico/src/patterns/__init__.py
pico/src/patterns/blink.py
pico/src/patterns/chase.py
pico/src/patterns/circle.py
pico/src/patterns/pulse.py
pico/src/patterns/rainbow.py
pico/src/patterns/transition.py
esp32/src/main.py
esp32/test/test_uart_send_json.py
esp32/test/test_uart_tx.py
pico/test/patterns/auto_manual.py
pico/test/patterns/blink.py
… (other pico/test/patterns/*)

Modified:

Path
pico/test/leds.py
pico/test/rainbow.py
dev.py
README.md (optional)

Optional (tooling):

Path
Pipfile
Pipfile.lock

Suggested commit message:

Import led-driver app: pico/ and esp32/ layout

- pico/src: main, presets, settings, patterns (UART JSON)
- esp32/src: main (UART sender)
- main.py top-level entrypoint
- pico/test: pattern tests, test_espnow_receive
- dev.py: deploy by device (pico | esp32)

3. (Dry run) Show what would be committed

git status
git diff --cached --stat

Summary

Step Action Commit message
1 git restore --staged . then stage only src/ lib/ box.scad box.stl test.py deletions Restructure: remove old flat src/lib layout
2 Commit (above)
3 Stage pico/src/, pico/test/ changes, esp32/, main.py, optionally dev.py README.md Pipfile* Import led-driver app: pico/ and esp32/ layout
4 Commit (above)

No commits are made in this dry run; run the git add and git status / git diff --cached --stat commands to confirm before running git commit.