docs(openspec): add FN-007 Git Connection Model change

- 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
This commit is contained in:
2026-05-16 13:43:49 +02:00
parent e071e3418d
commit 024278a3d2
10 changed files with 349 additions and 0 deletions
@@ -0,0 +1,35 @@
## 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