4e2edb1d93
- Add backend API for git repository CRUD (create, list, delete) - Support bare repository initialization and mirror cloning - Add cascade delete for repositories when project is deleted - Add frontend page for repository management per project - Update project page with link to repositories - Add repo_base_path to config - Quality gates: ruff, mypy, typecheck, lint, build all pass
22 lines
958 B
Markdown
22 lines
958 B
Markdown
## 1. Backend SSH Key API
|
|
|
|
- [x] 1.1 Create `apps/api/src/api/ssh_keys.py` with endpoints for list, generate, and delete SSH keys.
|
|
- [x] 1.2 Implement Ed25519 key generation using cryptography library.
|
|
- [x] 1.3 Implement Fernet encryption for private keys.
|
|
- [x] 1.4 Add Pydantic schemas for SSHKeyCreate, SSHKeyResponse.
|
|
- [x] 1.5 Register ssh_keys router in `apps/api/src/main.py`.
|
|
- [x] 1.6 Add backend tests for SSH key CRUD operations.
|
|
|
|
## 2. Frontend SSH Keys Page
|
|
|
|
- [x] 2.1 Create `apps/web/src/api/ssh_keys.ts` with API methods.
|
|
- [x] 2.2 Create `apps/web/src/pages/ssh-keys.tsx` with key list, generate form, and delete action.
|
|
- [x] 2.3 Add `/ssh-keys` route in `apps/web/src/router.tsx`.
|
|
- [x] 2.4 Update app shell navigation to include SSH keys link.
|
|
|
|
## 3. Verification
|
|
|
|
- [x] 3.1 Run backend checks (pytest, ruff, mypy).
|
|
- [x] 3.2 Run frontend checks (npm test, typecheck, lint, build).
|
|
- [x] 3.3 Update tasks file with completed checkboxes.
|