How harian12/mytermin works
MyTermin is a Windows developer-workspace desktop app combining isolated project workstations, multi-terminal sessions, a Monaco editor, file/Git tools, and task and AI-assisted workflows. The principal flow is: a developer opens a project, works in its file explorer and editor, runs commands in a workstation terminal, and manages changes or searches across the project. The graph also includes documented supporting capabilities such as configuration, notifications, and port management. Some subsystem links rely on the README because their source was not sampled; uncertain wiring is omitted.
Main entry points: main.rs Tauri commands · app.vue Application shell · useProjectExplorer.ts Project explorer and Git · TerminalPane.vue Terminal panes
Components 23
Workspace and UI
- Application shell
app/app.vue - Workstation sessions
app/composables/useWorkspaceStore.ts - Workspace layout
app/components/LayoutGrid.vue - Workstation explorer UI
app/components/WorkstationSidebar.vue
Terminal and tasks
- Terminal panes
app/components/TerminalPane.vue - PTY client
app/composables/useTauriPty.ts - Task runner UI
app/components/TaskPanel.vue - AI CLI runner
app/components/AiPanelModal.vue
Project and code
- Monaco editor
app/components/CodeEditorPane.vue - Editor sessions
app/composables/useEditorStore.ts - Project explorer and Git
app/composables/useProjectExplorer.ts
Search and settings
- Project search
app/components/GlobalSearchModal.vue - Settings and notifications
app/composables/useSettingsStore.ts - Project config and env
app/composables/useProjectConfig.ts - Port manager
app/components/PortManagerModal.vue - Port operations
app/composables/usePortManager.ts
Desktop runtime
- PTY runtime
src-tauri/src/pty.rs - Tauri commands
src-tauri/src/main.rs
Other components
- Developer
- Project files
- Local session storage
- System shells and tools
- Default browser
Connections 26
- Developer → Application shell: uses
- Application shell → Workstation sessions: manages sessions
- Application shell → Workspace layout: displays workspace
- Application shell → Workstation explorer UI: displays navigation
- Application shell → Monaco editor: hosts editor
- Workstation sessions → Local session storage: persists sessions
- Workspace layout → Terminal panes: arranges panes
- Terminal panes → PTY client: controls PTYs
- PTY client → Tauri commands: invokes commands
- Tauri commands → PTY runtime: manages PTYs
- PTY runtime → System shells and tools: runs processes
- Task runner UI → Terminal panes: sends task output
- AI CLI runner → Terminal panes: launches CLI
- Monaco editor → Editor sessions: edits files
- Editor sessions → Tauri commands: reads and writes
- Tauri commands → Project files: accesses files
- Workstation explorer UI → Project explorer and Git: browses project
- Project explorer and Git → Tauri commands: invokes file and Git commands
- Project explorer and Git → Project files: scans project
- Project search → Project explorer and Git: searches project
- Application shell → Project config and env: loads project settings
- Settings and notifications → Local session storage: stores preferences
- Port manager → Port operations: requests port actions
- Port operations → Tauri commands: invokes port commands
- Tauri commands → System shells and tools: inspects or kills processes
- Port operations → Default browser: opens port URL