ima-claude 2.10.0 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -15
- package/dist/cli.js +385 -17
- package/package.json +1 -1
- package/platforms/gemini/adapter.ts +443 -0
- package/platforms/gemini/gemini-extension.json +17 -0
- package/platforms/gemini/hooks-translator.py +66 -0
- package/platforms/shared/detector.ts +5 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/skills/gh-cli/SKILL.md +286 -0
- package/plugins/ima-claude/skills/mcp-gitea/SKILL.md +358 -0
- package/plugins/ima-claude/skills/mcp-github/SKILL.md +200 -0
- package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +21 -10
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-github
|
|
3
|
+
description: >-
|
|
4
|
+
GitHub MCP for FOSS and public repository management — pull requests, issues, code
|
|
5
|
+
review, repository search, and GitHub API operations. Use when: working with GitHub-hosted
|
|
6
|
+
repos, creating PRs for open source, managing GitHub issues, searching public repos, or
|
|
7
|
+
any github.com operation. Triggers on: GitHub, github.com, open source, FOSS, public repo,
|
|
8
|
+
gh pr, gh issue, upstream PR. NOT for internal repos — use mcp-gitea for Gitea-hosted repos.
|
|
9
|
+
Falls back to gh CLI when MCP tools unavailable.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# GitHub MCP - FOSS & Public Repository Management
|
|
13
|
+
|
|
14
|
+
Use GitHub MCP tools for GitHub-hosted repositories. Falls back to the `gh` CLI when MCP tools aren't available.
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
|
|
18
|
+
Requires `GITHUB_PERSONAL_ACCESS_TOKEN` in your environment:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_yourtoken
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The GitHub MCP server is HTTP-based at `api.githubcopilot.com`. Tools are prefixed `mcp__github__*` and are **dynamically served** — exact tool names may vary. If a tool call fails with "tool not found", fall back to the `gh` CLI table below.
|
|
25
|
+
|
|
26
|
+
## Tool Catalog
|
|
27
|
+
|
|
28
|
+
GitHub MCP tools map to GitHub REST API operations. Expected tools by category:
|
|
29
|
+
|
|
30
|
+
**Repository**
|
|
31
|
+
|
|
32
|
+
| Tool (expected) | Purpose |
|
|
33
|
+
|-----------------|---------|
|
|
34
|
+
| `mcp__github__search_repositories` | Find public repos by query |
|
|
35
|
+
| `mcp__github__get_repository` | Get repo metadata (stars, forks, topics) |
|
|
36
|
+
| `mcp__github__list_repository_contents` | List files/dirs in a repo |
|
|
37
|
+
| `mcp__github__get_file_contents` | Read a file from any branch/commit |
|
|
38
|
+
| `mcp__github__create_repository` | Create a new GitHub repo |
|
|
39
|
+
| `mcp__github__fork_repository` | Fork a repo to your account |
|
|
40
|
+
|
|
41
|
+
**Pull Requests**
|
|
42
|
+
|
|
43
|
+
| Tool (expected) | Purpose |
|
|
44
|
+
|-----------------|---------|
|
|
45
|
+
| `mcp__github__list_pull_requests` | List PRs with filters (state, label, author) |
|
|
46
|
+
| `mcp__github__get_pull_request` | Get PR details including diff metadata |
|
|
47
|
+
| `mcp__github__create_pull_request` | Open a new PR |
|
|
48
|
+
| `mcp__github__update_pull_request` | Edit title, body, labels, assignees |
|
|
49
|
+
| `mcp__github__merge_pull_request` | Merge a PR (merge, squash, or rebase) |
|
|
50
|
+
| `mcp__github__list_pull_request_reviews` | Get review status |
|
|
51
|
+
| `mcp__github__create_pull_request_review` | Submit a review (approve, request changes, comment) |
|
|
52
|
+
| `mcp__github__list_pull_request_comments` | List inline code comments |
|
|
53
|
+
|
|
54
|
+
**Issues**
|
|
55
|
+
|
|
56
|
+
| Tool (expected) | Purpose |
|
|
57
|
+
|-----------------|---------|
|
|
58
|
+
| `mcp__github__list_issues` | List issues with filters |
|
|
59
|
+
| `mcp__github__get_issue` | Get issue details and comments |
|
|
60
|
+
| `mcp__github__create_issue` | Open a new issue |
|
|
61
|
+
| `mcp__github__update_issue` | Edit title, body, state, assignees, labels |
|
|
62
|
+
| `mcp__github__list_issue_comments` | Get all comments on an issue |
|
|
63
|
+
| `mcp__github__add_issue_comment` | Post a comment on an issue |
|
|
64
|
+
|
|
65
|
+
**Code & Files**
|
|
66
|
+
|
|
67
|
+
| Tool (expected) | Purpose |
|
|
68
|
+
|-----------------|---------|
|
|
69
|
+
| `mcp__github__search_code` | Search code across GitHub repos |
|
|
70
|
+
| `mcp__github__create_or_update_file` | Commit a file change via API |
|
|
71
|
+
|
|
72
|
+
**Users & Orgs**
|
|
73
|
+
|
|
74
|
+
| Tool (expected) | Purpose |
|
|
75
|
+
|-----------------|---------|
|
|
76
|
+
| `mcp__github__get_user` | Get GitHub user profile |
|
|
77
|
+
| `mcp__github__search_users` | Find GitHub users |
|
|
78
|
+
|
|
79
|
+
## `gh` CLI Fallback
|
|
80
|
+
|
|
81
|
+
When MCP tools aren't available or sufficient, use the `gh` CLI:
|
|
82
|
+
|
|
83
|
+
| Operation | `gh` Command |
|
|
84
|
+
|-----------|-------------|
|
|
85
|
+
| Create PR | `gh pr create --title "..." --body "..."` |
|
|
86
|
+
| List PRs | `gh pr list` |
|
|
87
|
+
| View PR | `gh pr view 123` |
|
|
88
|
+
| Merge PR | `gh pr merge 123 --squash` |
|
|
89
|
+
| Create issue | `gh issue create --title "..." --body "..."` |
|
|
90
|
+
| List issues | `gh issue list` |
|
|
91
|
+
| Close issue | `gh issue close 123` |
|
|
92
|
+
| View repo | `gh repo view owner/name` |
|
|
93
|
+
| Fork repo | `gh repo fork owner/name` |
|
|
94
|
+
| Clone fork | `gh repo clone owner/name` |
|
|
95
|
+
| Search repos | `gh search repos "query"` |
|
|
96
|
+
| Search code | `gh search code "query" --repo owner/name` |
|
|
97
|
+
| View file | `gh api repos/owner/name/contents/path` |
|
|
98
|
+
|
|
99
|
+
## Decision Logic
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Check git remote: git remote -v
|
|
103
|
+
|
|
104
|
+
No remote configured?
|
|
105
|
+
→ Local-only repo. Use git CLI directly.
|
|
106
|
+
|
|
107
|
+
Does the remote point to github.com?
|
|
108
|
+
→ Yes: Use mcp__github__* tools
|
|
109
|
+
→ MCP tools not available or responding?
|
|
110
|
+
→ Use gh CLI as fallback
|
|
111
|
+
→ No: Does it point to gitea.* / internal hostname?
|
|
112
|
+
→ Yes: Use mcp__gitea__* tools (see mcp-gitea skill)
|
|
113
|
+
→ Unknown: Check with the user
|
|
114
|
+
|
|
115
|
+
For local-only git operations (commit, diff, log, stash, branch):
|
|
116
|
+
→ Always use git CLI directly — no MCP needed
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Common Workflows
|
|
120
|
+
|
|
121
|
+
### Create a PR for a FOSS Project
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
1. Confirm the remote is github.com:
|
|
125
|
+
git remote -v
|
|
126
|
+
|
|
127
|
+
2. Create the PR:
|
|
128
|
+
mcp__github__create_pull_request
|
|
129
|
+
owner: "FLCCC"
|
|
130
|
+
repo: "ima-claude"
|
|
131
|
+
title: "feat: add mcp-github skill"
|
|
132
|
+
body: "## Summary\n..."
|
|
133
|
+
head: "feat/mcp-github-skill"
|
|
134
|
+
base: "main"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Manage Issues
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
# Open a bug report
|
|
141
|
+
mcp__github__create_issue
|
|
142
|
+
owner: "FLCCC"
|
|
143
|
+
repo: "ima-claude"
|
|
144
|
+
title: "Bug: skill not loading"
|
|
145
|
+
body: "Steps to reproduce..."
|
|
146
|
+
labels: ["bug"]
|
|
147
|
+
|
|
148
|
+
# Close with a comment
|
|
149
|
+
mcp__github__add_issue_comment
|
|
150
|
+
owner: "FLCCC"
|
|
151
|
+
repo: "ima-claude"
|
|
152
|
+
issue_number: 42
|
|
153
|
+
body: "Fixed in v2.11.0"
|
|
154
|
+
|
|
155
|
+
mcp__github__update_issue
|
|
156
|
+
owner: "FLCCC"
|
|
157
|
+
repo: "ima-claude"
|
|
158
|
+
issue_number: 42
|
|
159
|
+
state: "closed"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Search Public Repos
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
mcp__github__search_repositories
|
|
166
|
+
query: "claude code skills mcp"
|
|
167
|
+
sort: "stars"
|
|
168
|
+
|
|
169
|
+
# Or via gh CLI:
|
|
170
|
+
gh search repos "claude mcp skills" --sort stars --limit 10
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Review a PR
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
mcp__github__get_pull_request
|
|
177
|
+
owner: "FLCCC"
|
|
178
|
+
repo: "ima-claude"
|
|
179
|
+
pull_number: 15
|
|
180
|
+
|
|
181
|
+
mcp__github__create_pull_request_review
|
|
182
|
+
owner: "FLCCC"
|
|
183
|
+
repo: "ima-claude"
|
|
184
|
+
pull_number: 15
|
|
185
|
+
event: "APPROVE"
|
|
186
|
+
body: "LGTM"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## When NOT to Use
|
|
190
|
+
|
|
191
|
+
- Internal Gitea repos — use `mcp-gitea` skill instead
|
|
192
|
+
- Local git operations (commit, diff, stash) — use `git` CLI directly
|
|
193
|
+
- Reading local files — use the Read tool, not the GitHub API
|
|
194
|
+
- GitHub Actions configuration — edit files locally and push
|
|
195
|
+
|
|
196
|
+
## Notes
|
|
197
|
+
|
|
198
|
+
- GitHub MCP tools are **dynamically served** — exact names may differ. If a tool call fails with "tool not found", fall back to `gh` CLI.
|
|
199
|
+
- The `gh` CLI is reliable and covers the majority of GitHub operations. MCP adds value for structured responses (search, bulk operations, code review workflows).
|
|
200
|
+
- Always confirm the target remote (`git remote -v`) before deciding which tool to use.
|
|
@@ -19,14 +19,18 @@ Our permanent reference library. Unlike Vestige (neural memory that fades if unu
|
|
|
19
19
|
|
|
20
20
|
## Embedding Stack
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
|
25
|
-
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
| Vector
|
|
29
|
-
|
|
|
22
|
+
Two embedding providers are supported. Ollama is the default; fastembed is a CPU-only alternative for machines where Ollama has performance issues.
|
|
23
|
+
|
|
24
|
+
| Component | Ollama (default) | fastembed |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| MCP server | `qdrant-mcp` (custom, at `~/dev/qdrant-mcp-server`) | same |
|
|
27
|
+
| Embedding model | `nomic-embed-text` | `BAAI/bge-small-en-v1.5` |
|
|
28
|
+
| Vector dimensions | 768 | 384 |
|
|
29
|
+
| Distance metric | Cosine | Cosine |
|
|
30
|
+
| Dependency | Ollama running locally | `pip install qdrant-mcp[fastembed]` |
|
|
31
|
+
| Default collection | `ima-knowledge` | `ima-knowledge` |
|
|
32
|
+
|
|
33
|
+
**Warning**: Collections can't be shared across providers (different vector dimensions). Switching providers requires a collection rebuild.
|
|
30
34
|
|
|
31
35
|
## Per-Project Collection
|
|
32
36
|
|
|
@@ -176,6 +180,8 @@ IF starting any new work:
|
|
|
176
180
|
| Irrelevant results | Use more specific key terms |
|
|
177
181
|
| Qdrant not responding | `docker ps \| grep qdrant` — restart if needed |
|
|
178
182
|
| Ollama not responding | `ollama list` — ensure it's running with `nomic-embed-text` |
|
|
183
|
+
| fastembed not installed | `pip install qdrant-mcp[fastembed]` |
|
|
184
|
+
| Switched providers, bad results | Different vector dimensions — rebuild the collection |
|
|
179
185
|
| Duplicate content | Search before storing to verify novelty |
|
|
180
186
|
|
|
181
187
|
## When NOT to Use
|
|
@@ -195,9 +201,12 @@ docker run -d --name qdrant \
|
|
|
195
201
|
-v qdrant_storage:/qdrant/storage \
|
|
196
202
|
qdrant/qdrant:latest
|
|
197
203
|
|
|
198
|
-
#
|
|
204
|
+
# 2a. Option A: Ollama (default)
|
|
199
205
|
ollama pull nomic-embed-text
|
|
200
206
|
|
|
207
|
+
# 2b. Option B: fastembed (CPU-only, no Ollama needed)
|
|
208
|
+
# pip install qdrant-mcp[fastembed]
|
|
209
|
+
|
|
201
210
|
# 3. Install custom MCP server
|
|
202
211
|
cd ~/dev/qdrant-mcp-server && pip install -e .
|
|
203
212
|
|
|
@@ -209,17 +218,19 @@ cd ~/dev/qdrant-mcp-server && pip install -e .
|
|
|
209
218
|
# "env": {
|
|
210
219
|
# "QDRANT_URL": "http://localhost:6333",
|
|
211
220
|
# "COLLECTION_NAME": "ima-knowledge",
|
|
221
|
+
# "EMBEDDING_PROVIDER": "ollama",
|
|
212
222
|
# "OLLAMA_URL": "http://localhost:11434",
|
|
213
223
|
# "EMBEDDING_MODEL": "nomic-embed-text"
|
|
214
224
|
# }
|
|
215
225
|
# }
|
|
226
|
+
# For fastembed, set EMBEDDING_PROVIDER=fastembed (OLLAMA_URL not needed)
|
|
216
227
|
|
|
217
228
|
# 5. Verify
|
|
218
229
|
curl http://localhost:6333/health
|
|
219
230
|
```
|
|
220
231
|
|
|
221
232
|
**Persistence**: `-v qdrant_storage:/qdrant/storage` preserves data across restarts.
|
|
222
|
-
**Embeddings**: Ollama with `nomic-embed-text` (768d). All data stays on your machine.
|
|
233
|
+
**Embeddings**: Ollama with `nomic-embed-text` (768d) or fastembed with `bge-small-en-v1.5` (384d). All data stays on your machine.
|
|
223
234
|
|
|
224
235
|
### Per-Project Setup
|
|
225
236
|
|