specmem-hardwicksoftware 3.5.18 → 3.5.19
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.
Potentially problematic release.
This version of specmem-hardwicksoftware might be problematic. Click here for more details.
package/package.json
CHANGED
|
@@ -164,6 +164,40 @@ function ensureClaudeCode() {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Check if screen is installed, install if missing (needed for team members)
|
|
169
|
+
*/
|
|
170
|
+
function ensureScreen() {
|
|
171
|
+
log.header('Checking screen');
|
|
172
|
+
|
|
173
|
+
if (commandExists('screen')) {
|
|
174
|
+
log.success('screen found');
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
log.warn('screen not found - installing...');
|
|
179
|
+
|
|
180
|
+
let result;
|
|
181
|
+
if (IS_MAC) {
|
|
182
|
+
result = run('brew install screen', { timeout: 120000 });
|
|
183
|
+
} else if (IS_LINUX) {
|
|
184
|
+
// Try apt first, then yum/dnf
|
|
185
|
+
result = run('apt-get update -qq && apt-get install -y screen', { timeout: 120000 });
|
|
186
|
+
if (!result.success) {
|
|
187
|
+
result = run('yum install -y screen || dnf install -y screen', { timeout: 120000 });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (result?.success) {
|
|
192
|
+
log.success('screen installed successfully');
|
|
193
|
+
return true;
|
|
194
|
+
} else {
|
|
195
|
+
log.warn('Could not auto-install screen');
|
|
196
|
+
log.info('Install manually: apt install screen (Debian/Ubuntu) or brew install screen (Mac)');
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
167
201
|
// ============================================================================
|
|
168
202
|
// POSTGRESQL INSTALLATION
|
|
169
203
|
// ============================================================================
|
|
@@ -1442,6 +1476,7 @@ ${c.reset}
|
|
|
1442
1476
|
|
|
1443
1477
|
const results = {
|
|
1444
1478
|
claudeCode: false,
|
|
1479
|
+
screen: false,
|
|
1445
1480
|
postgres: false,
|
|
1446
1481
|
pgvector: false,
|
|
1447
1482
|
database: false,
|
|
@@ -1454,13 +1489,16 @@ ${c.reset}
|
|
|
1454
1489
|
};
|
|
1455
1490
|
|
|
1456
1491
|
try {
|
|
1457
|
-
// Step
|
|
1492
|
+
// Step 0a: Claude Code (REQUIRED - install first)
|
|
1458
1493
|
results.claudeCode = ensureClaudeCode();
|
|
1459
1494
|
if (!results.claudeCode) {
|
|
1460
1495
|
log.warn('Claude Code not installed - SpecMem requires Claude Code to function');
|
|
1461
1496
|
log.info('Install manually: npm install -g @anthropic-ai/claude-code');
|
|
1462
1497
|
}
|
|
1463
1498
|
|
|
1499
|
+
// Step 0b: screen (needed for team members)
|
|
1500
|
+
results.screen = ensureScreen();
|
|
1501
|
+
|
|
1464
1502
|
// Step 1: PostgreSQL
|
|
1465
1503
|
const pgStatus = checkPostgres();
|
|
1466
1504
|
if (pgStatus === true) {
|