Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Commit EchoNew to Visual Studio Code? Get it now.
Commit Echo

Commit Echo

Preview

Arham Rumi

|
3 installs
| (0) | Free
Automatically reconstruct your development work and generate evidence-backed standup updates from local coding activity.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Commit Echo

Your workday, echoed back to you.

CommitEcho is a local-first VS Code extension that combines today’s commits with the repository’s current working-tree snapshot and turns that evidence into a concise standup.

CommitEcho uses deterministic, evidence-backed rules and works without AI, accounts, backend services, or cloud storage.

Current features

  • Detects the active workspace and Git repository.
  • Tracks repositories locally and generates one combined daily standup across projects opened in separate VS Code windows.
  • Continues to include every distinct Git repository in the current multi-root workspace without requiring it to be tracked first.
  • Reads the repository name and current branch.
  • Reads today’s non-merge commits for the configured Git user, using local-day boundaries.
  • Detects the current staged, modified, deleted, and untracked file snapshot without claiming when those changes occurred.
  • Separates source, test, documentation, configuration, and other file signals.
  • Optionally analyzes committed, staged, and unstaged diffs locally for changed symbols and line counts.
  • Generates conservative Done, In Progress, Tomorrow, and Blockers sections.
  • Shows concise commit, branch, file, and status evidence beneath generated items.
  • Captures work Git cannot see with CommitEcho: Remember This and includes it in today’s standup.
  • Optionally records local file-save timestamps to confirm which uncommitted files were worked on today.
  • Shows an optional once-per-day end-of-day reminder with a direct Generate Standup action.
  • Saves and browses the latest generated standup per repository and local date using JSON in VS Code-managed local storage.
  • Saves combined daily standups in the same local history without persisting repository root paths.
  • Displays the standup in a native VS Code Output channel.
  • Copies the generated standup to the clipboard on request.
  • Handles missing workspaces, non-Git folders, missing Git, and no-activity days gracefully.

How standups are generated

  1. Commit Echo identifies the active or locally tracked repositories, their branches, and configured Git users.
  2. It collects today’s non-merge commits and the current staged, modified, deleted, and untracked file snapshot.
  3. It adds any Remember This notes and, when enabled, local diff and file-save evidence.
  4. Deterministic rules turn that evidence into conservative Done Today, In Progress, Tomorrow, and Blockers sections.
  5. The result is shown in the CommitEcho Output channel and saved to local JSON history.

Commit Echo does not invent activity. Uncommitted files are labeled as a current Git snapshot unless same-day save evidence exists. Tomorrow is included only when the branch supports a meaningful next step, and unknown blockers are reported as not recorded.

Example output

CommitEcho — Standup

Repository: api-service
Branch: feature/refresh-token-rotation

Done Today
- Implemented refresh-token rotation.
  Evidence: commit 8c2f6d1

In Progress (current Git snapshot)
- Uncommitted changes detected for refresh token rotation across 2 source files and 1 test file.
  Evidence: branch feature/refresh-token-rotation; 3 files [2 modified, 1 untracked]: src/auth.ts, src/session.ts, test/auth.test.ts

Tomorrow
- Continue refresh token rotation work.
  Evidence: branch feature/refresh-token-rotation

Blockers
No blockers recorded.

Privacy

CommitEcho reads development metadata only:

  • Repository and branch names
  • Commit hashes, authors, dates, and messages
  • Relative paths and Git working-tree statuses

By default, CommitEcho does not read source-file contents. When local diff analysis is explicitly enabled, raw Git patches are processed in memory and immediately discarded after extracting file paths, line counts, and identifier names. Raw diffs are never placed in evidence, logs, storage, or network requests.

Passive activity tracking is also disabled by default. When enabled, it stores only the save timestamp, repository ID/name, repository-relative path, and VS Code language ID. It never stores file contents, absolute paths, keystrokes, or idle-time measurements. Sensitive/generated paths are excluded by default.

Project tracking is explicit. When you run CommitEcho: Track Current Project, Commit Echo stores the repository name, hashed ID, absolute local path, and tracking timestamp in projects.json so it can find that repository from other VS Code windows. The path remains on your machine, is never included in generated standups or history, and can be removed with CommitEcho: Manage Tracked Projects.

Commit Echo has no network calls, analytics, AI provider, account system, or backend. Manual notes are stored locally as date-partitioned JSONL and scoped to the active repository when available. Reminder state is stored in one local JSON file; no notification or schedule data leaves VS Code.

Optional local diff analysis

Diff analysis is disabled by default and must be enabled for each workspace:

{
	"commitecho.diffAnalysis.enabled": true
}

When enabled, CommitEcho analyzes:

  • Diffs for today’s matching commits
  • Staged changes
  • Unstaged changes

It does not read untracked-file contents because Git has no baseline diff for them. Binary files, submodules, external diff tools, text-conversion drivers, generated folders, lockfiles, environment files, likely secret/key files, and user-configured exclusion patterns are skipped.

Available settings:

  • commitecho.diffAnalysis.enabled
  • commitecho.diffAnalysis.maxCharacters
  • commitecho.diffAnalysis.exclude

Optional file-save tracking

Enable passive save tracking for a workspace:

{
	"commitecho.activityTracking.enabled": true
}

Only saves made while VS Code and the extension are running are recorded; tracking is not retroactive. Events are kept in the same date-partitioned local JSONL event store as manual notes. Saved-file evidence is used only when the file is also present in the current uncommitted Git snapshot, preventing clean or reverted saves from becoming standup claims.

Available settings:

  • commitecho.activityTracking.enabled
  • commitecho.activityTracking.exclude

Requirements

  • VS Code 1.134 or newer
  • Git installed and available on PATH
  • A Git repository opened as a VS Code workspace
  • user.name or user.email configured in Git for commit filtering

Using Commit Echo

  1. Open a Git repository in VS Code.
  2. Open the Command Palette and run CommitEcho: Generate Standup.
  3. Review the result in the CommitEcho Output channel and select Copy Standup if needed.
  4. For combined standups across separate windows, run CommitEcho: Track Current Project once in each repository.
  5. From any VS Code window, run CommitEcho: Generate Daily Standup to scan the current workspace and every tracked repository.
  6. Run CommitEcho: Manage Tracked Projects to review or remove tracked repositories.
  7. Run CommitEcho: View History to browse repository-specific and combined standups.
  8. Run CommitEcho: Remember This whenever you want to record work that Git does not capture, then regenerate the standup.
  9. Run CommitEcho: Set End-of-Day Reminder to enable, change, or disable the local reminder.

The reminder works while VS Code is running. If VS Code opens after the configured time and no reminder was shown that day, Commit Echo shows it after startup.

Current limitations

  • Without optional file-save tracking, Git working-tree status has no timestamps, so CommitEcho labels it as a current snapshot rather than today’s activity.
  • Diff analysis extracts deterministic identifiers and change counts; it does not attempt AI-level semantic interpretation.
  • At most 20 matching commits are diff-analyzed per generation run.
  • Untracked files remain metadata-only until they have a Git baseline.
  • Generate Standup uses the active editor’s repository; Generate Daily Standup scans current workspace repositories plus every locally tracked repository.
  • Moved, deleted, or inaccessible tracked repositories are skipped until they are removed or tracked again from their new location.
  • Only the configured Git identity is used to identify the developer’s commits.
  • A Tomorrow item is generated only when a meaningful non-generic branch name supports a conservative next step.
  • Debug/session tracking and optional AI are not implemented.

Storage policy

CommitEcho uses date-partitioned JSON/JSONL files in VS Code-managed local storage. Tracked project locations are stored in one local projects.json registry. The project intentionally has no SQLite, embedded database, database server, or other database dependency.

Product principle

CommitEcho reconstructs work for the developer who performed it. It is not employee surveillance or productivity scoring.

License

CommitEcho is proprietary software. Installation and normal use are permitted under the included CommitEcho Proprietary Software License. The source repository is not publicly distributed.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft