## 1. Provider Adapters - [ ] 1.1 Implement GitHubAdapter in apps/api/app/git/providers/github.py - [ ] 1.2 Implement GitLabAdapter in apps/api/app/git/providers/gitlab.py - [ ] 1.3 Add provider factory in apps/api/app/git/providers/__init__.py - [ ] 1.4 Write tests for GitHubAdapter (mock API responses) - [ ] 1.5 Write tests for GitLabAdapter (mock API responses) ## 2. Credential Storage - [ ] 2.1 Create CredentialStorage implementation in apps/api/app/git/credentials.py - [ ] 2.2 Add database model for GitCredential if needed - [ ] 2.3 Integrate Fernet encryption from app/encryption.py - [ ] 2.4 Add credential router in apps/api/app/routers/credentials.py - [ ] 2.5 Write tests for credential storage ## 3. SSH Key Lifecycle - [ ] 3.1 Complete SshKeyLifecycle.generate_key_pair() with real Ed25519 - [ ] 3.2 Add SSH key endpoints in apps/api/app/routers/ssh_keys.py - [ ] 3.3 Implement key rotation logic - [ ] 3.4 Write tests for SSH key generation ## 4. Repository Connection API - [ ] 4.1 Create RepositoryConnection router in apps/api/app/routers/repository_connections.py - [ ] 4.2 Implement POST /api/v1/repository-connections endpoint - [ ] 4.3 Implement GET /api/v1/repository-connections endpoint - [ ] 4.4 Implement GET /api/v1/repository-connections/:id endpoint - [ ] 4.5 Implement DELETE /api/v1/repository-connections/:id endpoint - [ ] 4.6 Add validation for repository URLs and tokens - [ ] 4.7 Write tests for repository connection endpoints ## 5. Git Operations - [ ] 5.1 Complete LocalGitOperations.clone() with SSH key - [ ] 5.2 Complete LocalGitOperations.fetch() with SSH key - [ ] 5.3 Complete LocalGitOperations.push() with SSH key - [ ] 5.4 Add error handling for auth failures - [ ] 5.5 Write tests for git operations ## 6. Frontend UI - [ ] 6.1 Create RepositoryConnectionListPage.tsx - [ ] 6.2 Create RepositoryConnectionFormPage.tsx - [ ] 6.3 Add repository connection routes to router.tsx - [ ] 6.4 Add API client methods for repository connections - [ ] 6.5 Add types for repository connections ## 7. Documentation - [ ] 7.1 Update docs/architecture.md with Git connection model - [ ] 7.2 Update docs/development.md with setup instructions - [ ] 7.3 Add provider setup guide (GitHub/GitLab tokens) ## 8. Testing & Verification - [ ] 8.1 Run all backend tests (target: 90+) - [ ] 8.2 Run ruff linter - [ ] 8.3 Run mypy type checker - [ ] 8.4 Run frontend tests - [ ] 8.5 Verify API endpoints with manual testing - [ ] 8.6 Update project specsheet