chore: bump version to 0.1523

This commit is contained in:
arkon
2026-02-17 15:07:11 +01:00
parent 74a69ad861
commit dd9d43935d
6 changed files with 70 additions and 24 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ When user says "COM":
1. Increment version in BOTH `package.json` AND `CLAUDE.md` (verify they match with `grep version package.json && grep Version CLAUDE.md`)
2. Run: `git add -A && git commit -m "chore: bump version to X.XXXX" && git push && npm run build && systemctl --user restart claudeman-web`
**Version**: 0.1522 (must match `package.json` for npm publish)
**Version**: 0.1523 (must match `package.json` for npm publish)
## Project Overview
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "claudeman",
"version": "0.1522",
"version": "0.1523",
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
"type": "module",
"main": "dist/index.js",
+40 -20
View File
@@ -46,48 +46,67 @@ const DEC_SYNC_STRIP_RE = /\x1b\[\?2026[hl]/g;
// Built-in respawn configuration presets
const BUILTIN_RESPAWN_PRESETS = [
{
id: 'quick-iteration',
name: 'Quick Iteration',
description: 'Fast cycles for active development',
id: 'solo-work',
name: 'Solo',
description: 'Claude working alone — fast respawn cycles',
config: {
idleTimeoutMs: 3000,
updatePrompt: 'continue',
interStepDelayMs: 2000,
sendClear: false,
sendInit: false,
autoAcceptPrompts: true,
},
durationMinutes: 60,
builtIn: true,
createdAt: 0,
},
{
id: 'autonomous-long',
name: 'Autonomous (Long)',
description: 'Full refresh cycles for overnight work',
id: 'subagent-workflow',
name: 'Subagents',
description: 'Lead session with Task tool subagents — longer idle tolerance',
config: {
idleTimeoutMs: 5000,
updatePrompt: 'continue working on the task',
idleTimeoutMs: 45000,
updatePrompt: 'check on your running subagents and continue coordinating their work. If all subagents have finished, summarize their results and proceed with the next step.',
interStepDelayMs: 3000,
sendClear: true,
sendInit: true,
kickstartPrompt: 'pick up where you left off',
sendClear: false,
sendInit: false,
autoAcceptPrompts: true,
},
durationMinutes: 240,
builtIn: true,
createdAt: 0,
},
{
id: 'team-lead',
name: 'Team',
description: 'Leading an agent team via TeamCreate — tolerates long silences',
config: {
idleTimeoutMs: 90000,
updatePrompt: 'check on your teammates by reviewing the task list and any messages in your inbox. Assign new tasks if teammates are idle, or continue coordinating the team effort.',
interStepDelayMs: 5000,
sendClear: false,
sendInit: false,
autoAcceptPrompts: true,
},
durationMinutes: 480,
builtIn: true,
createdAt: 0,
},
{
id: 'careful-review',
name: 'Careful Review',
description: 'Longer pauses for human review between cycles',
id: 'overnight-autonomous',
name: 'Overnight',
description: 'Unattended overnight runs with full context reset between cycles',
config: {
idleTimeoutMs: 30000,
updatePrompt: 'continue if there is more work to do',
interStepDelayMs: 5000,
sendClear: false,
sendInit: false,
idleTimeoutMs: 10000,
updatePrompt: 'summarize what you accomplished so far and write key progress notes to CLAUDE.md, then continue working on the task.',
interStepDelayMs: 3000,
sendClear: true,
sendInit: true,
kickstartPrompt: 'read CLAUDE.md for context on what was accomplished in previous cycles, then pick up where you left off.',
autoAcceptPrompts: true,
},
durationMinutes: 120,
durationMinutes: 480,
builtIn: true,
createdAt: 0,
},
@@ -8552,6 +8571,7 @@ class ClaudemanApp {
document.getElementById('modalRespawnSendClear').checked = preset.config.sendClear ?? false;
document.getElementById('modalRespawnSendInit').checked = preset.config.sendInit ?? false;
document.getElementById('modalRespawnKickstart').value = preset.config.kickstartPrompt || '';
document.getElementById('modalRespawnAutoAccept').checked = preset.config.autoAcceptPrompts ?? true;
// Set duration if available
if (preset.durationMinutes) {
+2 -2
View File
@@ -511,7 +511,7 @@
<div class="form-section-header">Respawn Cycle</div>
<div class="form-row">
<label>1. Update Prompt</label>
<input type="text" id="modalRespawnPrompt" value="update all the docs and CLAUDE.md" placeholder="Prompt to send when idle" onchange="app.autoSaveRespawnConfig()">
<textarea id="modalRespawnPrompt" rows="3" placeholder="Prompt to send when idle" onchange="app.autoSaveRespawnConfig()" style="resize: vertical; min-height: 60px;">update all the docs and CLAUDE.md</textarea>
</div>
<div class="respawn-options-row" style="margin: 8px 0;">
@@ -527,7 +527,7 @@
<div class="form-row">
<label>4. Kickstart Prompt</label>
<input type="text" id="modalRespawnKickstart" value="" placeholder="Optional: prompt if /init doesn't trigger work" onchange="app.autoSaveRespawnConfig()">
<textarea id="modalRespawnKickstart" rows="2" placeholder="Optional: prompt if /init doesn't trigger work" onchange="app.autoSaveRespawnConfig()" style="resize: vertical; min-height: 40px;"></textarea>
<span class="form-hint">Sent only when /init completes but Claude stays idle</span>
</div>
+1
View File
@@ -1155,6 +1155,7 @@ html.mobile-init .file-browser-panel {
.form-row input[type="text"],
.form-row input[type="number"],
.form-row textarea,
.form-row .form-select,
.form-row select {
font-size: 0.75rem;
+25
View File
@@ -2319,6 +2319,7 @@ body {
.form-row input[type="text"],
.form-row input[type="number"],
.form-row textarea,
.form-select {
width: 100%;
padding: 0.5rem 0.75rem;
@@ -2327,9 +2328,11 @@ body {
border-radius: 4px;
color: var(--text);
font-size: 0.8rem;
font-family: inherit;
}
.form-row input:focus,
.form-row textarea:focus,
.form-select:focus {
outline: none;
border-color: var(--accent);
@@ -2433,12 +2436,34 @@ body {
.preset-selector select {
flex: 1;
min-width: 0;
padding: 0.4rem 0.5rem;
background: var(--bg-input);
border: 1px solid var(--border);
border-radius: 4px;
color: var(--text);
font-size: 0.75rem;
}
.preset-selector select:focus {
outline: none;
border-color: var(--accent);
}
.preset-selector .btn-sm {
white-space: nowrap;
padding: 4px 8px;
font-size: 0.7rem;
background: var(--bg-input);
border: 1px solid var(--border);
border-radius: 4px;
color: var(--text);
cursor: pointer;
transition: all 0.15s;
}
.preset-selector .btn-sm:hover {
background: var(--bg-hover);
border-color: var(--border-light);
}
/* Switch toggle for form rows */