Skip to content

fzdwx/view

Repository files navigation

view

view is a Tauri 2 desktop workbench for browsing projects, inspecting Git history, reviewing diffs, editing files, and running an embedded terminal from one dense desktop UI.

It is built for day-to-day repository work rather than marketing-style chrome: fast navigation, multi-panel workflows, and native-feeling resize and drag interactions.

view desktop screenshot

Highlights

  • Rail-based workspace layout with draggable tool icons on the left and right rails
  • File tree, Git, commit, and terminal panels that can be moved between rail slots
  • Side-by-side workflow with editor or diff content kept in the center
  • CodeMirror-based text editor with search, replace, and inline Git blame
  • Git history and reflog views, including backend-powered filtering
  • Commit inspection, staging, restore, and reset-to-reflog flows
  • Embedded terminal powered by alacritty_terminal
  • Multi-project switching with persisted workbench layout and panel sizes
  • Works for regular folders too; Git-specific panels activate when the selected folder is inside a Git repository

Stack

  • Frontend: React 19 + Vite + TypeScript
  • Desktop shell: Tauri 2
  • Backend: Rust commands in src-tauri/src/lib.rs
  • Data/query layer: TanStack Query
  • Editor: CodeMirror 6
  • Diff renderer: @pierre/diffs
  • Tree renderer: @pierre/trees

Development

Requirements

  • Bun 1.3+
  • Rust stable
  • Tauri 2 prerequisites for your platform

Linux dev builds also need the GTK/WebKit dependencies used in CI:

sudo apt-get install -y \
  libwebkit2gtk-4.1-dev \
  libappindicator3-dev \
  librsvg2-dev \
  patchelf \
  libssl-dev \
  libgtk-3-dev \
  libfuse2

Install

bun install

Common commands

# Frontend only
bun run dev

# Desktop app in development
bun run tauri:dev

# Typecheck + production frontend build
bun run build

# Rust tests
cd src-tauri && cargo test

# Build desktop release
bun run tauri:build

# Build and run the Linux release binary
just run-release

Repository layout

src/                     React UI, hooks, CodeMirror integration, settings
src/components/          App surfaces and workbench panels
src/components/editor/   File preview and editor-related UI
src/components/workbench/Rail slot stacks and Git panel composition
src/hooks/               Query and UI state hooks
src/lib/                 Tauri API wrappers, layout, parsing, transforms
src-tauri/src/           Rust commands, Git operations, terminal backend
.github/workflows/       CI build and release automation

CI

GitHub Actions builds Linux and Windows artifacts from .github/workflows/build.yml.

  • Rust dependencies and target output are cached with swatinem/rust-cache@v2
  • Bun package downloads are cached via actions/cache@v4
  • Frontend dependencies are installed with bun install --frozen-lockfile

Notes

  • src/App.tsx is currently an orchestration-heavy shell; new feature logic is generally better extracted into src/components/, src/hooks/, or src/lib/
  • Tauri command wrappers belong in src/lib/api.ts rather than React components calling invoke directly
  • Path-sensitive Git and file operations are validated on the Rust side

License

No license has been declared yet.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors