feat: productivity suite — task loop, workflow, theming, docs & more (#197)
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m39s
CI / Build Linux (push) Has been cancelled
CI / Build Windows (cross-compile) (push) Has been cancelled
CI / Lint & Test (push) Has been cancelled

## Summary

A large productivity-focused feature branch delivering a suite of improvements across automation, project management, theming, performance, and documentation.

### Features

- **Guided Project Workflow** (#189) — Four-phase workflow panel (Discuss → Plan → Execute → Verify) to keep projects structured from idea to completion
- **Automated Task Loop** (#179) — Per-task conversation orchestration with wave-based parallel execution, blocked-task detection, and concurrency control
- **Wave-Based Parallel Execution** (#191) — Tasks run in dependency-aware waves with configurable concurrency; independent tasks execute in parallel
- **Auto-Commit After Task Completion** (#192) — Task Loop optionally commits after each completed task so progress is never lost
- **PRD Creator** (#180) — AI-assisted PRD and task list panel that outputs `hikari-tasks.json` for the Task Loop to consume
- **Project Context Panel** (#188) — Persistent `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, and `STATE.md` files injected into Claude's context automatically
- **Codebase Mapper** (#190) — Generates a `CODEBASE.md` architectural summary so Claude always understands the project structure
- **Community Preset Themes** (#181) — Six built-in community themes: Dracula, Catppuccin Mocha, Nord, Solarized Dark, Gruvbox Dark, and Rosé Pine
- **In-App Changelog Panel** (#193) — Fetches release notes from GitHub at runtime and displays them inside the app
- **Full Embedded Documentation** (#196) — Replaced the single-page help modal with a 12-page paginated docs browser featuring a sidebar TOC, prev/next navigation, keyboard navigation (arrow keys, `?` shortcut), and comprehensive coverage of every feature

### Performance & Fixes

- **Lazy Loading & Virtualisation** (#194) — Virtual windowing for conversation history, markdown memoisation, and debounced search for smooth rendering of large sessions
- **Ctrl+C Copy Fix** (#195) — `Ctrl+C` now copies selected text as expected; interrupt-Claude behaviour only fires when no text is selected

### UX

- Back-to-workflow button in PRD Creator and Task Loop panels for easy navigation
- Navigation icon cluster replaced with a single clean dropdown menu

## Closes

Closes #179
Closes #180
Closes #181
Closes #188
Closes #189
Closes #190
Closes #191
Closes #192
Closes #193
Closes #194
Closes #195
Closes #196

---

 This PR was created with help from Hikari~ 🌸

Reviewed-on: #197
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
This commit was merged in pull request #197.
This commit is contained in:
2026-03-07 03:08:33 -08:00
committed by Naomi Carrigan
parent 1ae440659c
commit e6e9f7ae59
52 changed files with 8865 additions and 529 deletions
+102
View File
@@ -0,0 +1,102 @@
<h3 class="text-lg font-semibold text-[var(--text-primary)] mb-4">Task Loop & Automation</h3>
<div class="space-y-4 text-sm text-[var(--text-secondary)]">
<p>
Hikari Desktop includes a full project automation suite — open any of these tools from the menu.
</p>
<div>
<h4 class="font-medium text-[var(--text-primary)] mb-2">Guided Workflow</h4>
<p>A four-phase project workflow that orchestrates the other automation tools:</p>
<ol class="space-y-1.5 mt-2 list-none">
<li>
<strong>1. Discuss</strong> — describe your project; Hikari writes a
<code class="code">CONTEXT.md</code> file capturing requirements and goals
</li>
<li>
<strong>2. Plan</strong> — use the PRD Creator to break the project into tasks
</li>
<li>
<strong>3. Execute</strong> — run the Task Loop to complete all tasks automatically
</li>
<li>
<strong>4. Verify</strong> — check acceptance criteria; Hikari writes
<code class="code">VERIFY.md</code>
</li>
</ol>
<p class="mt-2">
Enable <strong>Quick Mode</strong> to skip Claude interactions in steps 1 and 4.
</p>
</div>
<div>
<h4 class="font-medium text-[var(--text-primary)] mb-2">PRD Creator</h4>
<p>
Describe your project in plain English and Hikari will generate a structured
<code class="code">hikari-tasks.json</code> task list. Tasks include titles, prompts, priorities,
and dependency relationships.
</p>
</div>
<div>
<h4 class="font-medium text-[var(--text-primary)] mb-2">Task Loop</h4>
<p>
Executes tasks from <code class="code">hikari-tasks.json</code> automatically. Features include:
</p>
<ul class="space-y-1 mt-2">
<li>
<strong>Wave-based parallelism</strong> — independent tasks run concurrently; dependent tasks
wait for their prerequisites
</li>
<li>
<strong>Concurrency control</strong> — adjust the <kbd class="kbd">[] N [+]</kbd> control to
limit how many tasks run in parallel
</li>
<li><strong>Blocked detection</strong> — tasks whose dependencies failed are marked ⊘</li>
<li>
<strong>Auto-commit</strong> — optionally commit changes after each task completes, with a configurable
prefix and optional SUMMARY.md
</li>
</ul>
</div>
<div>
<h4 class="font-medium text-[var(--text-primary)] mb-2">Project Context Panel</h4>
<p>
Manage persistent context files that are injected into every conversation:
<code class="code">PROJECT.md</code>, <code class="code">REQUIREMENTS.md</code>,
<code class="code">ROADMAP.md</code>, and <code class="code">STATE.md</code>. These help
Hikari maintain consistent project understanding across sessions.
</p>
</div>
<div>
<h4 class="font-medium text-[var(--text-primary)] mb-2">Codebase Mapper</h4>
<p>
Generates a <code class="code">CODEBASE.md</code> architectural summary of your project — directory
structure, key files, and their roles. Useful for onboarding Hikari to large codebases quickly.
</p>
</div>
</div>
<style>
kbd.kbd {
display: inline-block;
padding: 0.1rem 0.35rem;
font-size: 0.75rem;
font-family: monospace;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 3px;
color: var(--text-primary);
}
code.code {
font-family: monospace;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 3px;
padding: 0.05rem 0.3rem;
color: var(--text-primary);
}
</style>