summaryrefslogtreecommitdiff
path: root/.gemini
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2026-04-14 22:25:40 -0700
committerTuowen Zhao <ztuowen@gmail.com>2026-04-14 22:25:40 -0700
commit5cc9975c63674471ac4512457f8af73521d5a68b (patch)
tree04d2064dd0133784cdcc4221108603841aaf711c /.gemini
parentc4fde4054a432b06258ad7eb906e225fdf1dc357 (diff)
downloadvim-5cc9975c63674471ac4512457f8af73521d5a68b.tar.gz
vim-5cc9975c63674471ac4512457f8af73521d5a68b.tar.bz2
vim-5cc9975c63674471ac4512457f8af73521d5a68b.zip
add gemini skill
Diffstat (limited to '.gemini')
-rw-r--r--.gemini/skills/vim-bundle-maintenance/SKILL.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/.gemini/skills/vim-bundle-maintenance/SKILL.md b/.gemini/skills/vim-bundle-maintenance/SKILL.md
new file mode 100644
index 0000000..69ec63d
--- /dev/null
+++ b/.gemini/skills/vim-bundle-maintenance/SKILL.md
@@ -0,0 +1,41 @@
+---
+name: vim-bundle-maintenance
+description: Manage and update Vim plugin submodules, including URL syncing, recursive remote updates, and recompiling complex plugins like YouCompleteMe. Use when the user wants to upgrade their Vim bundles or fix broken submodule links.
+---
+
+# Vim Bundle Maintenance
+
+This skill provides a standardized workflow for maintaining Vim plugins managed via Git submodules (typically in `pack/bundle/start/`).
+
+## Workflow
+
+### 1. Research and Sync
+- **Verify Upstreams**: Check if submodule URLs in `.gitmodules` are still valid.
+- **Sync URLs**: If URLs have changed (e.g., repository moved to a new organization), update `.gitmodules` and run:
+ ```bash
+ git submodule sync --recursive
+ ```
+
+### 2. Update Submodules
+- **Recursive Remote Update**: Pull the latest commits from the default branch of all submodules:
+ ```bash
+ git submodule update --init --recursive --remote
+ ```
+- **Modernize Update Script**: Ensure `bundle-update.sh` (if it exists) uses the `git submodule update --remote` approach rather than manual `git pull` within directories to avoid branch-matching issues.
+
+### 3. Clean and Recompile
+Some plugins require manual compilation after an update.
+- **YouCompleteMe**:
+ 1. Clean the submodule: `(cd pack/bundle/start/YouCompleteMe && git clean -fdx && git checkout .)`
+ 2. Run installer: `python3 pack/bundle/start/YouCompleteMe/install.py --clang-completer` (add other flags like `--ts-completer` as needed).
+
+### 4. Finalize
+- Stage the changes: `git add .gitmodules bundle-update.sh pack/bundle/start/`
+- Commit with a descriptive message including the update date.
+
+## Common Flags for YCM install.py
+- `--clang-completer`: C-family support.
+- `--ts-completer`: JavaScript/TypeScript support.
+- `--go-completer`: Go support.
+- `--rust-completer`: Rust support.
+- `--all`: Enable all supported engines.