Skip to main content

Overview

Jean includes a comprehensive suite of developer tools that integrate directly into the chat interface, providing quick access to terminals, file diffs, previews, and your favorite code editor.

Key Capabilities

Integrated Terminal

Architecture:
  • Built on xterm.js for rendering
  • PTY (pseudoterminal) backend in Rust
  • Multiple terminals per session
  • Persistent across app restarts
Terminal management:
Registry system:
Lifecycle:
  1. User opens terminal panel
  2. Tauri command create_terminal spawns PTY
  3. WebSocket connection established for I/O
  4. xterm.js renders output
  5. User input sent via write_to_terminal command
  6. Terminal persists until closed or app exits
Features:
  • Resizable split panel
  • Multiple tabs
  • Full shell capabilities
  • Copy/paste support
  • Scrollback buffer
  • ANSI color support
  • Keyboard shortcuts

File Diff Viewer

Single file diffs:
Features:
  • Side-by-side (split) view
  • Unified diff view
  • Syntax highlighting
  • Line numbers
  • Expand/collapse hunks
  • Status badges (new, deleted, modified, renamed)
Implementation:
Diff types:
Theme support:
  • Respects app theme (light/dark/system)
  • Syntax highlighting matches settings
  • Configurable color schemes

Git Diff Modal

Full repository diffs:
Features:
  • Multiple file diffs in one view
  • File tree navigation
  • Expand/collapse files
  • Search within diffs
  • Export diff as patch
  • Jump to file in editor
Performance:
  • Lazy-loaded (code splitting)
  • Virtual scrolling for large diffs
  • Syntax highlighting on-demand
  • Debounced search

File Preview

In-chat file mentions:
Preview modal:
Features:
  • Syntax highlighting (via Shiki)
  • Line numbers
  • Copy button
  • Open in editor button
  • Theme-aware
Supported languages:
  • JavaScript/TypeScript
  • Rust
  • Python
  • Go
  • HTML/CSS
  • JSON/YAML
  • Markdown
  • And 100+ more via Shiki

Editor Integration

Supported editors:
Opening files:
URL schemes:
  • Zed: zed://file/path?line=42
  • VS Code: vscode://file/path:42
  • Cursor: cursor://file/path:42
  • Xcode: Opens via xed command
Supported from:
  • File mention badges
  • Diff viewer “Open” buttons
  • File preview “Edit” buttons
  • Right-click context menus
  • Review findings (jump to file:line)

Inline Code Editor

CodeMirror 6 integration:
Features:
  • Syntax highlighting
  • Line numbers
  • Bracket matching
  • Auto-indentation
  • Vim keybindings (optional)
  • Theme support
Use cases:
  • Quick edits during review
  • Small file changes
  • JSON/config editing
  • Viewing generated code
Configuration:

Syntax Highlighting

Shiki integration:
Features:
  • 100+ bundled languages
  • 20+ bundled themes
  • Accurate syntax parsing
  • Tree-sitter based
  • Supports code blocks in chat

File System Browser

Worktree file tree:
  • Hierarchical folder structure
  • Expand/collapse folders
  • File type icons
  • Search/filter
  • Quick open
  • Right-click actions
Actions:
  • Preview file
  • Open in editor
  • Copy path
  • Reveal in Finder/Explorer
  • Show git status
  • View file diff

How to Use

Using the Terminal

Open terminal:
  1. Click terminal icon in bottom toolbar
  2. Or press Cmd/Ctrl + `
  3. Terminal panel slides up
Resize panel:
  • Drag resize handle
  • Double-click handle to collapse
  • Min/max sizes enforced
Multiple terminals:
  1. Click ”+” in terminal tabs
  2. New terminal spawns
  3. Switch with tabs or Cmd/Ctrl + 1-9
Close terminal:
  • Click X on tab
  • Or type exit in shell
  • Terminal process killed immediately

Viewing File Diffs

From file mentions:
  1. Hover over file mention in chat
  2. Click “View Diff” button
  3. Diff modal opens
From toolbar:
  1. Click “Diff” button
  2. Choose diff type:
    • Uncommitted changes
    • Staged changes
    • Branch diff
  3. Modal shows all changed files
Switch view modes:
  • Click split/unified toggle
  • Split: Side-by-side comparison
  • Unified: Traditional patch view

Previewing Files

From chat:
  1. Click file mention badge
  2. Preview modal opens
  3. View syntax-highlighted content
  4. Click “Open in Editor” to edit
From file tree:
  1. Click file in sidebar
  2. Preview loads inline
  3. Or double-click to open in editor

Opening in Editor

Configure default editor:
  1. Settings (Cmd/Ctrl + ,)
  2. Interface section
  3. Editor dropdown
  4. Select preferred editor
Quick open:
  • Cmd/Ctrl + click file mention
  • Right-click → Open in Editor
  • Keyboard shortcut on file tree item
Jump to line:
  • From review findings
  • From error messages
  • From search results
  • Editor opens at specific line

Syntax Theme Customization

Change theme:
  1. Settings → Interface
  2. Syntax Theme (Dark) or (Light)
  3. Choose from dropdown
  4. Preview updates immediately
Per-mode themes:
  • Separate themes for light and dark mode
  • Automatically switches with app theme
  • System theme detection supported

Configuration Options

Settings → Interface

Terminal:
Editor:
Syntax Themes:

Settings → Keybindings

Terminal shortcuts:
File shortcuts:

Best Practices

Terminal Usage

When to use integrated terminal:
  • Quick commands during chat
  • Running tests
  • Git operations
  • Build scripts
  • File operations
When to use external terminal:
  • Long-running processes
  • Multiple panes needed
  • Advanced shell features
  • Terminal multiplexing (tmux, screen)
Performance tips:
  • Close unused terminals
  • Clear scrollback buffer
  • Avoid excessive output
  • Use external terminal for heavy tasks

File Diff Workflows

Before committing:
  1. Review uncommitted diff
  2. Check each changed file
  3. Verify no debug code
  4. Ensure tests pass
  5. Stage and commit
During code review:
  1. Open branch diff
  2. Review each file systematically
  3. Note concerns in findings
  4. Request changes or approve
Debugging:
  1. Compare working vs broken commit
  2. Identify changed lines
  3. Narrow down regression
  4. Fix and verify

Editor Integration

Optimize workflow:
  • Set editor to primary development tool
  • Use inline editing for quick tweaks only
  • External editor for substantial changes
  • Keep editor and Jean side-by-side
File organization:
  • Consistent project structure
  • Editor workspace synced with worktree
  • Use editor’s file tree for navigation
  • Use Jean for AI assistance

Syntax Highlighting

Theme selection:
  • Match editor theme for consistency
  • High contrast for readability
  • Consider color blindness
  • Test in both light and dark modes
Popular combinations:

Performance Optimization

Terminal:
  • Limit scrollback buffer
  • Close inactive terminals
  • Avoid cat-ing large files
  • Use less/more for viewing
Diff viewer:
  • Collapse unchanged sections
  • Focus on specific files
  • Use search to find relevant changes
  • Export large diffs as patches
File preview:
  • Large files (> 1MB) may be slow
  • Disable syntax highlighting if needed
  • Use external editor for large files
  • Clear preview cache periodically

Keyboard Shortcuts

Efficient navigation:
Terminal:
Editor:

Troubleshooting

Terminal not working:
  • Check shell path in settings
  • Verify terminal app installed
  • Review app logs for errors
  • Try resetting terminal
Diff viewer blank:
  • Ensure git repository initialized
  • Check for uncommitted changes
  • Verify working directory correct
  • Refresh with Cmd/Ctrl + R
Editor won’t open:
  • Verify editor installed
  • Check URL scheme registered
  • Test with open vscode://file/test.txt
  • Reinstall editor if needed
Syntax highlighting missing:
  • Language not supported (check Shiki docs)
  • Theme not loaded (try switching)
  • File extension unrecognized
  • Use plain text fallback

Advanced Usage

Terminal automation:
Custom editor commands:
Diff export: