Files

84 lines
3.1 KiB
Markdown

## 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