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
1.3 KiB
1.3 KiB
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