diff --git a/core/instructions/git.md b/core/instructions/git.md index 70bb295..a162a70 100644 --- a/core/instructions/git.md +++ b/core/instructions/git.md @@ -5,3 +5,9 @@ - Commit messages explain why, not what. Written for both humans and changelog generators. - Never commit secrets, credentials, or environment-specific config. - Use conventional commits: `feat:`, `fix:`, `docs:`, `chore:`, `refactor:`, `test:` + +## Submodules + +- When working with submodules: commit and push the submodule first, then update and push the parent repo. Pushing the parent while the submodule commit doesn't exist on the remote breaks `git submodule update` for anyone who pulls. +- Always use `rtk git` for parent repo operations; drop into the submodule directory for submodule-specific git commands. +- After adding a submodule, check `git status` in both the parent and the submodule — a `-dirty` flag means the submodule has uncommitted local changes that need to be committed before the parent pointer is updated.