GitPad is a local-first desktop workspace for notes and code where each workspace is a real Git repository.
GitPad combines:
- a file explorer with real filesystem operations
- a multi-tab editor
- command palette and quick-open workflows
- integrated Git history, branches, staging, and diff inspection
- terminal and GitHub sync tools
- local account/session and activity feed foundations
- Creating a workspace initializes a repository but does not create a commit.
- Commits are created from staged changes with an explicit commit message.
- Workspaces are isolated from each other (tree, tabs, history, settings state).
- Frontend (
src/*) and backend (backend/*,electron/*) are separated by a typed IPC bridge.
- Workspace lifecycle: create, open, switch, rename, delete.
- Explorer: create file/folder, rename, duplicate, delete, drag-drop move, filter, context menu, collapse all.
- Editor: open files, multi-tab editing, dirty indicators, save active, save all, close/close others/close all, reopen closed tab.
- Command palette (
Ctrl+K) with actionable commands and categories. - Quick open (
Ctrl+P) for fuzzy file navigation. - Search with advanced filters and “search inside results”.
- Source control panel with stage/unstage, discard, commit, branch-aware diffs, and merge.
- Git history panel with filtering, details, revert, restore, and diff views.
- Terminal integration for Git and shell commands.
- GitHub sync with encrypted token storage in desktop secure storage.
- Account/session panel and activity feed.
Ctrl+K: command paletteCtrl+P: quick open fileCtrl+S: save active fileCtrl+W: close active tabCtrl+B: toggle explorer sidebarCtrl+Shift+F: searchCtrl+N: new noteCtrl+Shift+N: quick capture
npm install
npm run devProduction build:
npm run build
npm run startBuild artifacts are written to target/:
target/disttarget/dist-electron
Windows release executable:
npm run release:winThe installer .exe is generated in target/release/.
Tests:
npm testGitPad includes Docker targets for dev, CI, and headless desktop runtime.
Build the CI image (runs tests + build):
docker build --target ci -t gitpad:ci .Run renderer dev server in a container:
docker compose up renderer-devRun headless Electron startup in a container:
docker compose up desktop-headlessgitpad/
├── src/
│ ├── components/
│ ├── editor/
│ ├── git/
│ ├── pages/
│ ├── search/
│ ├── settings/
│ ├── store/
│ └── terminal/
├── backend/
│ ├── commands/
│ ├── file-system/
│ └── git/
├── electron/
├── docs/
└── tests/
Screenshots will be added in a later update.
- Documentation Home
- License
- docs/features.md
- docs/architecture.md
- docs/workspaces.md
- docs/history-system.md
- docs/version-control.md
- docs/branches.md
- docs/staging.md
- docs/sync.md
- docs/collaboration.md
- docs/permissions.md
- docs/shortcuts.md
- docs/ui-behavior.md
- Plugin system
- Collaboration
- Cloud sync
- AI-assisted notes