Skip to content

Add per-tab git integration, assistant workspace awareness, appearance refresh, and automated tests - #13

Merged
DevMando merged 1 commit into
mainfrom
feature/git-awareness-workspace-notes-and-appearance
Jul 22, 2026
Merged

Add per-tab git integration, assistant workspace awareness, appearance refresh, and automated tests#13
DevMando merged 1 commit into
mainfrom
feature/git-awareness-workspace-notes-and-appearance

Conversation

@DevMando

Copy link
Copy Markdown
Owner

Summary

This release makes every chat tab git-aware, keeps the assistant honestly informed about what happens to files outside the conversation, refreshes the app's look with a new default message style and a new retro theme, and establishes the project's first automated test suite — now run on every pull request.

What's new

Git, built into every tab

  • A status indicator at the bottom of each chat shows the current branch and a colored dot for its state: green (clean), gold (uncommitted changes), red (merge conflicts). Hovering explains the state in plain words, including when the folder belongs to a larger repository.
  • The file explorer gains a "Changes" tab listing every uncommitted file with color-coded letters (modified, added, deleted, renamed, conflicted). Each row can show its diff in the conversation, tag the file into the prompt, or undo its changes — undo always asks for confirmation first, and can restore deleted files.
  • A "Commit…" button drafts a commit request into the prompt. It never commits by itself: the user sends the request, the assistant writes the message, and the existing approval flow shows the exact command before anything runs.
  • The explorer now updates itself: files created, deleted, renamed, or edited outside the app appear within a second or two — no refresh button needed. Folders containing changed files show a small dot, matching what developers know from other tools.

The assistant now knows what happened outside the chat
Previously the assistant could only see changes it made itself. If a user reverted its edit, edited a file in another program, or committed from a terminal, the assistant's picture of the project silently went stale. Now, each message the user sends carries a short factual note about anything that changed outside the conversation — files edited, changes committed vs. reverted (the app can tell the difference), branch switches, and shell commands the user ran through the app. The assistant re-reads affected files instead of trusting outdated memory, and never re-applies work the user deliberately discarded.

Approvals that stay out of the way
"Run this command?" prompts no longer cover the conversation with a dialog. They appear in the same bottom bar used for plan approvals, showing the exact command, with buttons that lay out in a row and wrap only when the window is narrow.

Appearance

  • Boxed messages: each prompt and response now renders on its own subtly translucent, blurred card — clearer boundaries and easier reading in long sessions. This is the new default; a toggle on the Appearance page restores the classic flat look, and existing users' explicit choices are always respected.
  • New "W98 - Y2K" theme: silver bevels, navy title bars, and a teal desktop for a fully committed late-90s look, including period-accurate details throughout the conversation view.
  • The Appearance page's preview is now a real miniature of the conversation view, so it faithfully shows exactly how any theme, background image, opacity setting, or message style will look — including themes with special rendering.

Quality

  • New automated test project (22 tests) covering the git status/diff parsing, undo behavior against real repositories, and the outside-change detection logic. The CI build now runs these tests on every pull request, so future changes to these areas are verified automatically before merge.

Why it matters

Reviewing and steering the assistant's work is the core loop of the product. This release lets users see what changed, inspect it, undo it, and commit it without leaving the app — and it closes a real trust gap by ensuring the assistant's understanding of the project always matches reality. The appearance work makes long working sessions easier on the eyes and gives the first-launch experience a more polished default.

Scope and risk

  • All changes are in the desktop app; the underlying assistant harness is untouched.
  • Git operations are read-only except the explicit, confirmed "undo changes" action. The commit flow reuses the existing command-approval safeguards.
  • The notes given to the assistant are plain factual text added to the user's next message; they do not change how the assistant is invoked.
  • The new default message style is presentation-only and reversible per user; saved preferences are honored on upgrade.
  • Test project and CI step are additive; the build pipeline otherwise remains as before.

…test suite

- Per-tab git status strip and an explorer Changes tab: per-file diffs, undo/restore
  with confirmation, tag-to-prompt, and a Commit button that drafts the request
- Live file watcher keeps the tree, badges, and git state current without refreshing
- The agent is now informed when work happens outside the conversation: discarded
  changes, external edits, commits, branch switches, and user-run shell commands
- Command approvals move to the non-covering bottom bar with wrapping buttons
- W98 - Y2K theme, frosted boxed message cards (new default), and a live Appearance
  preview that renders through the real transcript pipeline
- New MandoCode.Desktop.Tests project (22 tests) wired into the CI build
@DevMando
DevMando merged commit 35d4603 into main Jul 22, 2026
1 check passed
@DevMando
DevMando deleted the feature/git-awareness-workspace-notes-and-appearance branch July 22, 2026 03:50
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