refactor(git-submodules): retrofit to the ADR-0020 context contract
Description 480 -> 248 chars, body 1011 -> 347 words. The single submodules.md splits into setup-and-update, urls-and-config, and removal. Restores three regressions the first pass introduced: 'repointing' as the trigger for the URL branch, which had none while the boundary clause steered those queries to git-remotes; clone and absorbgitdirs in the output enum, which dispatch still routed to; and status --cached, the flag that makes the pre-commit pointer gate verifiable.
This commit is contained in:
@@ -1,10 +1,17 @@
|
||||
# git-submodules
|
||||
|
||||
Initialize, clone, update, and manage git submodules for multi-repository projects.
|
||||
Add, initialize, update, pin, inspect, and remove git submodules in multi-repository projects.
|
||||
|
||||
## What it does
|
||||
|
||||
This skill handles submodule operations within the git workflow suite. It initializes submodules, clones repositories with nested submodule dependencies, updates submodule pinning, and manages version control across multi-repo projects. The skill provides clean workflows for projects with complex dependency structures and returns structured results suitable for agent composition.
|
||||
This skill handles submodule operations within the git workflow suite: cloning a superproject with
|
||||
its nested repositories, adding a dependency as a submodule, initializing and updating with
|
||||
pinning or branch tracking, parallel and recursive traversal, rebinding URLs and tracked branches,
|
||||
and the full removal sequence including the `.git/modules/` cleanup git leaves behind. It returns
|
||||
structured results suitable for agent composition.
|
||||
|
||||
It sits alongside the other git skills rather than duplicating them: `git-worktrees` covers
|
||||
multiple checkouts of a single repository, and `git-remotes` covers the superproject's own remotes.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -12,13 +19,17 @@ This skill handles submodule operations within the git workflow suite. It initia
|
||||
/git-submodules
|
||||
```
|
||||
|
||||
Describe your submodule task: initialize, clone, update, or manage versions. The skill will handle the operation and return structured results (operation, status, per-submodule details, conflicts, and a recovery `next_step` when applicable) suitable for agent composition.
|
||||
Describe the submodule task. The skill applies the shared working rules, dispatches to the
|
||||
reference for that task, and returns structured results (operation, status, per-submodule details,
|
||||
conflicts, and a recovery `next_step` when applicable).
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `SKILL.md` | Skill instructions for agents |
|
||||
| `SKILL.md` | Skill instructions for agents — gotchas, shared working rules, and the task dispatch table |
|
||||
| `references/README.md` | Describes contents of references/ |
|
||||
| `references/submodules.md` | Deep-dive reference: full flag tables, workflow patterns, safe-removal sequence, `absorbgitdirs`, `foreach` variables |
|
||||
| `references/setup-and-update.md` | Loaded when cloning a superproject, adding a submodule, or initializing, updating, or re-pinning one — includes the full `add` and `update` flag tables and the pinning workflows |
|
||||
| `references/urls-and-config.md` | Loaded when changing where a submodule points or how it is configured — `.gitmodules` vs `.git/config` anatomy, both key tables, `sync`/`set-url`/`set-branch`, local mirror overrides, relative URLs, the custom-`update` security gate, and `absorbgitdirs` |
|
||||
| `references/removal.md` | Loaded when removing or deinitializing a submodule — why `deinit` is not removal, and the four-step removal sequence |
|
||||
| `references/sources.md` | Research sources and provenance |
|
||||
|
||||
Reference in New Issue
Block a user