## ADDED Requirements ### Requirement: File tree as primary view The mobile Repo Workspace SHALL display the file tree as the primary view with repository and branch selectors at the top. #### Scenario: Viewing file tree - **WHEN** user navigates to a project's workspace on mobile - **THEN** a file tree is displayed showing folders and files in the repository #### Scenario: Repository selection - **WHEN** user taps the repository selector dropdown - **THEN** a list of available repositories is shown for selection #### Scenario: Branch selection - **WHEN** user taps the branch selector dropdown - **THEN** a list of branches is shown for selection ### Requirement: File tree interactions The file tree SHALL support folder expansion, file opening, and git status indicators. #### Scenario: Expanding folder - **WHEN** user taps a folder in the tree - **THEN** the folder expands to show its contents, or collapses if already expanded #### Scenario: Opening file - **WHEN** user taps a file in the tree - **THEN** the file opens in the editor view #### Scenario: Git status indicators - **WHEN** files have git status (modified, staged, untracked) - **THEN** visual indicators (colors/icons) are shown next to affected files ### Requirement: Bottom tab navigation The mobile workspace SHALL provide bottom tabs for switching between File Tree, Editor, Git, and Terminal views. #### Scenario: Switching to Editor tab - **WHEN** user taps the "Editor" tab - **THEN** the editor view is shown with the currently selected file (or empty state) #### Scenario: Switching to Git tab - **WHEN** user taps the "Git" tab - **THEN** the git view is shown with status, commit form, and file lists #### Scenario: Switching to Terminal tab - **WHEN** user taps the "Terminal" tab - **THEN** the terminal view is shown for the current repository ### Requirement: Editor view The editor view SHALL provide a full-screen code editing experience with syntax highlighting. #### Scenario: Editing file - **WHEN** user opens a file and modifies it - **THEN** syntax highlighting is applied and changes can be saved #### Scenario: Editor toolbar - **WHEN** viewing the editor - **THEN** a toolbar shows file name, save button, undo/redo buttons ### Requirement: Git view The git view SHALL show repository status and allow committing changes. #### Scenario: Viewing git status - **WHEN** user opens the Git tab - **THEN** modified, staged, and untracked files are listed separately #### Scenario: Staging files - **WHEN** user toggles a file's checkbox - **THEN** the file is staged or unstaged accordingly #### Scenario: Committing changes - **WHEN** user enters a commit message and taps "Commit" - **THEN** staged files are committed with the provided message ### Requirement: Terminal view The terminal view SHALL provide a full-screen terminal for the repository's tool instance. #### Scenario: Terminal for repository - **WHEN** user opens the Terminal tab - **THEN** a terminal is shown connected to the repository's active tool instance #### Scenario: No active instance - **WHEN** no tool instance is running for the repository - **THEN** a message is shown with a button to start a new session