How kuddev/pebrel works
Pebrel is a native desktop terminal and workspace for local shells, SSH hosts, files, and AI command-line sessions. The main workflow starts with a user opening a workspace, creating terminal panes or tabs, and interacting with local or remote sessions; the app also surfaces agent activity and captured answers. Separate capabilities include SFTP, file browsing, session restoration, configuration, and native document viewing. The tree and README support these subsystem boundaries, but sampled source is limited, so edges represent documented workflows or directly evidenced calls rather than inferred internal wiring.
Main entry points: workspace.rs Workspace UI · main.rs Application startup · view.rs Terminal view · session.rs Terminal session
Components 26
Desktop workspace
- Application startup
nebula_app/src/main.rs - Workspace UI
nebula_app/src/gpui_shell/workspace.rs - Session restore
nebula_app/src/gpui_shell/workspace/session_persistence.rs - Split layout
nebula_split/src/lib.rs - Runtime API
nebula_app/src/runtime_api.rs
Terminal sessions
- Terminal view
nebula_app/src/gpui_shell/terminal/view.rs - Terminal session
nebula_app/src/gpui_shell/terminal/session.rs - Command completion
nebula_app/src/display/suggest_engine.rs
Remote and files
- SSH connectivity
nebula_app/src/ssh.rs - SFTP panel
nebula_app/src/display/sftp_panel.rs - File browsing
nebula_app/src/gpui_shell/workspace/file_tree.rs
AI workflows
- Agent activity
nebula_app/src/ai_agents.rs - AI hook integration
nebula_app/src/ai_hook.rs - Hook bridge
nebula_hook/src/main.rs - Answer reader
nebula_app/src/assistant_answer.rs
Configuration and display
- Configuration
nebula_app/src/config/mod.rs - User settings
nebula_settings/src/lib.rs - Document tabs
nebula_app/src/gpui_shell/doc_tabs.rs - Markdown rendering
nebula_app/src/markdown/mod.rs - Math rendering
nebula_app/src/math/mod.rs - GPU renderer
nebula_app/src/renderer/mod.rs
Other components
- User
- Local shell
- SSH hosts
- Local and remote files
- AI CLI tools
Connections 26
- User → Application startup: opens
- Application startup → Workspace UI: starts
- Workspace UI → Session restore: restores sessions
- Workspace UI → Split layout: arranges panes
- Workspace UI → Terminal view: opens terminals
- Terminal view → Terminal session: controls
- Terminal session → Local shell: runs commands
- Terminal view → Command completion: requests suggestions
- Workspace UI → SSH connectivity: opens remote sessions
- SSH connectivity → SSH hosts: connects to
- Workspace UI → SFTP panel: opens file transfers
- Workspace UI → File browsing: browses files
- File browsing → Local and remote files: reads files
- SFTP panel → Local and remote files: transfers files
- Terminal session → AI CLI tools: runs tools
- AI CLI tools → Hook bridge: emits events
- Hook bridge → AI hook integration: forwards events
- AI hook integration → Agent activity: updates activity
- AI hook integration → Answer reader: captures answers
- Application startup → Runtime API: starts endpoint
- Workspace UI → Configuration: uses configuration
- Workspace UI → User settings: uses settings
- Workspace UI → Document tabs: opens documents
- Document tabs → Markdown rendering: renders Markdown
- Document tabs → Math rendering: renders formulas
- Workspace UI → GPU renderer: draws interface