@codemieai/code 0.0.47 → 0.0.48
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/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +35 -36
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +39 -42
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +791 -0
- package/dist/agents/plugins/claude/plugin/skills/report-issue/SKILL.md +288 -0
- package/package.json +1 -1
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.py +0 -785
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: report-issue
|
|
3
|
+
description: >-
|
|
4
|
+
This skill should be used when the user wants to report a bug, file an issue, or suggest a
|
|
5
|
+
feature for the CodeMie Code CLI tool (codemie-ai/codemie-code repository on GitHub).
|
|
6
|
+
Trigger phrases include: "report a bug", "open an issue", "submit an issue", "file a bug
|
|
7
|
+
report", "something is broken in CodeMie", "report to GitHub", "create a GitHub issue",
|
|
8
|
+
"suggest a feature for CodeMie", "request an enhancement", "I have a feature idea",
|
|
9
|
+
"codemie is not working", or any mention of filing a report for CodeMie. This skill
|
|
10
|
+
automatically collects diagnostic context (OS, Node.js, CLI version, installed agents,
|
|
11
|
+
active profile, codemie doctor output, recent debug logs) and creates a structured GitHub
|
|
12
|
+
issue via `gh issue create` with a user-confirmed preview step before submission.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Report Issue to CodeMie Code
|
|
16
|
+
|
|
17
|
+
Help the user file a well-structured bug report or feature request to [codemie-ai/codemie-code](https://github.com/codemie-ai/codemie-code) on GitHub.
|
|
18
|
+
|
|
19
|
+
The goal is to create a rich issue that gives maintainers everything they need to triage and reproduce the problem — without requiring the user to manually gather technical details.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Step 1: Pre-flight and Diagnostic Collection
|
|
24
|
+
|
|
25
|
+
### 1a. Check `gh` CLI first — do this before anything else
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
if ! command -v gh &>/dev/null; then
|
|
29
|
+
echo "GH_NOT_INSTALLED"
|
|
30
|
+
else
|
|
31
|
+
gh auth status 2>&1 || echo "GH_NOT_AUTHENTICATED"
|
|
32
|
+
fi
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**If `GH_NOT_INSTALLED`:** Stop immediately and tell the user:
|
|
36
|
+
|
|
37
|
+
> "`gh` (GitHub CLI) is not installed. It is required to create issues from the terminal.
|
|
38
|
+
>
|
|
39
|
+
> Install it with one of:
|
|
40
|
+
> - **macOS**: `brew install gh`
|
|
41
|
+
> - **Linux (apt)**: `sudo apt install gh`
|
|
42
|
+
> - **Linux (dnf)**: `sudo dnf install gh`
|
|
43
|
+
> - **Windows**: `winget install --id GitHub.cli`
|
|
44
|
+
> - Or download from: https://cli.github.com
|
|
45
|
+
>
|
|
46
|
+
> After installing, run `gh auth login` to connect your GitHub account, then try this skill again."
|
|
47
|
+
|
|
48
|
+
**If `GH_NOT_AUTHENTICATED`:** Stop and tell the user:
|
|
49
|
+
|
|
50
|
+
> "`gh` is installed but not authenticated. Run `gh auth login` to connect to your GitHub account, then try again."
|
|
51
|
+
|
|
52
|
+
Do not proceed past this point until `gh` is installed and authenticated.
|
|
53
|
+
|
|
54
|
+
### 1b. Gather diagnostic context
|
|
55
|
+
|
|
56
|
+
Run the following and capture results. Don't display raw output yet.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# OS + platform
|
|
60
|
+
uname -srm 2>/dev/null || echo "unknown"
|
|
61
|
+
|
|
62
|
+
# Node.js version
|
|
63
|
+
node --version 2>/dev/null || echo "not found"
|
|
64
|
+
|
|
65
|
+
# npm version
|
|
66
|
+
npm --version 2>/dev/null || echo "not found"
|
|
67
|
+
|
|
68
|
+
# CodeMie CLI version
|
|
69
|
+
codemie --version 2>/dev/null || echo "not found"
|
|
70
|
+
|
|
71
|
+
# Installed agents and versions
|
|
72
|
+
codemie list --installed 2>/dev/null || echo "unavailable"
|
|
73
|
+
|
|
74
|
+
# Full doctor output (profile, provider, dependency health, agent versions)
|
|
75
|
+
codemie doctor 2>/dev/null || echo "unavailable"
|
|
76
|
+
|
|
77
|
+
# Shell + terminal environment
|
|
78
|
+
echo "Shell: $SHELL"
|
|
79
|
+
echo "Terminal: ${TERM_PROGRAM:-unknown}"
|
|
80
|
+
|
|
81
|
+
# Extract ERROR and WARN lines from the two most recent log files.
|
|
82
|
+
# Log format: [TIMESTAMP] [LEVEL] [agent] [session-id] [profile] [component] message
|
|
83
|
+
# Files: ~/.codemie/logs/debug-YYYY-MM-DD.log (one per day, can be several MB)
|
|
84
|
+
LOG_DIR="$HOME/.codemie/logs"
|
|
85
|
+
RECENT_LOGS=$(ls -t "$LOG_DIR"/debug-*.log 2>/dev/null | head -2)
|
|
86
|
+
if [ -n "$RECENT_LOGS" ]; then
|
|
87
|
+
echo "=== ERROR and WARN entries from recent logs ==="
|
|
88
|
+
# Print filename headers and filter by level; limit to last 100 matches to keep size reasonable
|
|
89
|
+
for f in $RECENT_LOGS; do
|
|
90
|
+
echo "--- $f ---"
|
|
91
|
+
grep -E '\[(ERROR|WARN)\]' "$f" | tail -50
|
|
92
|
+
done
|
|
93
|
+
echo "=== Full log files ==="
|
|
94
|
+
for f in $RECENT_LOGS; do
|
|
95
|
+
echo "$f"
|
|
96
|
+
done
|
|
97
|
+
else
|
|
98
|
+
echo "No debug logs found"
|
|
99
|
+
fi
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Log file paths** (captured above) will be used in Step 6 to upload as Gist.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Step 2: Understand the Issue
|
|
107
|
+
|
|
108
|
+
**Extraction-first:** If the user already described the issue in their request (problem, error message, steps, etc.), extract that information directly without asking them to repeat it. Only ask follow-up questions for missing pieces.
|
|
109
|
+
|
|
110
|
+
If no description was provided yet, ask the user for:
|
|
111
|
+
1. **Issue type**: Bug report, feature request, or question?
|
|
112
|
+
2. **Title**: A short, specific summary (one line)
|
|
113
|
+
3. **Description**: What happened, what they expected, and any reproduction steps
|
|
114
|
+
|
|
115
|
+
When prompting for description, share these tips:
|
|
116
|
+
- Include the exact command that triggered the problem
|
|
117
|
+
- Paste the exact error message verbatim (not paraphrased)
|
|
118
|
+
- Note whether it happens every time or intermittently
|
|
119
|
+
- For feature requests: describe the use case and the expected behavior
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Step 3: Classify the Issue
|
|
124
|
+
|
|
125
|
+
Determine the issue type based on the user's description:
|
|
126
|
+
- **Bug report** — unexpected error, crash, wrong output → label: `bug`
|
|
127
|
+
- **Feature request** — missing capability, enhancement ask → label: `enhancement`
|
|
128
|
+
- **Question / unclear behavior** — seeking clarification → label: `question`
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Step 4: Compose the Issue Body
|
|
133
|
+
|
|
134
|
+
Build the issue body using the appropriate template below.
|
|
135
|
+
|
|
136
|
+
**Security — before embedding diagnostic output:**
|
|
137
|
+
- Scan for and redact full API keys, tokens, or passwords (show only first 4 chars + `***`)
|
|
138
|
+
- The masked format `proxy-ha***dled` already used by `codemie doctor` is safe to include as-is
|
|
139
|
+
- Remove any personal access tokens or private credential URLs
|
|
140
|
+
|
|
141
|
+
### Template: Bug Report
|
|
142
|
+
|
|
143
|
+
~~~markdown
|
|
144
|
+
## Description
|
|
145
|
+
|
|
146
|
+
<user's description of the problem>
|
|
147
|
+
|
|
148
|
+
## Steps to Reproduce
|
|
149
|
+
|
|
150
|
+
1.
|
|
151
|
+
2.
|
|
152
|
+
3.
|
|
153
|
+
|
|
154
|
+
## Expected Behavior
|
|
155
|
+
|
|
156
|
+
<what the user expected to happen>
|
|
157
|
+
|
|
158
|
+
## Actual Behavior
|
|
159
|
+
|
|
160
|
+
<what actually happened — paste error messages verbatim>
|
|
161
|
+
|
|
162
|
+
## Environment
|
|
163
|
+
|
|
164
|
+
| Field | Value |
|
|
165
|
+
|-------------|------------------------------|
|
|
166
|
+
| OS | <uname output> |
|
|
167
|
+
| Node.js | <node --version> |
|
|
168
|
+
| npm | <npm --version> |
|
|
169
|
+
| CodeMie CLI | <codemie --version> |
|
|
170
|
+
| Shell | <$SHELL> |
|
|
171
|
+
| Terminal | <$TERM_PROGRAM> |
|
|
172
|
+
|
|
173
|
+
## Installed Agents
|
|
174
|
+
|
|
175
|
+
<formatted list from `codemie list --installed` — agent name and version per line>
|
|
176
|
+
|
|
177
|
+
## CodeMie Doctor Output
|
|
178
|
+
|
|
179
|
+
<details>
|
|
180
|
+
<summary>Full doctor output</summary>
|
|
181
|
+
|
|
182
|
+
<pre>
|
|
183
|
+
<codemie doctor output — with credentials redacted>
|
|
184
|
+
</pre>
|
|
185
|
+
|
|
186
|
+
</details>
|
|
187
|
+
|
|
188
|
+
## Recent Errors
|
|
189
|
+
|
|
190
|
+
<details>
|
|
191
|
+
<summary>ERROR and WARN entries from recent logs</summary>
|
|
192
|
+
|
|
193
|
+
<pre>
|
|
194
|
+
<filtered ERROR/WARN lines from the two most recent debug-YYYY-MM-DD.log files, or "No errors found">
|
|
195
|
+
</pre>
|
|
196
|
+
|
|
197
|
+
</details>
|
|
198
|
+
|
|
199
|
+
## Full Debug Logs
|
|
200
|
+
|
|
201
|
+
<full log file(s) attached as GitHub Gist — see link below, or "No log files found">
|
|
202
|
+
~~~
|
|
203
|
+
|
|
204
|
+
### Template: Feature Request
|
|
205
|
+
|
|
206
|
+
~~~markdown
|
|
207
|
+
## Summary
|
|
208
|
+
|
|
209
|
+
<one-sentence description of the feature>
|
|
210
|
+
|
|
211
|
+
## Motivation
|
|
212
|
+
|
|
213
|
+
<the problem this feature would solve, or the use case that is currently missing>
|
|
214
|
+
|
|
215
|
+
## Proposed Behavior
|
|
216
|
+
|
|
217
|
+
<what the user wants to happen — be specific about inputs, outputs, and commands>
|
|
218
|
+
|
|
219
|
+
## Alternatives Considered
|
|
220
|
+
|
|
221
|
+
<other ways you have worked around this, if any>
|
|
222
|
+
|
|
223
|
+
## Environment
|
|
224
|
+
|
|
225
|
+
| Field | Value |
|
|
226
|
+
|-------------|------------------------------|
|
|
227
|
+
| OS | <uname output> |
|
|
228
|
+
| Node.js | <node --version> |
|
|
229
|
+
| CodeMie CLI | <codemie --version> |
|
|
230
|
+
|
|
231
|
+
## Installed Agents
|
|
232
|
+
|
|
233
|
+
<formatted list from `codemie list --installed`>
|
|
234
|
+
~~~
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Step 5: Preview and Confirm
|
|
239
|
+
|
|
240
|
+
Show the user the proposed issue title and full body. Ask:
|
|
241
|
+
|
|
242
|
+
> "Here's the issue I'll create on GitHub. Does this look right, or would you like to change anything before I submit?"
|
|
243
|
+
|
|
244
|
+
Wait for confirmation before creating the issue.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Step 6: Upload Log Files as Gist
|
|
249
|
+
|
|
250
|
+
If log files were found in Step 1b, upload the two most recent ones as a **secret Gist** so they can be referenced in the issue. This keeps the issue body readable while giving maintainers the full context.
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Upload the two most recent log files as a single secret Gist
|
|
254
|
+
gh gist create \
|
|
255
|
+
--desc "CodeMie debug logs for issue report ($(date +%Y-%m-%d))" \
|
|
256
|
+
~/.codemie/logs/debug-$(date +%Y-%m-%d).log \
|
|
257
|
+
~/.codemie/logs/debug-$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d yesterday +%Y-%m-%d).log \
|
|
258
|
+
2>/dev/null
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Capture the Gist URL from the output (it looks like `https://gist.github.com/...`).
|
|
262
|
+
|
|
263
|
+
- If only one log file exists, pass just that file.
|
|
264
|
+
- If no log files exist, skip this step and note "No log files available" in the issue body.
|
|
265
|
+
- Replace the `<full log file(s) attached as GitHub Gist — see link below>` placeholder in the issue body with the actual Gist URL.
|
|
266
|
+
|
|
267
|
+
**Note:** Gists are secret (not listed publicly) but accessible to anyone with the link.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Step 7: Create the GitHub Issue
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
gh issue create \
|
|
275
|
+
--repo codemie-ai/codemie-code \
|
|
276
|
+
--title "<issue title>" \
|
|
277
|
+
--body "<issue body with gist URL inserted>" \
|
|
278
|
+
--label "<bug|enhancement|question>"
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Step 8: Confirm and Link
|
|
284
|
+
|
|
285
|
+
After the issue is created, tell the user:
|
|
286
|
+
- The issue URL (from `gh issue create` output)
|
|
287
|
+
- They can add screenshots or additional files directly on GitHub
|
|
288
|
+
- Track progress at: https://github.com/codemie-ai/codemie-code/issues
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemieai/code",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.48",
|
|
4
4
|
"description": "Unified AI coding assistant CLI - Manage Claude Code, Gemini & custom agents. Multi-provider support (OpenAI, Azure, LiteLLM, SSO). Built-in LangGraph agent with file operations & git integration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|