Skip to content

matyascimbulka/jj-studio

Repository files navigation

JJ Studio

A beautiful GUI application for Jujutsu VCS built with Tauri, React, and TypeScript.

Features

  • 🔍 Repository Selection: Browse and select JJ repositories with an intuitive file dialog
  • 📋 Change Visualization: View repository changes with descriptions, commit IDs, and metadata
  • 🎨 Modern UI: Beautiful gradient design with glassmorphism effects
  • 🔒 Secure: Robust path validation and sanitization for security
  • Fast: Native Rust backend for efficient JJ operations

Prerequisites

Development

  1. Clone the repository

    git clone <repository-url>
    cd jj-studio
  2. Install dependencies

    npm install
  3. Run in development mode

    npm run tauri dev

Building

To build the application for production:

npm run tauri build

Architecture

Frontend (React + TypeScript)

  • Modern React with hooks
  • TypeScript for type safety
  • Lucide React for beautiful icons
  • CSS with modern features (backdrop-filter, gradients)

Backend (Rust + Tauri)

  • Secure path validation and sanitization
  • Async command execution with proper error handling
  • Structured data parsing from JJ commands
  • Cross-platform file system operations

Security Features

  • Path sanitization to prevent directory traversal attacks
  • Input validation for suspicious patterns
  • Canonical path resolution
  • Proper error handling with specific exit codes
  • Timeout protection for long-running commands

User Interface

The application features a modern glass-morphism design with:

  • Gradient backgrounds
  • Blur effects and transparency
  • Responsive layout
  • Intuitive navigation
  • Clean typography
  • Smooth animations

JJ Integration

The application integrates with Jujutsu VCS by:

  • Validating repository structure (.jj directory presence)
  • Running jj status for verification
  • Executing jj log with custom templates for change data
  • Parsing structured output for display

Recommended IDE Setup

License

MIT License - see LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors