diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ad57630..2312cc2 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -147,7 +147,8 @@ jobs: libayatana-appindicator3-dev \ clang \ lld \ - llvm + llvm \ + nsis - name: Setup pnpm uses: pnpm/action-setup@v4 diff --git a/README.md b/README.md index cc881a6..01923d6 100644 --- a/README.md +++ b/README.md @@ -1,182 +1 @@ -# Hikari Desktop - -A Linux desktop application that wraps Claude Code with an anime girl character that reacts to Claude's activities in real-time. - -## Features - -- 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 - -## Installation - -### 1. Install Claude Code - -Hikari Desktop requires Claude Code to be installed and authenticated: - -```bash -npm install -g @anthropic-ai/claude-code -claude # Follow the prompts to authenticate -``` - -### 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 platform. - -#### Linux - -**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 -``` - -#### Windows - -The Windows build requires WSL (Windows Subsystem for Linux) with Claude Code installed inside WSL. - -1. Install WSL if you haven't already: https://learn.microsoft.com/en-us/windows/wsl/install -2. Install Claude Code inside your WSL distribution (see step 1 above) -3. Run the Windows installer (`.exe` or `.msi`) - -## 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 - -#### Windows Cross-Compilation (from Linux/WSL) - -To build Windows binaries from Linux, install the following: - -```bash -sudo apt install nsis lld llvm clang -``` - -You will also need `cargo-xwin`: - -```bash -cargo install cargo-xwin -``` - -### Build - -```bash -# Install dependencies -pnpm install - -# Development mode -pnpm run dev - -# Build for Linux (AppImage, deb, rpm) -pnpm build:linux - -# Build for Windows (exe/msi/nsis) -pnpm build:windows - -# Build all platforms -pnpm build:all -``` - -## 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 ticket request in our [Discord](https://chat.nhcarrigan.com)! - -## Contributing - -If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first. - -## Code of Conduct - -Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md). - -## License - -This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license). - -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`. +tem