generated from nhcarrigan/template
feat: initial prototype
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 47s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 47s
This commit is contained in:
@@ -1,24 +1,131 @@
|
||||
# New Repository Template
|
||||
# Hikari Desktop
|
||||
|
||||
This template contains all of our basic files for a new GitHub repository. There is also a handy workflow that will create an issue on a new repository made from this template, with a checklist for the steps we usually take in setting up a new repository.
|
||||
A Linux desktop application that wraps Claude Code with an anime girl character that reacts to Claude's activities in real-time.
|
||||
|
||||
If you're starting a Node.JS project with TypeScript, we have a [specific template](https://github.com/naomi-lgbt/nodejs-typescript-template) for that purpose.
|
||||
## Features
|
||||
|
||||
## Readme
|
||||
- Visual character that reflects Claude's current state (thinking, typing, searching, coding, etc.)
|
||||
- Terminal-style output display
|
||||
- Permission prompts with approve/deny interface
|
||||
- Real-time state detection from Claude Code's NDJSON stream
|
||||
|
||||
Delete all of the above text (including this line), and uncomment the below text to use our standard readme template.
|
||||
## Installation
|
||||
|
||||
<!-- # Project Name
|
||||
### 1. Install Claude Code
|
||||
|
||||
Project Description
|
||||
Hikari Desktop requires Claude Code to be installed and authenticated:
|
||||
|
||||
## Live Version
|
||||
```bash
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
claude # Follow the prompts to authenticate
|
||||
```
|
||||
|
||||
This page is currently deployed. [View the live website.]
|
||||
### 2. Install Runtime Dependencies
|
||||
|
||||
**Debian/Ubuntu:**
|
||||
```bash
|
||||
sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0 libayatana-appindicator3-1 xdg-utils
|
||||
```
|
||||
|
||||
**Fedora:**
|
||||
```bash
|
||||
sudo dnf install webkit2gtk4.1 gtk3 libappindicator-gtk3 xdg-utils
|
||||
```
|
||||
|
||||
**Arch Linux:**
|
||||
```bash
|
||||
sudo pacman -S webkit2gtk-4.1 gtk3 libappindicator-gtk3 xdg-utils
|
||||
```
|
||||
|
||||
| Package | Purpose |
|
||||
|---------|---------|
|
||||
| webkit2gtk-4.1 | WebView rendering (app UI) |
|
||||
| gtk3 | Window management and native widgets |
|
||||
| libappindicator | System tray support |
|
||||
| xdg-utils | Opening URLs/files with default applications |
|
||||
|
||||
### 3. Install Hikari Desktop
|
||||
|
||||
Download the latest release for your distribution:
|
||||
|
||||
**AppImage** (any distro):
|
||||
```bash
|
||||
chmod +x hikari-desktop_*.AppImage
|
||||
./hikari-desktop_*.AppImage
|
||||
```
|
||||
|
||||
**Debian/Ubuntu:**
|
||||
```bash
|
||||
sudo dpkg -i hikari-desktop_*.deb
|
||||
```
|
||||
|
||||
**Fedora:**
|
||||
```bash
|
||||
sudo rpm -i hikari-desktop-*.rpm
|
||||
```
|
||||
|
||||
## Character States
|
||||
|
||||
| State | Trigger |
|
||||
|-------|---------|
|
||||
| Idle | Waiting for user input |
|
||||
| Thinking | Processing/API call in progress |
|
||||
| Typing | Streaming text output |
|
||||
| Searching | Using Read/Glob/Grep tools |
|
||||
| Coding | Using Edit/Write tools |
|
||||
| MCP | Running MCP tool calls |
|
||||
| Permission | Permission prompt needed |
|
||||
| Success | Task completed |
|
||||
| Error | Error occurred |
|
||||
|
||||
## Building from Source
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js and pnpm
|
||||
- Rust toolchain
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
|
||||
# Development mode
|
||||
pnpm run dev
|
||||
|
||||
# Build for Linux
|
||||
pnpm tauri build
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Linux (Tauri App)
|
||||
├── Svelte Frontend
|
||||
│ ├── AnimeGirl (sprites + animations)
|
||||
│ ├── Terminal (output display)
|
||||
│ ├── InputBar (user input)
|
||||
│ └── PermissionModal (approve/deny)
|
||||
└── Rust Backend
|
||||
├── Process Manager (spawn & communicate)
|
||||
└── State Parser (NDJSON → character state)
|
||||
│
|
||||
│ stdin/stdout (NDJSON stream)
|
||||
▼
|
||||
claude -p --output-format stream-json --input-format stream-json
|
||||
```
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Tauri 2.x** - Desktop framework with Rust backend
|
||||
- **Svelte 5** - Reactive frontend with runes
|
||||
- **Tailwind CSS** - Styling
|
||||
- **Tokio** - Async runtime for process management
|
||||
|
||||
## Feedback and Bugs
|
||||
|
||||
If you have feedback or a bug report, please feel free to open a GitHub issue!
|
||||
If you have feedback or a bug report, please feel free to open a ticket request in our [Discord](https://chat.nhcarrigan.com)!
|
||||
|
||||
## Contributing
|
||||
|
||||
@@ -36,4 +143,4 @@ Copyright held by Naomi Carrigan.
|
||||
|
||||
## Contact
|
||||
|
||||
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`. -->
|
||||
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`.
|
||||
Reference in New Issue
Block a user