feat: automated task loop panel with per-task conversation orchestration

Implements issue #179. Adds a Task Loop panel that imports hikari-tasks.json
files and automatically runs Claude Code through each task in sequence, one
per conversation tab. Includes Start/Pause/Stop/Resume controls, real-time
status indicators per task, and a StatusBar badge. WSL UNC paths from the
file picker are normalised to Unix paths at import time.
This commit is contained in:
2026-03-06 20:34:18 -08:00
committed by Naomi Carrigan
parent a98e544b52
commit 93b3aa379c
5 changed files with 792 additions and 0 deletions
+19
View File
@@ -22,6 +22,7 @@
import ProjectContextPanel from "./ProjectContextPanel.svelte";
import PrdPanel from "./PrdPanel.svelte";
import ChangelogPanel from "./ChangelogPanel.svelte";
import TaskLoopPanel from "./TaskLoopPanel.svelte";
import { injectTextStore } from "$lib/stores/projectContext";
const DISCORD_URL = "https://chat.nhcarrigan.com";
@@ -65,6 +66,7 @@
let showProjectContext = $state(false);
let showPrdPanel = $state(false);
let showChangelog = $state(false);
let showTaskLoop = $state(false);
const progress = $derived($achievementProgress);
const activeAgentCount = $derived($runningAgentCount);
@@ -230,6 +232,19 @@
<span>PRD Creator</span>
</button>
<!-- Task Loop -->
<button onclick={menuAction(() => (showTaskLoop = true))} class="nav-item">
<svg class="w-5 h-5 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
/>
</svg>
<span>Task Loop</span>
</button>
<!-- File Editor -->
<button
onclick={menuAction(() => editorStore.toggleEditor())}
@@ -494,6 +509,10 @@
<ChangelogPanel onClose={() => (showChangelog = false)} />
{/if}
{#if showTaskLoop}
<TaskLoopPanel onClose={() => (showTaskLoop = false)} />
{/if}
<style>
.nav-item {
display: flex;