bobs-workshop 0.3.3 ā 3.1.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/LICENSE +2 -2
- package/README.md +199 -210
- package/bin/bobs-workshop.js +109 -0
- package/config/agents.json +27 -0
- package/dist/plugins/bobs-workshop.js +34 -0
- package/dist/tools/background-agent/cancel.d.ts +3 -0
- package/dist/tools/background-agent/cancel.d.ts.map +1 -0
- package/dist/tools/background-agent/cancel.js +52 -0
- package/dist/tools/background-agent/concurrency.d.ts +15 -0
- package/dist/tools/background-agent/concurrency.d.ts.map +1 -0
- package/dist/tools/background-agent/concurrency.js +61 -0
- package/dist/tools/background-agent/index.d.ts +8 -0
- package/dist/tools/background-agent/index.d.ts.map +1 -0
- package/dist/tools/background-agent/index.js +7 -0
- package/dist/tools/background-agent/launch.d.ts +6 -0
- package/dist/tools/background-agent/launch.d.ts.map +1 -0
- package/dist/tools/background-agent/launch.js +33 -0
- package/dist/tools/background-agent/list.d.ts +7 -0
- package/dist/tools/background-agent/list.d.ts.map +1 -0
- package/dist/tools/background-agent/list.js +40 -0
- package/dist/tools/background-agent/manager.d.ts +29 -0
- package/dist/tools/background-agent/manager.d.ts.map +1 -0
- package/dist/tools/background-agent/manager.js +377 -0
- package/dist/tools/background-agent/output.d.ts +3 -0
- package/dist/tools/background-agent/output.d.ts.map +1 -0
- package/dist/tools/background-agent/output.js +41 -0
- package/dist/tools/background-agent/types.d.ts +46 -0
- package/dist/tools/background-agent/types.d.ts.map +1 -0
- package/dist/tools/background-agent/types.js +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/manual/index.d.ts +3 -0
- package/dist/tools/manual/index.d.ts.map +1 -0
- package/dist/tools/manual/index.js +2 -0
- package/dist/tools/manual/manual-update.d.ts +4 -0
- package/dist/tools/manual/manual-update.d.ts.map +1 -0
- package/dist/tools/manual/manual-update.js +190 -0
- package/dist/tools/manual/verify-manual.d.ts +4 -0
- package/dist/tools/manual/verify-manual.d.ts.map +1 -0
- package/dist/tools/manual/verify-manual.js +46 -0
- package/package.json +34 -66
- package/postinstall.js +190 -0
- package/src/agents/alice.md +466 -0
- package/src/agents/bob-rev.md +493 -0
- package/src/agents/bob-send.md +277 -0
- package/src/agents/bob.md +442 -0
- package/src/agents/trace.md +451 -0
- package/src/plugins/bobs-workshop.ts +45 -0
- package/src/skills/api-patterns/SKILL.md +376 -0
- package/src/skills/architecture/SKILL.md +271 -0
- package/src/skills/bobs-workshop/performance/icon.svg +3 -0
- package/src/skills/brainstorming/SKILL.md +210 -0
- package/src/skills/clean-code/SKILL.md +151 -0
- package/src/skills/code-review-checklist/SKILL.md +220 -0
- package/src/skills/database-design/SKILL.md +271 -0
- package/src/skills/exploration/SKILL.md +257 -0
- package/src/skills/frontend-ui-ux/SKILL.md +78 -0
- package/src/skills/git-master/SKILL.md +1105 -0
- package/src/skills/performance/SKILL.md +144 -0
- package/src/skills/performance/icon.svg +3 -0
- package/src/skills/plan-writing/SKILL.md +225 -0
- package/src/skills/security/SKILL.md +410 -0
- package/src/skills/simplification/SKILL.md +238 -0
- package/src/skills/systematic-debugging/SKILL.md +175 -0
- package/src/skills/testing-patterns/SKILL.md +305 -0
- package/src/skills/verification/SKILL.md +286 -0
- package/src/tools/background-agent/cancel.ts +67 -0
- package/src/tools/background-agent/concurrency.ts +71 -0
- package/src/tools/background-agent/index.ts +7 -0
- package/src/tools/background-agent/launch.ts +39 -0
- package/src/tools/background-agent/list.ts +50 -0
- package/src/tools/background-agent/manager.ts +455 -0
- package/src/tools/background-agent/output.ts +57 -0
- package/src/tools/background-agent/types.ts +55 -0
- package/src/tools/index.ts +8 -0
- package/src/tools/manual/index.ts +2 -0
- package/src/tools/manual/manual-update.ts +197 -0
- package/src/tools/manual/verify-manual.ts +55 -0
- package/uninstall.js +64 -0
- package/Claude.md +0 -162
- package/bin/bobs-mcp-server.js +0 -11
- package/bin/bobs-mcp.js +0 -130
- package/dist/api/taskLogger.js +0 -106
- package/dist/api/taskLogger.js.map +0 -1
- package/dist/cli/checker.js +0 -401
- package/dist/cli/checker.js.map +0 -1
- package/dist/cli/cleanup.js +0 -131
- package/dist/cli/cleanup.js.map +0 -1
- package/dist/cli/debug.js +0 -157
- package/dist/cli/debug.js.map +0 -1
- package/dist/cli/health.js +0 -97
- package/dist/cli/health.js.map +0 -1
- package/dist/cli/setup.js +0 -81
- package/dist/cli/setup.js.map +0 -1
- package/dist/cli/workshop.js +0 -42
- package/dist/cli/workshop.js.map +0 -1
- package/dist/dashboard/server.js +0 -1203
- package/dist/dashboard/server.js.map +0 -1
- package/dist/index.js +0 -960
- package/dist/index.js.map +0 -1
- package/dist/prompts/architect.js +0 -221
- package/dist/prompts/architect.js.map +0 -1
- package/dist/prompts/debugger.js +0 -257
- package/dist/prompts/debugger.js.map +0 -1
- package/dist/prompts/engineer.js +0 -249
- package/dist/prompts/engineer.js.map +0 -1
- package/dist/prompts/orchestrator.js +0 -304
- package/dist/prompts/orchestrator.js.map +0 -1
- package/dist/prompts/reviewer.js +0 -289
- package/dist/prompts/reviewer.js.map +0 -1
- package/dist/services/activitySummarizer.js +0 -388
- package/dist/services/activitySummarizer.js.map +0 -1
- package/dist/services/changeValidator.js +0 -396
- package/dist/services/changeValidator.js.map +0 -1
- package/dist/services/claudeOrchestrator.js +0 -343
- package/dist/services/claudeOrchestrator.js.map +0 -1
- package/dist/services/fileMonitor.js +0 -250
- package/dist/services/fileMonitor.js.map +0 -1
- package/dist/services/implementationSummarizer.js +0 -306
- package/dist/services/implementationSummarizer.js.map +0 -1
- package/dist/services/liveMonitor.js +0 -315
- package/dist/services/liveMonitor.js.map +0 -1
- package/dist/services/mcpAuditLogger.js +0 -104
- package/dist/services/mcpAuditLogger.js.map +0 -1
- package/dist/services/mcpLogger.js +0 -223
- package/dist/services/mcpLogger.js.map +0 -1
- package/dist/services/tmuxManager.js +0 -541
- package/dist/services/tmuxManager.js.map +0 -1
- package/dist/tools/approvalTools.js +0 -244
- package/dist/tools/approvalTools.js.map +0 -1
- package/dist/tools/autoDebugger.js +0 -147
- package/dist/tools/autoDebugger.js.map +0 -1
- package/dist/tools/cleanupService.js +0 -221
- package/dist/tools/cleanupService.js.map +0 -1
- package/dist/tools/dashboardTools.js +0 -342
- package/dist/tools/dashboardTools.js.map +0 -1
- package/dist/tools/developmentNudges.js +0 -336
- package/dist/tools/developmentNudges.js.map +0 -1
- package/dist/tools/gitTools.js +0 -741
- package/dist/tools/gitTools.js.map +0 -1
- package/dist/tools/orchestratorTools.js +0 -832
- package/dist/tools/orchestratorTools.js.map +0 -1
- package/dist/tools/searchCache.js +0 -64
- package/dist/tools/searchCache.js.map +0 -1
- package/dist/tools/searchTools.js +0 -1107
- package/dist/tools/searchTools.js.map +0 -1
- package/dist/tools/semgrep-patterns.js +0 -296
- package/dist/tools/semgrep-patterns.js.map +0 -1
- package/dist/tools/specTools.js +0 -332
- package/dist/tools/specTools.js.map +0 -1
- package/dist/tools/structural/__tests__/orchestrator.test.js +0 -61
- package/dist/tools/structural/__tests__/orchestrator.test.js.map +0 -1
- package/dist/tools/structural/cache.js +0 -226
- package/dist/tools/structural/cache.js.map +0 -1
- package/dist/tools/structural/engines/python/index.js +0 -118
- package/dist/tools/structural/engines/python/index.js.map +0 -1
- package/dist/tools/structural/engines/typescript/__tests__/typescript-engine.test.js +0 -97
- package/dist/tools/structural/engines/typescript/__tests__/typescript-engine.test.js.map +0 -1
- package/dist/tools/structural/engines/typescript/analyzer.js +0 -433
- package/dist/tools/structural/engines/typescript/analyzer.js.map +0 -1
- package/dist/tools/structural/engines/typescript/index.js +0 -381
- package/dist/tools/structural/engines/typescript/index.js.map +0 -1
- package/dist/tools/structural/engines/typescript/utils.js +0 -279
- package/dist/tools/structural/engines/typescript/utils.js.map +0 -1
- package/dist/tools/structural/index.js +0 -248
- package/dist/tools/structural/index.js.map +0 -1
- package/dist/tools/structural/types.js +0 -18
- package/dist/tools/structural/types.js.map +0 -1
- package/dist/tools/tmuxTools.js +0 -100
- package/dist/tools/tmuxTools.js.map +0 -1
- package/dist/tools/workRecorder.js +0 -215
- package/dist/tools/workRecorder.js.map +0 -1
- package/dist/tools/worktreeTools.js +0 -705
- package/dist/tools/worktreeTools.js.map +0 -1
- package/dist/utils/__tests__/integration.test.js +0 -57
- package/dist/utils/__tests__/integration.test.js.map +0 -1
- package/dist/utils/__tests__/serverDetection.test.js +0 -151
- package/dist/utils/__tests__/serverDetection.test.js.map +0 -1
- package/dist/utils/errorHandling.js +0 -336
- package/dist/utils/errorHandling.js.map +0 -1
- package/dist/utils/processManager.js +0 -172
- package/dist/utils/processManager.js.map +0 -1
- package/dist/utils/reliability.js +0 -263
- package/dist/utils/reliability.js.map +0 -1
- package/dist/utils/responseFormatter.js +0 -250
- package/dist/utils/responseFormatter.js.map +0 -1
- package/dist/utils/serverDetection.js +0 -133
- package/dist/utils/serverDetection.js.map +0 -1
- package/dist/utils/specMigration.js +0 -105
- package/dist/utils/specMigration.js.map +0 -1
- package/dist/validation/schemas.js +0 -299
- package/dist/validation/schemas.js.map +0 -1
- package/public/.well-known/mcp/manifest.json +0 -473
- package/public/index.html +0 -3157
- package/public/index.html.backup +0 -2805
- package/public/index.html.backup2 +0 -1292
- package/scripts/cleanup-system-logs.ts +0 -121
- package/scripts/init-workspace.js +0 -63
- package/scripts/install-search-tools.js +0 -116
package/dist/cli/debug.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
// src/cli/debug.ts
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
import { fileURLToPath } from 'url';
|
|
5
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
-
export async function runDebug() {
|
|
7
|
-
console.log('š§ Bob\'s Workshop Debug Information\n');
|
|
8
|
-
console.log('ā'.repeat(50));
|
|
9
|
-
try {
|
|
10
|
-
// Basic system information
|
|
11
|
-
console.log('\nš» System Information:');
|
|
12
|
-
console.log(` Node.js: ${process.version}`);
|
|
13
|
-
console.log(` Platform: ${process.platform} ${process.arch}`);
|
|
14
|
-
console.log(` Working Directory: ${process.cwd()}`);
|
|
15
|
-
console.log(` Process ID: ${process.pid}`);
|
|
16
|
-
console.log(` Uptime: ${Math.floor(process.uptime())}s`);
|
|
17
|
-
// Memory usage
|
|
18
|
-
const memUsage = process.memoryUsage();
|
|
19
|
-
console.log('\nš¾ Memory Usage:');
|
|
20
|
-
console.log(` RSS: ${Math.round(memUsage.rss / 1024 / 1024)}MB`);
|
|
21
|
-
console.log(` Heap Used: ${Math.round(memUsage.heapUsed / 1024 / 1024)}MB`);
|
|
22
|
-
console.log(` Heap Total: ${Math.round(memUsage.heapTotal / 1024 / 1024)}MB`);
|
|
23
|
-
console.log(` External: ${Math.round(memUsage.external / 1024 / 1024)}MB`);
|
|
24
|
-
// Environment variables
|
|
25
|
-
console.log('\nš Environment:');
|
|
26
|
-
console.log(` NODE_ENV: ${process.env.NODE_ENV || 'not set'}`);
|
|
27
|
-
console.log(` PATH length: ${(process.env.PATH || '').split(':').length} entries`);
|
|
28
|
-
// Project structure
|
|
29
|
-
console.log('\nš Project Structure:');
|
|
30
|
-
await checkProjectStructure();
|
|
31
|
-
// Dependencies
|
|
32
|
-
console.log('\nš¦ Dependencies:');
|
|
33
|
-
await checkDependencies();
|
|
34
|
-
// Bob's Workshop specific
|
|
35
|
-
console.log('\nš§ Bob\'s Workshop:');
|
|
36
|
-
await checkBobWorkshop();
|
|
37
|
-
// Process information
|
|
38
|
-
console.log('\nāļø Process Information:');
|
|
39
|
-
console.log(` Arguments: ${process.argv.slice(2).join(' ') || 'none'}`);
|
|
40
|
-
console.log(` Exit handlers: ${process.listenerCount('exit')}`);
|
|
41
|
-
console.log(` Error handlers: ${process.listenerCount('error')}`);
|
|
42
|
-
console.log('\nā'.repeat(50));
|
|
43
|
-
console.log('š Debug information collected successfully!');
|
|
44
|
-
console.log('\nUse this information for troubleshooting or bug reports.');
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
console.log('\nā Error collecting debug information:');
|
|
48
|
-
console.log(` ${error instanceof Error ? error.message : String(error)}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async function checkProjectStructure() {
|
|
52
|
-
const projectRoot = process.cwd();
|
|
53
|
-
const items = [
|
|
54
|
-
'package.json',
|
|
55
|
-
'src/',
|
|
56
|
-
'dist/',
|
|
57
|
-
'.bob/',
|
|
58
|
-
'node_modules/',
|
|
59
|
-
'public/',
|
|
60
|
-
'bin/'
|
|
61
|
-
];
|
|
62
|
-
for (const item of items) {
|
|
63
|
-
const itemPath = path.join(projectRoot, item);
|
|
64
|
-
try {
|
|
65
|
-
const exists = await fs.pathExists(itemPath);
|
|
66
|
-
const icon = exists ? 'ā
' : 'ā';
|
|
67
|
-
console.log(` ${icon} ${item}`);
|
|
68
|
-
if (exists && item.endsWith('/')) {
|
|
69
|
-
const stat = await fs.stat(itemPath);
|
|
70
|
-
if (stat.isDirectory()) {
|
|
71
|
-
const files = await fs.readdir(itemPath);
|
|
72
|
-
console.log(` (${files.length} items)`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
console.log(` ā ${item} (check failed)`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async function checkDependencies() {
|
|
82
|
-
try {
|
|
83
|
-
const packagePath = path.join(process.cwd(), 'package.json');
|
|
84
|
-
const packageData = await fs.readJson(packagePath);
|
|
85
|
-
console.log(` Package: ${packageData.name}@${packageData.version}`);
|
|
86
|
-
const deps = packageData.dependencies || {};
|
|
87
|
-
const devDeps = packageData.devDependencies || {};
|
|
88
|
-
console.log(` Dependencies: ${Object.keys(deps).length}`);
|
|
89
|
-
console.log(` Dev Dependencies: ${Object.keys(devDeps).length}`);
|
|
90
|
-
// Check critical dependencies
|
|
91
|
-
const critical = ['@modelcontextprotocol/sdk', 'express', 'chokidar'];
|
|
92
|
-
for (const dep of critical) {
|
|
93
|
-
const hasIt = dep in deps || dep in devDeps;
|
|
94
|
-
const icon = hasIt ? 'ā
' : 'ā';
|
|
95
|
-
console.log(` ${icon} ${dep}`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
console.log(` ā Cannot read package.json: ${error}`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
async function checkBobWorkshop() {
|
|
103
|
-
const projectRoot = process.cwd();
|
|
104
|
-
// Check .bob directory
|
|
105
|
-
const bobDir = path.join(projectRoot, '.bob');
|
|
106
|
-
try {
|
|
107
|
-
const exists = await fs.pathExists(bobDir);
|
|
108
|
-
console.log(` .bob directory: ${exists ? 'ā
exists' : 'ā missing'}`);
|
|
109
|
-
if (exists) {
|
|
110
|
-
const specsDir = path.join(bobDir, 'specs');
|
|
111
|
-
const specsExists = await fs.pathExists(specsDir);
|
|
112
|
-
console.log(` .bob/specs: ${specsExists ? 'ā
exists' : 'ā missing'}`);
|
|
113
|
-
if (specsExists) {
|
|
114
|
-
const indexFile = path.join(specsDir, 'index.json');
|
|
115
|
-
const indexExists = await fs.pathExists(indexFile);
|
|
116
|
-
console.log(` specs index: ${indexExists ? 'ā
exists' : 'ā missing'}`);
|
|
117
|
-
if (indexExists) {
|
|
118
|
-
const index = await fs.readJson(indexFile);
|
|
119
|
-
const specCount = index.specs ? index.specs.length : 0;
|
|
120
|
-
console.log(` specs count: ${specCount}`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
console.log(` ā Error checking .bob: ${error}`);
|
|
127
|
-
}
|
|
128
|
-
// Check build status
|
|
129
|
-
const distDir = path.join(projectRoot, 'dist');
|
|
130
|
-
try {
|
|
131
|
-
const distExists = await fs.pathExists(distDir);
|
|
132
|
-
console.log(` Build status: ${distExists ? 'ā
built' : 'ā not built'}`);
|
|
133
|
-
if (distExists) {
|
|
134
|
-
const mainFile = path.join(distDir, 'index.js');
|
|
135
|
-
const mainExists = await fs.pathExists(mainFile);
|
|
136
|
-
console.log(` Main file: ${mainExists ? 'ā
exists' : 'ā missing'}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
console.log(` ā Error checking build: ${error}`);
|
|
141
|
-
}
|
|
142
|
-
// Check manifest
|
|
143
|
-
const manifestPath = path.join(projectRoot, 'public/.well-known/mcp/manifest.json');
|
|
144
|
-
try {
|
|
145
|
-
const manifestExists = await fs.pathExists(manifestPath);
|
|
146
|
-
console.log(` MCP manifest: ${manifestExists ? 'ā
exists' : 'ā missing'}`);
|
|
147
|
-
if (manifestExists) {
|
|
148
|
-
const manifest = await fs.readJson(manifestPath);
|
|
149
|
-
const toolCount = manifest.tools ? Object.keys(manifest.tools).length : 0;
|
|
150
|
-
console.log(` MCP tools: ${toolCount}`);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
console.log(` ā Error checking manifest: ${error}`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=debug.js.map
|
package/dist/cli/debug.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/cli/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/health.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
// src/cli/health.ts
|
|
2
|
-
import { globalHealthChecker } from '../utils/reliability.js';
|
|
3
|
-
export async function runHealthCheck() {
|
|
4
|
-
console.log('š§ Bob\'s Workshop Health Check\n');
|
|
5
|
-
console.log('ā'.repeat(50));
|
|
6
|
-
try {
|
|
7
|
-
// Initialize health checks (similar to MCP server)
|
|
8
|
-
await initializeHealthChecks();
|
|
9
|
-
// Run all health checks
|
|
10
|
-
const healthResults = await globalHealthChecker.checkHealth();
|
|
11
|
-
const isHealthy = globalHealthChecker.isHealthy();
|
|
12
|
-
// Get error statistics (simplified for CLI)
|
|
13
|
-
const errorStats = { total: 0, by_category: {}, by_severity: {} };
|
|
14
|
-
// Get system information
|
|
15
|
-
const systemInfo = {
|
|
16
|
-
uptime: process.uptime(),
|
|
17
|
-
memory_usage: process.memoryUsage(),
|
|
18
|
-
node_version: process.version,
|
|
19
|
-
platform: process.platform,
|
|
20
|
-
pid: process.pid
|
|
21
|
-
};
|
|
22
|
-
// Display results
|
|
23
|
-
console.log('\nš„ Health Check Results:\n');
|
|
24
|
-
// System Information
|
|
25
|
-
console.log('š System Information:');
|
|
26
|
-
console.log(` Node.js: ${systemInfo.node_version}`);
|
|
27
|
-
console.log(` Platform: ${systemInfo.platform}`);
|
|
28
|
-
console.log(` Uptime: ${Math.floor(systemInfo.uptime)}s`);
|
|
29
|
-
console.log(` Memory: ${Math.round(systemInfo.memory_usage.rss / 1024 / 1024)}MB RSS\n`);
|
|
30
|
-
// Component Health
|
|
31
|
-
console.log('š Component Health:');
|
|
32
|
-
for (const [component, healthy] of Object.entries(healthResults)) {
|
|
33
|
-
const icon = healthy ? 'ā
' : 'ā';
|
|
34
|
-
const status = healthy ? 'healthy' : 'degraded';
|
|
35
|
-
console.log(` ${icon} ${component}: ${status}`);
|
|
36
|
-
}
|
|
37
|
-
// Error Statistics
|
|
38
|
-
console.log('\nš Error Statistics:');
|
|
39
|
-
console.log(' ā
Error tracking via CLI (check MCP for detailed stats)');
|
|
40
|
-
// Overall Status
|
|
41
|
-
console.log('\nā'.repeat(50));
|
|
42
|
-
if (isHealthy) {
|
|
43
|
-
console.log('š Bob\'s Workshop is healthy and operational!');
|
|
44
|
-
console.log('\nAll systems are functioning properly.');
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
console.log('ā ļø Bob\'s Workshop has some health issues.');
|
|
48
|
-
console.log('\nSome components may need attention.');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.log('\nā Health check failed:');
|
|
53
|
-
console.log(` Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
54
|
-
console.log('\nš§ Basic system information:');
|
|
55
|
-
console.log(` Node.js: ${process.version}`);
|
|
56
|
-
console.log(` Platform: ${process.platform}`);
|
|
57
|
-
console.log(` Uptime: ${Math.floor(process.uptime())}s`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
async function initializeHealthChecks() {
|
|
61
|
-
// MCP server health check
|
|
62
|
-
globalHealthChecker.register('mcp_server', async () => {
|
|
63
|
-
try {
|
|
64
|
-
// Basic functionality check
|
|
65
|
-
return process.uptime() > 0;
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
// File system health check
|
|
72
|
-
globalHealthChecker.register('file_system', async () => {
|
|
73
|
-
try {
|
|
74
|
-
const fs = await import('fs-extra');
|
|
75
|
-
const path = await import('path');
|
|
76
|
-
const testPath = path.resolve(process.cwd(), '.bob');
|
|
77
|
-
await fs.ensureDir(testPath);
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
// Dashboard service check
|
|
85
|
-
globalHealthChecker.register('dashboard', async () => {
|
|
86
|
-
try {
|
|
87
|
-
// Check if we can create the dashboard server
|
|
88
|
-
const { createDashboardServer } = await import('../dashboard/server.js');
|
|
89
|
-
const app = createDashboardServer();
|
|
90
|
-
return app !== null;
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=health.js.map
|
package/dist/cli/health.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/cli/health.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// src/cli/setup.ts
|
|
2
|
-
import { exec } from 'child_process';
|
|
3
|
-
import { promisify } from 'util';
|
|
4
|
-
import { existsSync } from 'fs';
|
|
5
|
-
import path from 'path';
|
|
6
|
-
import { fileURLToPath } from 'url';
|
|
7
|
-
import fs from 'fs-extra';
|
|
8
|
-
const execAsync = promisify(exec);
|
|
9
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
export async function runSetup() {
|
|
11
|
-
console.log('š§ Bob\'s Workshop MCP Setup');
|
|
12
|
-
console.log('This will help you configure Bob\'s Workshop for Claude Code integration.\n');
|
|
13
|
-
console.log('ā'.repeat(60));
|
|
14
|
-
try {
|
|
15
|
-
// Quick verification that everything is installed
|
|
16
|
-
await quickVerification();
|
|
17
|
-
// Generate MCP client config
|
|
18
|
-
await generateMcpConfig();
|
|
19
|
-
console.log('\nš MCP Configuration completed!');
|
|
20
|
-
console.log('\nš Next steps:');
|
|
21
|
-
console.log('1. Copy the configuration from claude-mcp-config.json');
|
|
22
|
-
console.log('2. Add it to your Claude Code MCP settings');
|
|
23
|
-
console.log('3. Restart Claude Code');
|
|
24
|
-
console.log('4. Use Bob\'s Workshop tools in your chats!');
|
|
25
|
-
console.log('');
|
|
26
|
-
console.log('š” You can also run:');
|
|
27
|
-
console.log(' bobs workshop # Launch the dashboard');
|
|
28
|
-
console.log(' bobs --check # Verify installation');
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
console.error('\nā Setup failed:', error instanceof Error ? error.message : String(error));
|
|
32
|
-
console.log('\nTry running: bobs --check');
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async function quickVerification() {
|
|
37
|
-
console.log('\nš Verifying Bob\'s Workshop installation...');
|
|
38
|
-
const projectRoot = path.resolve(__dirname, '../..');
|
|
39
|
-
const criticalFiles = [
|
|
40
|
-
'dist/index.js',
|
|
41
|
-
'dist/dashboard/server.js'
|
|
42
|
-
];
|
|
43
|
-
for (const file of criticalFiles) {
|
|
44
|
-
const filePath = path.join(projectRoot, file);
|
|
45
|
-
if (!existsSync(filePath)) {
|
|
46
|
-
throw new Error(`Installation incomplete - missing: ${file}. Try reinstalling with: npm install -g bobs-workshop`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
console.log(' ā
Installation verified');
|
|
50
|
-
}
|
|
51
|
-
async function generateMcpConfig() {
|
|
52
|
-
console.log('\n5ļøā£ Generating MCP configuration...');
|
|
53
|
-
const projectRoot = path.resolve(__dirname, '../..');
|
|
54
|
-
const configPath = path.join(projectRoot, 'claude-mcp-config.json');
|
|
55
|
-
const config = {
|
|
56
|
-
"mcpServers": {
|
|
57
|
-
"bobs-mcp": {
|
|
58
|
-
"command": "node",
|
|
59
|
-
"args": [path.join(projectRoot, "dist/index.js")],
|
|
60
|
-
"cwd": projectRoot,
|
|
61
|
-
"env": {
|
|
62
|
-
"NODE_ENV": "production"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
try {
|
|
68
|
-
await fs.writeJson(configPath, config, { spaces: 2 });
|
|
69
|
-
console.log(' š MCP configuration generated');
|
|
70
|
-
console.log(` š Location: ${configPath}`);
|
|
71
|
-
console.log('\n š” To use with Claude Code:');
|
|
72
|
-
console.log(' 1. Copy the contents of claude-mcp-config.json');
|
|
73
|
-
console.log(' 2. Add to your Claude Code MCP settings');
|
|
74
|
-
console.log(' 3. Restart Claude Code');
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
console.log(' ā ļø Could not generate MCP config file');
|
|
78
|
-
console.log(' š” You can create this manually in your Claude Code settings');
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/workshop.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { spawn } from 'child_process';
|
|
3
|
-
import { join, dirname } from 'path';
|
|
4
|
-
import { fileURLToPath } from 'url';
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = dirname(__filename);
|
|
7
|
-
export async function runWorkshop() {
|
|
8
|
-
console.log('š§ Starting Bob\'s Workshop dashboard...\n');
|
|
9
|
-
try {
|
|
10
|
-
// Get the path to the dashboard server
|
|
11
|
-
const dashboardPath = join(__dirname, '../dashboard/server.js');
|
|
12
|
-
// Spawn the dashboard process
|
|
13
|
-
const dashboardProcess = spawn('node', [dashboardPath], {
|
|
14
|
-
stdio: 'inherit',
|
|
15
|
-
cwd: process.cwd()
|
|
16
|
-
});
|
|
17
|
-
// Handle process exit
|
|
18
|
-
dashboardProcess.on('close', (code) => {
|
|
19
|
-
if (code !== 0) {
|
|
20
|
-
console.log(`\nā Bob's Workshop dashboard exited with code ${code}`);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
console.log(`\nā
Bob's Workshop dashboard stopped gracefully`);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
// Handle SIGINT (Ctrl+C) to gracefully shutdown
|
|
27
|
-
process.on('SIGINT', () => {
|
|
28
|
-
console.log('\nš Stopping Bob\'s Workshop dashboard...');
|
|
29
|
-
dashboardProcess.kill('SIGINT');
|
|
30
|
-
});
|
|
31
|
-
// Handle SIGTERM
|
|
32
|
-
process.on('SIGTERM', () => {
|
|
33
|
-
console.log('\nš Stopping Bob\'s Workshop dashboard...');
|
|
34
|
-
dashboardProcess.kill('SIGTERM');
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.error('ā Failed to start Bob\'s Workshop dashboard:', error instanceof Error ? error.message : String(error));
|
|
39
|
-
process.exit(1);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=workshop.js.map
|
package/dist/cli/workshop.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workshop.js","sourceRoot":"","sources":["../../src/cli/workshop.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE;YACtD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAC;QAEH,sBAAsB;QACtB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|