User Story: US-G1 - As an operator, I want to provision the Stargate and make pushes transparent for developers.
Acceptance Criteria:
- The
.kv/policy.yaml file contains a stargate.push_url.
- The
git kv remote setup command exists and is executable.
- When a developer runs
git kv remote setup, it correctly reads the push_url from the policy file.
- The command then correctly executes
git config remote.origin.pushurl <url>.
- The command provides clear output to the user confirming the action taken.
- On GitHub, the
refs/kv/* branches are configured as "protected" to block direct pushes (manual step, but should be documented).
Test Plan:
- Success Case: Run
git kv remote setup in a fresh clone and verify with git remote -v that the pushurl is set correctly.
- Failure Case: Run the command when
.kv/policy.yaml is missing or does not contain the push_url key; ensure a clear error is shown.
- Idempotency: Run the command a second time and verify it either does nothing or correctly overwrites the existing
pushurl without error.
Tasks
User Story:
US-G1- As an operator, I want to provision the Stargate and make pushes transparent for developers.Acceptance Criteria:
.kv/policy.yamlfile contains astargate.push_url.git kv remote setupcommand exists and is executable.git kv remote setup, it correctly reads thepush_urlfrom the policy file.git config remote.origin.pushurl <url>.refs/kv/*branches are configured as "protected" to block direct pushes (manual step, but should be documented).Test Plan:
git kv remote setupin a fresh clone and verify withgit remote -vthat thepushurlis set correctly..kv/policy.yamlis missing or does not contain thepush_urlkey; ensure a clear error is shown.pushurlwithout error.Tasks
git-kvCLI application structure in Go.remote setupcommand within the CLI..kv/policy.yamlfile.origin.pushurlconfig.git kv remote setupand checks the resulting git config.remote setupcommand to theREADME.md.