What to build
End-to-end repository creation and HTTPS clone. This is the first slice where GitRepository (the deep module) earns its keep.
- Web UI: "New Repository" form with name and (deferred-elsewhere) visibility flag. Repository list page on the user's profile.
platform-api: POST /repos, GET /repos, GET /repos/:owner/:name endpoints. On create, GitRepository.Init runs and produces a bare repo on EBS.
- HTTPS Git transport:
platform-api mounts git-http-backend (or equivalent) at /:owner/:name.git/.... An empty repo can be cloned with git clone https://forge.../<owner>/<name>.git.
- Auth on Git HTTPS: at this slice, accept the session cookie from
web. Personal Access Tokens come in slice 12.
Acceptance criteria
Blocked by
What to build
End-to-end repository creation and HTTPS clone. This is the first slice where
GitRepository(the deep module) earns its keep.platform-api:POST /repos,GET /repos,GET /repos/:owner/:nameendpoints. On create,GitRepository.Initruns and produces a bare repo on EBS.platform-apimountsgit-http-backend(or equivalent) at/:owner/:name.git/.... An empty repo can be cloned withgit clone https://forge.../<owner>/<name>.git.web. Personal Access Tokens come in slice 12.Acceptance criteria
hello-worldfrom the web UI.git clone https://forge.../<owner>/hello-world.gitagainst an empty Repository succeeds and produces a valid empty Git working tree.GitRepositoryhas unit tests coveringInit,ListRefson an empty repo, and idempotent re-init protection.Blocked by