- tui/doc.go: remove teatest blank import (test harness in prod binary)
- cmd: honor wizard HaltOnError toggle in addition to --halt-on-error flag
- cmd: wire SIGINT/SIGTERM to root context via signal.NotifyContext
- dashboard/run: derive engine context and cancel on tea.Program exit
so the engine goroutine does not outlive Run
- privilege: wire sudo -v to real stdin/stdout/stderr so it can prompt
- cmd: validate --only/--skip IDs against registry (prevents silent
run-all on typo); gate install to Arch-only (spec requirement);
mark --only and --skip mutually exclusive
- platform: Pacman.Update now runs -Syu --noconfirm, not -Sy (avoids
Arch partial-upgrade anti-pattern)
- test/integration: trap-clean the named docker volume on any exit
- go.mod: tidy — yaml.v3 is a direct dep
Design for Go rewrite of the Bash installer: single static binary with
Bubble Tea + Huh TUI, four-phase module contract, DAG execution engine,
embedded config + optional overlay, and a minimal Bash pre-install shim.
Scoped to installer architecture only; toolset overhaul, CLI browser,
and TTY Nerd Font support are queued as follow-up specs.
- Add serialMonitor display config to all diagram templates
- Set USB_SERIAL_JTAG attr on ESP32-S3 for built-in USB serial
- Add TX/RX → $serialMonitor wiring for ESP32 (UART-based serial)
- Remove disconnected breadboard parts (wired directly to MCU pins)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Install wokwi-cli binary from GitHub releases
- Generate wokwi.toml and board-specific diagram.json in arduino-new
with a button + LED breadboard layout for each supported board
- Add <leader>aw keybinding in nvim to run Wokwi simulation
- Diagram templates for: uno, mega, nano, esp32, esp32s3 (+ default)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace deprecated require("lspconfig") setup with the Neovim 0.11+
native vim.lsp.config/vim.lsp.enable API. Clangd config now lives in
lsp/clangd.lua instead of the old plugins/lspconfig.lua +
configs/lspconfig.lua pair.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After end_quiet_mode closes fd 3/4, the overridden warn/error/info
functions still reference >&3, causing "bad file descriptor" errors
for any calls after quiet mode ends (e.g. the reboot prompt).
Restore the original function definitions when leaving quiet mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The --insecure global flag was removed in arduino-cli 1.0, causing
the command parser to fail with "unknown command update-index".
Detect support at runtime so the script works with both old and new
versions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Install JetBrainsMono Nerd Font for icons across all TUI tools
- Add Yazi as terminal file manager with themed config per colorscheme
- Add write_yazi_config() to all 5 theme files
- Theme switcher (archduino-theme) now also updates Yazi
- Add 'y' alias for yazi in shell config
- Update step numbering (9 -> 11 steps) and README
Add standalone theme switcher command that lets users change the global
colorscheme after installation. Updates Starship, Zellij, Lazygit, and
NvChad in one step. Includes `theme` shell alias and README docs.
When a LazyVim config is detected, user-added plugin files are now
salvaged before the old config is removed. Managed and LazyVim-specific
files are filtered out, and remaining plugins are restored into the new
NvChad config with LazyVim references stripped. Both frameworks use
lazy.nvim, so most plugin specs are directly compatible.