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
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
## 1. Backend Git Repository API
|
|
|
|
- [ ] 1.1 Create `apps/api/src/api/git_repositories.py` with endpoints for list, create, clone, and delete repositories.
|
|
- [ ] 1.2 Add Pydantic schemas for GitRepositoryCreate, GitRepositoryResponse.
|
|
- [ ] 1.3 Implement bare repository initialization using `git init --bare`.
|
|
- [ ] 1.4 Implement mirror cloning using `git clone --mirror`.
|
|
- [ ] 1.5 Add ownership validation (only project owner can manage repos).
|
|
- [ ] 1.6 Add duplicate name validation per project.
|
|
- [ ] 1.7 Register router in `apps/api/src/main.py`.
|
|
- [ ] 1.8 Add backend tests for repository CRUD operations.
|
|
|
|
## 2. Frontend Git Repositories Page
|
|
|
|
- [ ] 2.1 Create `apps/web/src/api/git_repositories.ts` with API methods.
|
|
- [ ] 2.2 Create `apps/web/src/pages/git-repositories.tsx` with repo list, create form, and delete action.
|
|
- [ ] 2.3 Add route in `apps/web/src/router.tsx`.
|
|
- [ ] 2.4 Update project page to show associated repositories.
|
|
|
|
## 3. Project Integration
|
|
|
|
- [ ] 3.1 Update project deletion to cascade delete repositories.
|
|
- [ ] 3.2 Update project response to include repository count.
|
|
|
|
## 4. Verification
|
|
|
|
- [ ] 4.1 Run backend checks (pytest, ruff, mypy).
|
|
- [ ] 4.2 Run frontend checks (npm test, typecheck, lint, build).
|
|
- [ ] 4.3 Verify docker-compose config is valid.
|