PATH check:
- Add system_path() that reads /etc/paths + /etc/paths.d/* + well-known
package manager dirs (/opt/homebrew/bin, /usr/local/bin, /opt/local/bin)
so the ok/warn distinction is consistent whether BCC runs from terminal
or as a .app — /opt/homebrew/bin/npx now correctly shows as ok
- augmented_path() now uses system_path() as its base and also includes
the current process PATH (handles CI / container setups)
- diagnostics_text() uses system_path() to mark user-specific dirs with +
Undo:
- _push_undo() / _undo() snapshot-based undo with 50-entry stack
- Undo button in action bar + Ctrl+Z shortcut
- Hooked into: add server, duplicate, delete, paste JSON, enable/disable
toggle, drag-drop import, and env/header row add/remove (via
before_change callback chain through ServerEditor → KeyValueTable)
- Undo stack resets on profile load
Variable/header entry:
- KeyValueTable.+ Add now opens a popup dialog with labeled fields
(key name + OK disabled until non-empty) instead of inserting an
invisible blank row — applies consistently to both env and headers tables
- Pressing Enter in key field moves to value; Enter in value submits
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Auto-discovers Claude Code (~/.claude/settings.json) alongside Claude Desktop
- Generated icons/app.icns (macOS) and icons/app.ico (Windows) from rounded PNGs
- bcc.spec: PyInstaller spec for all platforms (.app on macOS, onefile on Windows/Linux)
- .github/workflows/release.yml: builds and publishes GitHub Release on version tags
- scripts/build_icons.py: regenerates icon files from source PNGs
- requirements-dev.txt: adds pyinstaller and pillow for building
- CLAUDE.md: initial repo guidance for Claude Code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>