Remotes πΒΆ
This repository uses a fork-based workflow. Contributors MUST NOT configure the remote layout by hand. Remote setup and signed pushes are handled by git-maintainer-tools, declared as a dev dependency in pyproject.toml.
Layout πΊοΈΒΆ
Remote |
URL |
Role |
|---|---|---|
|
|
Canonical upstream. Pull target for all branches. Push target for |
|
|
Personal fork. Push target for every branch except |
Push Routing π€οΈΒΆ
git-setup-remotes writes three git-config keys that together route pushes:
Key |
Value |
Effect |
|---|---|---|
|
|
Default push target for every branch. |
|
|
|
|
|
Overrides the default for |
main keeps tracking origin/main for git pull, independent of the push override.
Tools π§°ΒΆ
CLI |
Purpose |
|---|---|
|
Idempotently configures |
|
GPG-signs every unpushed commit on the current branch and pushes. The target resolves from the branchβs upstream and honours |
Both CLIs MUST run outside the Claude sandbox, because .git/config writes and ~/.gnupg access are blocked there per the Git Safety Protocol in settings.md.
Install π¦ΒΆ
make install-python-dev
This pulls in git-maintainer-tools through the projectβs dev extras and puts git-setup-remotes and git-sign-push on $PATH.
Usage πΒΆ
One-time setup (run once after cloning, outside the Claude sandbox):
git-setup-remotes --canonical git@github.com:infinito-nexus/core.git. See the toolβs README for all flags, theFORK_URLenvironment variable, and the clone-from-canonical case.Shipping a branch: commit per commit.md, then run
git-sign-pushoutside the sandbox. Open the pull request againstorigin/mainper pull-request.md.