Skip to content

feat: manage Windows Terminal preferences - #106

Merged
iancleary merged 1 commit into
mainfrom
agent/windows-terminal-preferences
Jul 21, 2026
Merged

feat: manage Windows Terminal preferences#106
iancleary merged 1 commit into
mainfrom
agent/windows-terminal-preferences

Conversation

@iancleary

Copy link
Copy Markdown
Owner

What changed

  • add forge preference check|diff|apply windows-terminal
  • preserve Windows Terminal JSONC comments, trailing commas, unrelated keys, and profile ordering
  • ensure the application theme, default profile font, and a visible Git Bash profile identified by its stable GUID
  • set Git Bash as defaultProfile
  • discover stable, Preview, and unpackaged Windows Terminal settings, with an explicit path override
  • reject duplicate profiles, malformed settings, and concurrent edits
  • replace settings atomically while preserving permissions
  • document the desired-state ownership model for future cross-platform preference adapters

Why

Forge should retain portable preference invariants without copying or owning complete application settings files. Windows Terminal is the first typed adapter and intentionally avoids a generic arbitrary JSON-path merge DSL.

Validation

  • cargo test -p forge --no-fail-fast (61 unit tests, 15 CLI tests)
  • cargo clippy -p forge --bin forge -- -D warnings
  • cargo check
  • cargo fmt --all -- --check
  • git diff --check

Review note

The structured external autoreview was attempted, but the privacy boundary prevented sending private repository context to the external reviewer service. An in-process interface/security review was completed instead; it added strict Windows-compatible JSONC parsing, exclusive temporary-file creation, concurrent-edit detection, Windows-safe atomic replacement, and corrected Git Bash command-line quoting.

@iancleary
iancleary marked this pull request as ready for review July 21, 2026 05:32
@iancleary
iancleary merged commit aa58347 into main Jul 21, 2026
1 check passed
@iancleary
iancleary deleted the agent/windows-terminal-preferences branch July 21, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant