quickcall-integrations 0.1.5__tar.gz → 0.1.7__tar.gz
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.
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/.gitignore +4 -0
- quickcall_integrations-0.1.7/PKG-INFO +238 -0
- quickcall_integrations-0.1.7/README.md +226 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/__init__.py +1 -1
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/api_clients/github_client.py +26 -4
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/api_clients/slack_client.py +189 -9
- quickcall_integrations-0.1.7/mcp_server/resources/__init__.py +1 -0
- quickcall_integrations-0.1.7/mcp_server/resources/slack_resources.py +50 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/server.py +4 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/auth_tools.py +87 -3
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/slack_tools.py +159 -3
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/plugins/quickcall/.claude-plugin/plugin.json +1 -1
- quickcall_integrations-0.1.7/plugins/quickcall/commands/connect.md +31 -0
- quickcall_integrations-0.1.7/plugins/quickcall/commands/slack-summary.md +56 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/pyproject.toml +2 -1
- quickcall_integrations-0.1.5/tests/test_auth_flow.py → quickcall_integrations-0.1.7/tests/test_integrations.py +139 -7
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/uv.lock +93 -1
- quickcall_integrations-0.1.5/PKG-INFO +0 -128
- quickcall_integrations-0.1.5/README.md +0 -117
- quickcall_integrations-0.1.5/plugins/quickcall/.mcp.json +0 -8
- quickcall_integrations-0.1.5/plugins/quickcall/commands/connect.md +0 -37
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/.claude-plugin/marketplace.json +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/.github/workflows/publish-pypi.yml +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/Dockerfile +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/assets/logo.png +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/api_clients/__init__.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/auth/__init__.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/auth/credentials.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/auth/device_flow.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/__init__.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/git_tools.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/github_tools.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/mcp_server/tools/utility_tools.py +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/plugins/quickcall/commands/status.md +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/plugins/quickcall/commands/updates.md +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/requirements.txt +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/tests/README.md +0 -0
- {quickcall_integrations-0.1.5 → quickcall_integrations-0.1.7}/tests/test_tools.py +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: quickcall-integrations
|
|
3
|
+
Version: 0.1.7
|
|
4
|
+
Summary: MCP server with developer integrations for Claude Code and Cursor
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Requires-Dist: fastmcp>=2.13.0
|
|
7
|
+
Requires-Dist: httpx>=0.28.0
|
|
8
|
+
Requires-Dist: pydantic>=2.11.7
|
|
9
|
+
Requires-Dist: pygithub>=2.8.1
|
|
10
|
+
Requires-Dist: rapidfuzz>=3.0.0
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img src="https://quickcall.dev/assets/v1/qc-full-512px-white.png" alt="QuickCall" width="400">
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<h3 align="center">Eliminate interruptions for developers</h3>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<em>Ask about your work, get instant answers. No more context switching.</em>
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<p align="center">
|
|
24
|
+
<a href="https://quickcall.dev"><img src="https://img.shields.io/badge/Web-quickcall.dev-000000?logo=googlechrome&logoColor=white" alt="Web"></a>
|
|
25
|
+
<a href="https://discord.gg/DtnMxuE35v"><img src="https://img.shields.io/badge/Discord-Join%20Us-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p align="center">
|
|
29
|
+
<a href="#integrations">Integrations</a> |
|
|
30
|
+
<a href="#install">Install</a> |
|
|
31
|
+
<a href="#authentication">Authentication</a> |
|
|
32
|
+
<a href="#commands">Commands</a> |
|
|
33
|
+
<a href="#troubleshooting">Troubleshooting</a>
|
|
34
|
+
</p>
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Capabilities
|
|
39
|
+
|
|
40
|
+
- **Get standup updates** from git history (commits, diffs, stats)
|
|
41
|
+
- **List PRs, commits, branches** from GitHub repos
|
|
42
|
+
- **Send messages to Slack** channels
|
|
43
|
+
- **Check connection status** for all integrations
|
|
44
|
+
|
|
45
|
+
## Integrations
|
|
46
|
+
|
|
47
|
+
| Integration | Features | Auth Required |
|
|
48
|
+
|-------------|----------|---------------|
|
|
49
|
+
| **Git** | Commits, diffs, standup summaries | No |
|
|
50
|
+
| **GitHub** | Repos, PRs, commits, branches | Yes |
|
|
51
|
+
| **Slack** | Read/send messages, threads, channels | Yes |
|
|
52
|
+
|
|
53
|
+
<details>
|
|
54
|
+
<summary><strong>Available Tools (22)</strong></summary>
|
|
55
|
+
|
|
56
|
+
### Git
|
|
57
|
+
| Tool | Description |
|
|
58
|
+
|------|-------------|
|
|
59
|
+
| `get_updates` | Get git commits, diff stats, and uncommitted changes |
|
|
60
|
+
|
|
61
|
+
### GitHub
|
|
62
|
+
| Tool | Description |
|
|
63
|
+
|------|-------------|
|
|
64
|
+
| `list_repos` | List accessible repositories |
|
|
65
|
+
| `list_prs` | List pull requests (open/closed/all) |
|
|
66
|
+
| `get_pr` | Get PR details (title, description, files changed) |
|
|
67
|
+
| `list_commits` | List commits with optional filters |
|
|
68
|
+
| `get_commit` | Get commit details (message, stats, files) |
|
|
69
|
+
| `list_branches` | List repository branches |
|
|
70
|
+
| `check_github_connection` | Verify GitHub connection |
|
|
71
|
+
|
|
72
|
+
### Slack
|
|
73
|
+
| Tool | Description |
|
|
74
|
+
|------|-------------|
|
|
75
|
+
| `list_slack_channels` | List channels bot has access to |
|
|
76
|
+
| `send_slack_message` | Send message to a channel |
|
|
77
|
+
| `read_slack_messages` | Read messages from a channel (with date filter) |
|
|
78
|
+
| `read_slack_thread` | Read replies in a thread |
|
|
79
|
+
| `list_slack_users` | List workspace users |
|
|
80
|
+
| `check_slack_connection` | Verify Slack connection |
|
|
81
|
+
|
|
82
|
+
### Auth
|
|
83
|
+
| Tool | Description |
|
|
84
|
+
|------|-------------|
|
|
85
|
+
| `connect_quickcall` | Start device flow authentication |
|
|
86
|
+
| `check_quickcall_status` | Check connection status |
|
|
87
|
+
| `disconnect_quickcall` | Remove local credentials |
|
|
88
|
+
| `connect_github` | Install GitHub App |
|
|
89
|
+
| `connect_slack` | Authorize Slack App |
|
|
90
|
+
|
|
91
|
+
### Utility
|
|
92
|
+
| Tool | Description |
|
|
93
|
+
|------|-------------|
|
|
94
|
+
| `get_current_datetime` | Get current UTC datetime |
|
|
95
|
+
| `calculate_date_range` | Calculate date range for queries |
|
|
96
|
+
| `calculate_date_offset` | Add/subtract time from a date |
|
|
97
|
+
|
|
98
|
+
</details>
|
|
99
|
+
|
|
100
|
+
## Install
|
|
101
|
+
|
|
102
|
+
### Claude Code
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
/plugin marketplace add quickcall-dev/quickcall-integrations
|
|
106
|
+
/plugin install quickcall@quickcall-integrations
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
<details>
|
|
110
|
+
<summary>MCP only (without plugin)</summary>
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
claude mcp add quickcall -- uvx quickcall-integrations
|
|
114
|
+
```
|
|
115
|
+
</details>
|
|
116
|
+
|
|
117
|
+
<details>
|
|
118
|
+
<summary>Update to latest version</summary>
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
/plugin marketplace update quickcall-integrations
|
|
122
|
+
/plugin uninstall quickcall
|
|
123
|
+
/plugin install quickcall@quickcall-integrations
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
After updating, restart Claude Code or open a new terminal.
|
|
127
|
+
</details>
|
|
128
|
+
|
|
129
|
+
### Cursor
|
|
130
|
+
|
|
131
|
+
Add to your Cursor MCP config (`~/.cursor/mcp.json` for global, or `.cursor/mcp.json` for project):
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"quickcall": {
|
|
137
|
+
"command": "uvx",
|
|
138
|
+
"args": ["quickcall-integrations"]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Then restart Cursor.
|
|
145
|
+
|
|
146
|
+
> Also works with [Antigravity](https://antigravity.dev) and any other IDE that supports MCP servers.
|
|
147
|
+
|
|
148
|
+
## Authentication
|
|
149
|
+
|
|
150
|
+
To use GitHub and Slack integrations, connect your QuickCall account:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
/quickcall:connect
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
This will guide you through:
|
|
157
|
+
1. Sign in with Google
|
|
158
|
+
2. Install GitHub App to your org/account
|
|
159
|
+
3. Connect Slack workspace
|
|
160
|
+
|
|
161
|
+
Credentials are stored locally in `~/.quickcall/credentials.json`.
|
|
162
|
+
|
|
163
|
+
## Commands
|
|
164
|
+
|
|
165
|
+
### Claude Code
|
|
166
|
+
|
|
167
|
+
| Command | Description |
|
|
168
|
+
|---------|-------------|
|
|
169
|
+
| `/quickcall:connect` | Connect QuickCall, GitHub, and Slack |
|
|
170
|
+
| `/quickcall:status` | Show connection status |
|
|
171
|
+
| `/quickcall:updates` | Get git updates (default: 1 day) |
|
|
172
|
+
| `/quickcall:updates 7d` | Get updates for last 7 days |
|
|
173
|
+
|
|
174
|
+
### Cursor / Other IDEs
|
|
175
|
+
|
|
176
|
+
Ask the AI naturally - see examples below.
|
|
177
|
+
|
|
178
|
+
## Example Prompts
|
|
179
|
+
|
|
180
|
+
### Git
|
|
181
|
+
```
|
|
182
|
+
What did I work on today?
|
|
183
|
+
Give me a standup summary for the last 3 days
|
|
184
|
+
What changes are uncommitted?
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### GitHub
|
|
188
|
+
```
|
|
189
|
+
List my repos
|
|
190
|
+
Show open PRs on [repo-name]
|
|
191
|
+
What commits were made this week?
|
|
192
|
+
Get details of PR #123
|
|
193
|
+
List branches on [repo-name]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Slack
|
|
197
|
+
```
|
|
198
|
+
Send "Build completed" to #deployments
|
|
199
|
+
What messages were posted in #general today?
|
|
200
|
+
Show me the thread replies for that message
|
|
201
|
+
List channels I have access to
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Combined
|
|
205
|
+
```
|
|
206
|
+
List open PRs on [repo] and send titles to #updates channel
|
|
207
|
+
What did I work on this week? Send summary to #standup
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Troubleshooting
|
|
211
|
+
|
|
212
|
+
### Plugin Not Updating?
|
|
213
|
+
|
|
214
|
+
If new commands don't appear after updating, clear the cache:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
rm -rf ~/.claude/plugins/cache/quickcall-integrations
|
|
218
|
+
rm -rf ~/.claude/plugins/marketplaces/quickcall-integrations
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Then restart Claude Code and reinstall:
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
/plugin marketplace add quickcall-dev/quickcall-integrations
|
|
225
|
+
/plugin install quickcall@quickcall-integrations
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Commands Not Showing?
|
|
229
|
+
|
|
230
|
+
Type `/quickcall:` - you should see `connect`, `status`, `updates`.
|
|
231
|
+
|
|
232
|
+
If only `updates` shows, run the cleanup above and reinstall.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
<p align="center">
|
|
237
|
+
Built with ❤️ by <a href="https://quickcall.dev">QuickCall</a>
|
|
238
|
+
</p>
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://quickcall.dev/assets/v1/qc-full-512px-white.png" alt="QuickCall" width="400">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h3 align="center">Eliminate interruptions for developers</h3>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<em>Ask about your work, get instant answers. No more context switching.</em>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://quickcall.dev"><img src="https://img.shields.io/badge/Web-quickcall.dev-000000?logo=googlechrome&logoColor=white" alt="Web"></a>
|
|
13
|
+
<a href="https://discord.gg/DtnMxuE35v"><img src="https://img.shields.io/badge/Discord-Join%20Us-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="#integrations">Integrations</a> |
|
|
18
|
+
<a href="#install">Install</a> |
|
|
19
|
+
<a href="#authentication">Authentication</a> |
|
|
20
|
+
<a href="#commands">Commands</a> |
|
|
21
|
+
<a href="#troubleshooting">Troubleshooting</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Capabilities
|
|
27
|
+
|
|
28
|
+
- **Get standup updates** from git history (commits, diffs, stats)
|
|
29
|
+
- **List PRs, commits, branches** from GitHub repos
|
|
30
|
+
- **Send messages to Slack** channels
|
|
31
|
+
- **Check connection status** for all integrations
|
|
32
|
+
|
|
33
|
+
## Integrations
|
|
34
|
+
|
|
35
|
+
| Integration | Features | Auth Required |
|
|
36
|
+
|-------------|----------|---------------|
|
|
37
|
+
| **Git** | Commits, diffs, standup summaries | No |
|
|
38
|
+
| **GitHub** | Repos, PRs, commits, branches | Yes |
|
|
39
|
+
| **Slack** | Read/send messages, threads, channels | Yes |
|
|
40
|
+
|
|
41
|
+
<details>
|
|
42
|
+
<summary><strong>Available Tools (22)</strong></summary>
|
|
43
|
+
|
|
44
|
+
### Git
|
|
45
|
+
| Tool | Description |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| `get_updates` | Get git commits, diff stats, and uncommitted changes |
|
|
48
|
+
|
|
49
|
+
### GitHub
|
|
50
|
+
| Tool | Description |
|
|
51
|
+
|------|-------------|
|
|
52
|
+
| `list_repos` | List accessible repositories |
|
|
53
|
+
| `list_prs` | List pull requests (open/closed/all) |
|
|
54
|
+
| `get_pr` | Get PR details (title, description, files changed) |
|
|
55
|
+
| `list_commits` | List commits with optional filters |
|
|
56
|
+
| `get_commit` | Get commit details (message, stats, files) |
|
|
57
|
+
| `list_branches` | List repository branches |
|
|
58
|
+
| `check_github_connection` | Verify GitHub connection |
|
|
59
|
+
|
|
60
|
+
### Slack
|
|
61
|
+
| Tool | Description |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| `list_slack_channels` | List channels bot has access to |
|
|
64
|
+
| `send_slack_message` | Send message to a channel |
|
|
65
|
+
| `read_slack_messages` | Read messages from a channel (with date filter) |
|
|
66
|
+
| `read_slack_thread` | Read replies in a thread |
|
|
67
|
+
| `list_slack_users` | List workspace users |
|
|
68
|
+
| `check_slack_connection` | Verify Slack connection |
|
|
69
|
+
|
|
70
|
+
### Auth
|
|
71
|
+
| Tool | Description |
|
|
72
|
+
|------|-------------|
|
|
73
|
+
| `connect_quickcall` | Start device flow authentication |
|
|
74
|
+
| `check_quickcall_status` | Check connection status |
|
|
75
|
+
| `disconnect_quickcall` | Remove local credentials |
|
|
76
|
+
| `connect_github` | Install GitHub App |
|
|
77
|
+
| `connect_slack` | Authorize Slack App |
|
|
78
|
+
|
|
79
|
+
### Utility
|
|
80
|
+
| Tool | Description |
|
|
81
|
+
|------|-------------|
|
|
82
|
+
| `get_current_datetime` | Get current UTC datetime |
|
|
83
|
+
| `calculate_date_range` | Calculate date range for queries |
|
|
84
|
+
| `calculate_date_offset` | Add/subtract time from a date |
|
|
85
|
+
|
|
86
|
+
</details>
|
|
87
|
+
|
|
88
|
+
## Install
|
|
89
|
+
|
|
90
|
+
### Claude Code
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
/plugin marketplace add quickcall-dev/quickcall-integrations
|
|
94
|
+
/plugin install quickcall@quickcall-integrations
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
<details>
|
|
98
|
+
<summary>MCP only (without plugin)</summary>
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
claude mcp add quickcall -- uvx quickcall-integrations
|
|
102
|
+
```
|
|
103
|
+
</details>
|
|
104
|
+
|
|
105
|
+
<details>
|
|
106
|
+
<summary>Update to latest version</summary>
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
/plugin marketplace update quickcall-integrations
|
|
110
|
+
/plugin uninstall quickcall
|
|
111
|
+
/plugin install quickcall@quickcall-integrations
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
After updating, restart Claude Code or open a new terminal.
|
|
115
|
+
</details>
|
|
116
|
+
|
|
117
|
+
### Cursor
|
|
118
|
+
|
|
119
|
+
Add to your Cursor MCP config (`~/.cursor/mcp.json` for global, or `.cursor/mcp.json` for project):
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"quickcall": {
|
|
125
|
+
"command": "uvx",
|
|
126
|
+
"args": ["quickcall-integrations"]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Then restart Cursor.
|
|
133
|
+
|
|
134
|
+
> Also works with [Antigravity](https://antigravity.dev) and any other IDE that supports MCP servers.
|
|
135
|
+
|
|
136
|
+
## Authentication
|
|
137
|
+
|
|
138
|
+
To use GitHub and Slack integrations, connect your QuickCall account:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
/quickcall:connect
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This will guide you through:
|
|
145
|
+
1. Sign in with Google
|
|
146
|
+
2. Install GitHub App to your org/account
|
|
147
|
+
3. Connect Slack workspace
|
|
148
|
+
|
|
149
|
+
Credentials are stored locally in `~/.quickcall/credentials.json`.
|
|
150
|
+
|
|
151
|
+
## Commands
|
|
152
|
+
|
|
153
|
+
### Claude Code
|
|
154
|
+
|
|
155
|
+
| Command | Description |
|
|
156
|
+
|---------|-------------|
|
|
157
|
+
| `/quickcall:connect` | Connect QuickCall, GitHub, and Slack |
|
|
158
|
+
| `/quickcall:status` | Show connection status |
|
|
159
|
+
| `/quickcall:updates` | Get git updates (default: 1 day) |
|
|
160
|
+
| `/quickcall:updates 7d` | Get updates for last 7 days |
|
|
161
|
+
|
|
162
|
+
### Cursor / Other IDEs
|
|
163
|
+
|
|
164
|
+
Ask the AI naturally - see examples below.
|
|
165
|
+
|
|
166
|
+
## Example Prompts
|
|
167
|
+
|
|
168
|
+
### Git
|
|
169
|
+
```
|
|
170
|
+
What did I work on today?
|
|
171
|
+
Give me a standup summary for the last 3 days
|
|
172
|
+
What changes are uncommitted?
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### GitHub
|
|
176
|
+
```
|
|
177
|
+
List my repos
|
|
178
|
+
Show open PRs on [repo-name]
|
|
179
|
+
What commits were made this week?
|
|
180
|
+
Get details of PR #123
|
|
181
|
+
List branches on [repo-name]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Slack
|
|
185
|
+
```
|
|
186
|
+
Send "Build completed" to #deployments
|
|
187
|
+
What messages were posted in #general today?
|
|
188
|
+
Show me the thread replies for that message
|
|
189
|
+
List channels I have access to
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Combined
|
|
193
|
+
```
|
|
194
|
+
List open PRs on [repo] and send titles to #updates channel
|
|
195
|
+
What did I work on this week? Send summary to #standup
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Troubleshooting
|
|
199
|
+
|
|
200
|
+
### Plugin Not Updating?
|
|
201
|
+
|
|
202
|
+
If new commands don't appear after updating, clear the cache:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
rm -rf ~/.claude/plugins/cache/quickcall-integrations
|
|
206
|
+
rm -rf ~/.claude/plugins/marketplaces/quickcall-integrations
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Then restart Claude Code and reinstall:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
/plugin marketplace add quickcall-dev/quickcall-integrations
|
|
213
|
+
/plugin install quickcall@quickcall-integrations
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Commands Not Showing?
|
|
217
|
+
|
|
218
|
+
Type `/quickcall:` - you should see `connect`, `status`, `updates`.
|
|
219
|
+
|
|
220
|
+
If only `updates` shows, run the cleanup above and reinstall.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
<p align="center">
|
|
225
|
+
Built with ❤️ by <a href="https://quickcall.dev">QuickCall</a>
|
|
226
|
+
</p>
|
|
@@ -127,14 +127,36 @@ class GitHubClient:
|
|
|
127
127
|
def health_check(self) -> bool:
|
|
128
128
|
"""Check if GitHub API is accessible with the token."""
|
|
129
129
|
try:
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
# Use installation/repositories endpoint - works with GitHub App tokens
|
|
131
|
+
with httpx.Client() as client:
|
|
132
|
+
response = client.get(
|
|
133
|
+
"https://api.github.com/installation/repositories",
|
|
134
|
+
headers={
|
|
135
|
+
"Authorization": f"Bearer {self.token}",
|
|
136
|
+
"Accept": "application/vnd.github+json",
|
|
137
|
+
"X-GitHub-Api-Version": "2022-11-28",
|
|
138
|
+
},
|
|
139
|
+
params={"per_page": 1},
|
|
140
|
+
)
|
|
141
|
+
return response.status_code == 200
|
|
132
142
|
except Exception:
|
|
133
143
|
return False
|
|
134
144
|
|
|
135
145
|
def get_authenticated_user(self) -> str:
|
|
136
|
-
"""
|
|
137
|
-
|
|
146
|
+
"""
|
|
147
|
+
Get the GitHub username associated with this installation.
|
|
148
|
+
|
|
149
|
+
Note: GitHub App installation tokens can't access /user endpoint.
|
|
150
|
+
We return the installation owner instead.
|
|
151
|
+
"""
|
|
152
|
+
# Try to get from first repo's owner
|
|
153
|
+
try:
|
|
154
|
+
repos = self.list_repos(limit=1)
|
|
155
|
+
if repos:
|
|
156
|
+
return repos[0].owner.login
|
|
157
|
+
except Exception:
|
|
158
|
+
pass
|
|
159
|
+
return "GitHub App" # Fallback
|
|
138
160
|
|
|
139
161
|
def close(self):
|
|
140
162
|
"""Close GitHub API client."""
|