test: end-to-end mirror flow — repo_create + repo_mirror_push → GitHub #19

Open
opened 2026-05-14 14:40:26 +00:00 by mathias · 0 comments
Owner

Summary

Once repo_create (#13) and repo_mirror_push (#16) are implemented, they should be tested together end-to-end to verify the full Gitea → GitHub mirror flow before implementing the composite project_create tool in hyperguild.

Test sequence (from claude.ai chat)

Step 1: Create test repo on Gitea

repo_create(owner=mathias, name=test-mirror-flow, private=true, auto_init=true)

Expected: repo appears at gitea.d-ma.be/mathias/test-mirror-flow

Step 2: Configure push mirror to GitHub

repo_mirror_push_add(
  owner=mathias,
  name=test-mirror-flow,
  remote_address=https://github.com/mathiasb/test-mirror-flow.git,
  remote_username=mathiasb,
  remote_password=<PAT>,
  sync_on_commit=true
)

Expected: mirror configured in Gitea settings

Step 3: Verify GitHub repo appears

  • Wait up to 60s
  • Check github.com/mathiasb/test-mirror-flow exists
  • Verify initial commit is present

Step 4: Test sync on commit

file_write_branch(name=test-mirror-flow, path=TEST.md, content="mirror test", message="test: verify mirror sync", branch=main)

Expected: commit appears on GitHub within 60s

Step 5: Cleanup

repo_delete(owner=mathias, name=test-mirror-flow, confirm=test-mirror-flow)

Delete from GitHub manually (repo_delete only covers Gitea).

Success criteria

  • GitHub repo created automatically via mirror, no manual GitHub API call needed
  • Commits sync within 60s
  • Flow works end-to-end from claude.ai chat session

Dependency

Requires #13 (repo_create) and #16 (repo_mirror_push) to be implemented first.
Also requires #11 (repo_delete) for cleanup step.

Why this matters

This is the foundation of hyperguild new-project — the entire project creation flow
depends on this mirror mechanism working reliably from claude.ai.

## Summary Once repo_create (#13) and repo_mirror_push (#16) are implemented, they should be tested together end-to-end to verify the full Gitea → GitHub mirror flow before implementing the composite `project_create` tool in hyperguild. ## Test sequence (from claude.ai chat) **Step 1: Create test repo on Gitea** ``` repo_create(owner=mathias, name=test-mirror-flow, private=true, auto_init=true) ``` Expected: repo appears at gitea.d-ma.be/mathias/test-mirror-flow **Step 2: Configure push mirror to GitHub** ``` repo_mirror_push_add( owner=mathias, name=test-mirror-flow, remote_address=https://github.com/mathiasb/test-mirror-flow.git, remote_username=mathiasb, remote_password=<PAT>, sync_on_commit=true ) ``` Expected: mirror configured in Gitea settings **Step 3: Verify GitHub repo appears** - Wait up to 60s - Check github.com/mathiasb/test-mirror-flow exists - Verify initial commit is present **Step 4: Test sync on commit** ``` file_write_branch(name=test-mirror-flow, path=TEST.md, content="mirror test", message="test: verify mirror sync", branch=main) ``` Expected: commit appears on GitHub within 60s **Step 5: Cleanup** ``` repo_delete(owner=mathias, name=test-mirror-flow, confirm=test-mirror-flow) ``` Delete from GitHub manually (repo_delete only covers Gitea). ## Success criteria - [ ] GitHub repo created automatically via mirror, no manual GitHub API call needed - [ ] Commits sync within 60s - [ ] Flow works end-to-end from claude.ai chat session ## Dependency Requires #13 (repo_create) and #16 (repo_mirror_push) to be implemented first. Also requires #11 (repo_delete) for cleanup step. ## Why this matters This is the foundation of `hyperguild new-project` — the entire project creation flow depends on this mirror mechanism working reliably from claude.ai.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/gitea-mcp#19