juicebox-debug-bundle
9
总安装量
9
周安装量
#32055
全站排名
安装命令
npx skills add https://github.com/jeremylongshore/claude-code-plugins-plus-skills --skill juicebox-debug-bundle
Agent 安装分布
claude-code
8
mcpjam
7
mistral-vibe
7
junie
7
windsurf
7
zencoder
7
Skill 文档
Juicebox Debug Bundle
Overview
Collect comprehensive diagnostic information for Juicebox support tickets.
Prerequisites
- Access to application logs
- Juicebox API key configured
- Terminal access
Instructions
Step 1: Collect Environment Info
#!/bin/bash
# collect-debug-info.sh
echo "=== Juicebox Debug Bundle ===" > debug-bundle.txt
echo "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> debug-bundle.txt
echo "" >> debug-bundle.txt
echo "=== Environment ===" >> debug-bundle.txt
echo "Node Version: $(node -v)" >> debug-bundle.txt
echo "NPM Version: $(npm -v)" >> debug-bundle.txt
echo "OS: $(uname -a)" >> debug-bundle.txt
echo "" >> debug-bundle.txt
echo "=== SDK Version ===" >> debug-bundle.txt
npm list @juicebox/sdk 2>/dev/null >> debug-bundle.txt
echo "" >> debug-bundle.txt
Step 2: Test API Connectivity
echo "=== API Connectivity ===" >> debug-bundle.txt
# Health check
echo "Health Check:" >> debug-bundle.txt
curl -s -w "\nHTTP Status: %{http_code}\nTime: %{time_total}s\n" \
https://api.juicebox.ai/v1/health >> debug-bundle.txt
echo "" >> debug-bundle.txt
# Auth verification (masked key)
echo "Auth Test:" >> debug-bundle.txt
MASKED_KEY="${JUICEBOX_API_KEY:0:10}...${JUICEBOX_API_KEY: -4}"
echo "API Key (masked): $MASKED_KEY" >> debug-bundle.txt
curl -s -w "\nHTTP Status: %{http_code}\n" \
-H "Authorization: Bearer $JUICEBOX_API_KEY" \
https://api.juicebox.ai/v1/auth/me >> debug-bundle.txt
echo "" >> debug-bundle.txt
Step 3: Gather Error Logs
// debug/collect-logs.ts
import * as fs from 'fs';
export function collectRecentErrors(logPath: string): string[] {
const logs = fs.readFileSync(logPath, 'utf-8');
const lines = logs.split('\n');
// Filter for Juicebox-related errors in last 24 hours
const cutoff = Date.now() - 24 * 60 * 60 * 1000;
return lines.filter(line => {
if (!line.includes('juicebox') && !line.includes('Juicebox')) {
return false;
}
const match = line.match(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/);
if (match) {
const timestamp = new Date(match[0]).getTime();
return timestamp > cutoff;
}
return true;
});
}
Step 4: Create Support Bundle
// debug/create-bundle.ts
import * as fs from 'fs';
import * as path from 'path';
interface DebugBundle {
timestamp: string;
environment: Record<string, string>;
sdkVersion: string;
recentErrors: string[];
apiTests: {
health: boolean;
auth: boolean;
latency: number;
};
requestSample?: {
endpoint: string;
request: any;
response: any;
duration: number;
};
}
export async function createDebugBundle(): Promise<DebugBundle> {
const bundle: DebugBundle = {
timestamp: new Date().toISOString(),
environment: {
nodeVersion: process.version,
platform: process.platform,
arch: process.arch
},
sdkVersion: require('@juicebox/sdk/package.json').version,
recentErrors: collectRecentErrors('logs/app.log'),
apiTests: await runApiTests()
};
// Save bundle
const filename = `debug-bundle-${Date.now()}.json`;
fs.writeFileSync(filename, JSON.stringify(bundle, null, 2));
console.log(`Debug bundle saved to ${filename}`);
return bundle;
}
Output
debug-bundle.txt– Text summarydebug-bundle-*.json– Structured data- Filtered error logs
- API connectivity results
Checklist for Support Tickets
## Support Ticket Template
**Issue Description:**
[Brief description of the problem]
**Steps to Reproduce:**
1.
2.
3.
**Expected Behavior:**
[What should happen]
**Actual Behavior:**
[What actually happens]
**Debug Bundle Attached:**
- [ ] debug-bundle.json
- [ ] Relevant log excerpts
- [ ] Screenshot (if UI related)
**Environment:**
- SDK Version:
- Node Version:
- Platform:
Resources
Next Steps
After collecting debug info, check juicebox-rate-limits for quota issues.