024278a3d2
- Add proposal, design, specs, and tasks for git connection model - Include provider adapter, credential storage, SSH key lifecycle specs - Add repository connection API and git operations specifications
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: GitHub adapter implements provider interface
|
|
The system SHALL provide a GitHub adapter that implements the GitProvider interface.
|
|
|
|
#### Scenario: List repositories
|
|
- **WHEN** the adapter lists repositories for an authenticated user
|
|
- **THEN** it returns a list of repository objects with name, url, and default_branch
|
|
|
|
#### Scenario: Create deploy key
|
|
- **WHEN** the adapter creates a deploy key for a repository
|
|
- **THEN** it registers the SSH public key with GitHub
|
|
- **AND** returns the key ID
|
|
|
|
#### Scenario: Validate connection
|
|
- **WHEN** the adapter validates a token
|
|
- **THEN** it verifies the token with GitHub API
|
|
- **AND** returns user information
|
|
|
|
### Requirement: GitLab adapter implements provider interface
|
|
The system SHALL provide a GitLab adapter that implements the GitProvider interface.
|
|
|
|
#### Scenario: List repositories
|
|
- **WHEN** the adapter lists repositories for an authenticated user
|
|
- **THEN** it returns a list of repository objects with name, url, and default_branch
|
|
|
|
#### Scenario: Create deploy key
|
|
- **WHEN** the adapter creates a deploy key for a repository
|
|
- **THEN** it registers the SSH public key with GitLab
|
|
- **AND** returns the key ID
|
|
|
|
#### Scenario: Validate connection
|
|
- **WHEN** the adapter validates a token
|
|
- **THEN** it verifies the token with GitLab API
|
|
- **AND** returns user information |