git-subtree-manager
Manages git subtrees for external library references. Use when adding new library sources or updating existing subtrees in docs/.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Manages git subtrees for external library references. Use when adding new library sources or updating existing subtrees in docs/.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create a new release with version bump, git tag, and GitHub release with binary builds. Use when releasing a new version.
Generate app icons, splash screens, and adaptive icons for iOS, Android, and Web. Use when creating or updating visual assets.
Generates comprehensive BDD-style test files using vitest and testing-library. Use when creating tests, writing test files, generating test coverage, or when asked to test hooks, components, utilities, or constants.
Generates consistent git commit messages following project conventions. Use when committing changes, creating PRs, or when asked to write commit messages.
| name | git-subtree-manager |
| description | Manages git subtrees for external library references. Use when adding new library sources or updating existing subtrees in docs/. |
Manages git subtrees in the docs/ directory for AI agents to reference external library source code.
| Library | Directory | Repository | Branch |
|---|---|---|---|
| Effect | docs/effect/ | https://github.com/Effect-TS/effect.git | main |
| Tamagui | docs/tamagui/ | https://github.com/tamagui/tamagui.git | master |
| Better Auth | docs/better-auth/ | https://github.com/better-auth/better-auth.git | main |
| Effect Atom | docs/effect-atom/ | https://github.com/tim-smart/effect-atom.git | main |
Working directory must be clean. Git subtree commands will fail or behave unexpectedly with uncommitted changes.
Before ANY subtree operation:
Check for uncommitted changes:
git status
If there are staged or unstaged changes, stash them:
git stash --include-untracked
Verify working directory is clean:
git status
# Should show "nothing to commit, working tree clean"
git subtree add --prefix=docs/<name> <repo-url> <branch> --squash
Example:
git subtree add --prefix=docs/better-auth https://github.com/better-auth/better-auth.git main --squash
After adding a subtree, update these configuration files:
biome.json - Add to files.includes:
"!docs/<name>",
.github/dependabot.yml - Add to exclude-paths:
- "docs/<name>/**"
eslint.config.mjs - Add to ignores:
'docs/<name>/**',
AGENTS.md - Add entry to the subtrees table
Relevant skills - Update .claude/skills/*/SKILL.md files that should reference the new subtree
After completing subtree operations and config updates:
git stash pop
Always verify the user's original changes are restored:
git status
Same as adding: stash any uncommitted changes first (see above).
To pull latest changes from upstream:
git subtree pull --prefix=docs/<name> <repo-url> <branch> --squash
Example:
git subtree pull --prefix=docs/effect https://github.com/Effect-TS/effect.git main --squash
When adding/updating subtrees, ensure these files exclude the subtree directory:
biome.json - files.includes array.github/dependabot.yml - exclude-paths arrayeslint.config.mjs - ignores arrayAGENTS.md - subtrees documentation table.claude/skills/*/SKILL.md filesThis means you forgot to stash changes. Do not proceed without stashing:
# 1. Stash all changes (including untracked files)
git stash --include-untracked
# 2. Run your subtree command
git subtree add/pull ...
# 3. IMPORTANT: Restore the user's changes
git stash pop
# 4. Verify changes are back
git status
If the directory already exists, remove it first (losing local changes):
rm -rf docs/<name>
git add docs/<name>
git commit -m "chore: remove docs/<name> for re-add"
Then run the add command again.