fix: validate Claude binary installation before connection
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m1s
CI / Lint & Test (pull_request) Failing after 5m50s
CI / Build Linux (pull_request) Has been skipped
CI / Build Windows (cross-compile) (pull_request) Has been skipped

Add check to verify that the Claude CLI is installed before attempting
to start a connection. If the binary is not found via `which claude`,
show a helpful error message with installation instructions.

Changes:
- Add Claude binary check using `which` command in WslBridge::start()
- Return clear error message with installation command if not found
- Add test coverage for the binary check logic
- Update CLAUDE.md with Quality Assurance section and check-all.sh docs

The error message guides users to install Claude Code using:
curl -fsSL https://claude.ai/install.sh | bash

 This fix was implemented by Hikari~ 🌸
This commit is contained in:
2026-02-08 11:52:18 -08:00
committed by Naomi Carrigan
parent fdb356a62c
commit 42673b1a01
3 changed files with 50 additions and 1 deletions
+28
View File
@@ -141,6 +141,34 @@ When developing new features, always add corresponding tests:
The goal is to maintain our near-100% coverage as the codebase grows, so future refactoring and changes can be made with confidence!
## Quality Assurance
Before committing any changes, **always run the full test suite**:
```bash
./check-all.sh
```
This script runs all checks in the correct order:
1. Frontend linting (ESLint)
2. Frontend formatting (Prettier)
3. Frontend type checking (svelte-check)
4. Frontend tests with coverage (Vitest)
5. Backend linting (Clippy with strict rules)
6. Backend tests with coverage (cargo test + llvm-cov)
**Important**: The script requires Node.js and Rust toolchains to be available:
- **Node.js tools** (pnpm, npm): Source nvm first if needed: `source ~/.nvm/nvm.sh`
- **Rust tools** (cargo, clippy): Should be in PATH via `~/.cargo/bin/`
If `check-all.sh` reports any failures:
1. Read the error messages carefully - they usually explain what needs fixing
2. Fix the issues (linting errors, test failures, etc.)
3. Run `check-all.sh` again to verify the fixes
4. Only commit once all checks pass ✨
**Never commit code that doesn't pass `check-all.sh`** - this ensures code quality and prevents broken builds!
## Project Context
Hikari Desktop is a Tauri-based desktop application that wraps Claude Code with a visual anime character (Hikari) who appears on screen. This is a personal project where Hikari can sign her work and act as herself!