Skip to content

Repository files navigation

git-crypt

CI

VSCode extension that makes git-crypt repositories work in the Source Control panel.

A git-crypt repository in VS Code with the encrypted file marked by the extension's lock badge

The Problem

VSCode's extension host process uses a minimal PATH that often excludes directories like /opt/homebrew/bin — even when VSCode is launched from a terminal with the full PATH configured. This means the git-crypt clean/smudge filter fails with git-crypt: command not found, which can prevent the entire repository from loading in the SCM panel.

How It Works

On macOS and Linux, the extension ships a bundled git-crypt binary. No separate installation needed — the extension appends its binary to PATH so git's clean/smudge filters just work. If you already have git-crypt installed, your version takes precedence.

Git-crypt files are also decorated with a lock badge so you can identify them at a glance.

Lock badges refresh automatically when Git detects repository changes, including newly tracked files and .gitattributes updates.

Usage

With the extension installed, git-crypt files work like any other file in the Source Control panel — double-click to diff, stage with the + icon, etc.

Requirements

To install git-crypt system-wide (outside VSCode), run the git-crypt: Install git-crypt to system PATH command from the command palette.

Install

Search "git-crypt" in the Extensions view, or run:

code --install-extension j-256.git-crypt-vscode

Known Limitations

  • The lock badge appears on all git-crypt files in the file explorer, not just changed ones

Contributing

See CONTRIBUTING.md for development setup, architecture, and release workflow.

Project cover automation

The cover launches a pinned VS Code build with the extension in an isolated profile and a disposable git-crypt repository. It requires git-crypt; Linux also requires a display, supplied by xvfb-run -a in CI. The capture downloads VS Code on first use and keeps its cache under tools/cover/.vscode-test. Install the capture tooling with npm ci --prefix tools/cover and npm exec --prefix tools/cover -- playwright install chromium, then run npm run capture:cover. Use -- --output FILE to write a review image elsewhere. CI captures during source verification and retains the image as an artifact. Successful main builds publish a changed docs/screenshots/cover.png with an image-only commit; pull requests render without publishing, and superseded revisions skip publication.

Cover image density

The project cover is rendered at 4x pixel density while preserving its logical viewport, so enlarged previews retain more detail. Higher density does not increase the displayed text size; use zoom to inspect small labels.

License

MIT

About

Visual Studio Code extension that makes git-crypt repositories work in the Source Control panel.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages