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:
@@ -0,0 +1,29 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Git clone uses SSH credentials
|
||||
The system SHALL clone repositories using SSH keys.
|
||||
|
||||
#### Scenario: Clone repository
|
||||
- **WHEN** the system clones a repository
|
||||
- **THEN** it writes the SSH private key to a temporary file
|
||||
- **AND** sets GIT_SSH_COMMAND to use the key
|
||||
- **AND** executes git clone
|
||||
- **AND** cleans up the temporary key file
|
||||
|
||||
#### Scenario: Clone fails with invalid key
|
||||
- **WHEN** a clone operation fails due to authentication
|
||||
- **THEN** the system returns a clear error message
|
||||
- **AND** suggests checking deploy key permissions
|
||||
|
||||
### Requirement: Git fetch and push use credentials
|
||||
The system SHALL support fetch and push operations with SSH credentials.
|
||||
|
||||
#### Scenario: Fetch updates
|
||||
- **WHEN** the system fetches from a remote
|
||||
- **THEN** it uses the stored SSH key for authentication
|
||||
- **AND** returns the fetch result
|
||||
|
||||
#### Scenario: Push changes
|
||||
- **WHEN** the system pushes to a remote
|
||||
- **THEN** it uses the stored SSH key for authentication
|
||||
- **AND** returns the push result
|
||||
Reference in New Issue
Block a user