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
1.3 KiB
1.3 KiB
1. Backend Git Repository API
- 1.1 Create
apps/api/src/api/git_repositories.pywith 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.tswith API methods. - 2.2 Create
apps/web/src/pages/git-repositories.tsxwith 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.