Conversation
teamai init still has two direct pushes to the default branch that hang or are rejected when main is protected (push: No one): 1. The reviewer-config push (teamai.yaml) uses pushRepoDirectly — rejected on protected main, and simple-git's push has no timeout / no GIT_TERMINAL_PROMPT=0 guard, so a missing-credential push hangs indefinitely instead of throwing, stalling init before local config is written. Switch this to autoPushViaMR (branch + MR, already used by other flows) wrapped in withTimeout(30s), non-blocking. 2. The empty-repo skeleton push also uses pushRepoDirectly with no timeout — wrap it in withTimeout(30s) so a hung push can never block init. (Member registration already moved to the teamai-reports orphan branch upstream, so it no longer touches main.) All failures remain non-blocking (warn only): init always completes and writes local config + skills even if a push/MR could not be created. Co-Authored-By: Claude Code <noreply@anthropic.com>
damenjs
force-pushed
the
fix/init-push-via-mr-not-protected-main
branch
from
September 20, 2026 08:41
67455be to
cae3759
Compare
Add a Troubleshooting section to README explaining why `teamai init` hangs after "Registered as team member" (protected default branch + push with no timeout), with a no-code MR-based quick fix. Ship the fix as patches/init-push-via-mr-and-timeout.patch so teams can apply it locally before the PR lands. Co-Authored-By: Claude Code <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
teamai init hard-pushed member registration directly to the default branch via pushRepoDirectly. When the team repo's main branch is protected (push: No one — common for team repos), this direct push is rejected by the server. Worse, simple-git's push has no timeout and no GIT_TERMINAL_PROMPT=0 guard, so when credentials are missing the push hangs indefinitely instead of throwing, stalling the entire init before the local config is ever written. Every new member running init would hit this and be stuck with no skills/config.
Switch the member-registration and reviewer-config pushes to autoPushViaMR (already used by other flows), which creates a branch, pushes it, and opens an MR — never touching the protected main directly. Wrap each push in withTimeout(30s) so a hung push can never block init; all failures are non-blocking (warn only), so init always completes and writes local config + skills even if the MR could not be created.
Summary
Type of Change
Test Plan
npx tsc --noEmitpassesnpx vitest runpassesRelated Issues
Notes for Reviewers