You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a standalone team clone, env add then push fails. The env edit never gets published.
teamai env add KEY … writes env/env.yaml (or env/secrets.yaml) in the clone, uncommitted
teamai push --all
guard: dirty paths? only .teamai/.sync-lock and teamai.yaml are exempt (src/push.ts:345-359)
✖ stops here "Cannot push: the team repo has uncommitted changes"
resetToCleanMaster
pullRepo
sweep env/ → commit never reached
Expected: push commits the env file, as it did before #690. Single-repo mode isn't affected.
Proposed fix, the way push already handles teamai.yaml. The exempt set is whatever EnvHandler.scanLocalForPush would push, so env/secrets.yaml from #880 is covered without a second list:
The write-back sits in a finally: writing it back only after a successful pullRepo would lose the edit when the pull fails after reset --hard.
Plus a regression test: env add then push on a standalone clone, and the pushed branch carries the change.
Reproduction
A standalone team clone, e.g. a sandbox HOME and a local bare repo behind a synthetic https URL (url.<bare>.insteadOf, as src/__tests__/e2e/init-project-all.test.ts does), then teamai init <url>.
$ teamai push --all
- Pulling latest changes...
✖ Cannot push: the team repo has uncommitted changes. Commit or stash them first. Paths: env/secrets.yaml
exit=1
The plain env add TEAM_VAR changed case (path env/env.yaml) was reported by the implementer who found it and follows from the same guard; its output isn't captured here.
Description
In a standalone team clone,
env addthenpushfails. The env edit never gets published.Expected: push commits the env file, as it did before #690. Single-repo mode isn't affected.
Proposed fix, the way push already handles
teamai.yaml. The exempt set is whateverEnvHandler.scanLocalForPushwould push, soenv/secrets.yamlfrom #880 is covered without a second list:The write-back sits in a
finally: writing it back only after a successfulpullRepowould lose the edit when the pull fails afterreset --hard.Plus a regression test:
env addthenpushon a standalone clone, and the pushed branch carries the change.Reproduction
httpsURL (url.<bare>.insteadOf, assrc/__tests__/e2e/init-project-all.test.tsdoes), thenteamai init <url>.teamai env add TEAM_VAR changed(orteamai env add GITHUB_TOKEN --secreton the Proposal: declare team secrets in the repo, keep their values on each machine, for MCP servers and CLIs #875 branch).teamai push --all.Environment
mainat 5fb316c) and the feat(env): team-declared secrets with member-local values (#875) #880 branchLogs
Captured on the #880 branch with
env add --secretThe plain
env add TEAM_VAR changedcase (pathenv/env.yaml) was reported by the implementer who found it and follows from the same guard; its output isn't captured here.Found while implementing #879.