## ADDED Requirements ### Requirement: User can view their projects The system SHALL display a list of projects belonging to the authenticated user. #### Scenario: Project list page - **WHEN** the user navigates to /projects - **THEN** the system fetches projects from /api/v1/projects - **AND** displays each project with name, description, and created date - **AND** shows an empty state when no projects exist #### Scenario: Project detail - **WHEN** the user clicks on a project - **THEN** the system navigates to /projects/:id - **AND** displays project details including repositories and tool instances ### Requirement: User can create a project The system SHALL allow authenticated users to create new projects. #### Scenario: Create project form - **WHEN** the user clicks "New Project" - **THEN** a form appears with name and description fields - **AND** the name field validates for non-empty and URL-friendly slug generation - **AND** submitting the form POSTs to /api/v1/projects - **AND** on success, the user is redirected to the new project ### Requirement: User can edit and delete projects The system SHALL allow project owners to modify or remove their projects. #### Scenario: Edit project - **WHEN** the user clicks "Edit" on a project - **THEN** a pre-filled form appears - **AND** submitting updates the project via PUT /api/v1/projects/:id #### Scenario: Delete project - **WHEN** the user clicks "Delete" on a project - **THEN** a confirmation dialog appears - **AND** confirming sends DELETE /api/v1/projects/:id - **AND** the project is removed from the list