Files
hikari-desktop/PROJECT.md
hikari e6e9f7ae59
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
feat: productivity suite — task loop, workflow, theming, docs & more (#197)
## 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>
2026-03-07 03:08:33 -08:00

2.2 KiB

Project Overview

What is this project?

Hikari Desktop is a Tauri-based desktop application that wraps Claude Code with a visual anime character companion (Hikari) who appears on screen. It provides a rich UI for interacting with Claude Code, including conversation management, agent monitoring, cost tracking, and more.

The app was inspired by a Hatsune Miku mod for the ship AI in The Outer Worlds — the idea of an AI assistant with an anime girl avatar that you can actually see.

Goals

  • Provide a beautiful, personalised interface for Claude Code
  • Surface real-time status (thinking, typing, searching, etc.) through animated character sprites
  • Track costs, context usage, and agent activity across sessions
  • Support power-user workflows: multi-tab conversations, todo lists, git integration, MCP server management, session compaction, and more
  • Build a foundation for autonomous task execution (agent orchestration, PRD-driven workflows)

Tech Stack

  • Frontend: Svelte 5 + TypeScript + Tailwind CSS
  • Backend: Rust (Tauri v2)
  • Build: Vite + pnpm
  • Testing: Vitest (frontend) + cargo test (backend)
  • Linting: ESLint + Prettier (frontend) + Clippy (backend)
  • IPC: Tauri commands + events between Rust and Svelte

Architecture

hikari-desktop/
├── src/                        # Svelte frontend
│   └── lib/
│       ├── components/         # UI components (panels, modals, status bar)
│       ├── stores/             # Svelte stores (state management)
│       ├── types/              # TypeScript type definitions
│       └── utils/              # Utility functions
├── src-tauri/                  # Rust backend
│   └── src/
│       ├── commands.rs         # Tauri command handlers
│       ├── wsl_bridge.rs       # Claude Code process management
│       ├── types.rs            # Shared types & CharacterState enum
│       └── stats.rs            # Cost tracking
└── public/                     # Static assets (sprites, sounds)

Claude Code is launched as a child process via WslBridge, communicating via --output-format stream-json (NDJSON). Messages flow from the Rust backend to the Svelte frontend via Tauri events.