All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 3m6s
Ripped out the Gemini API stub (ai/mod.rs, ai_commands.rs, GeminiPanel.vue) and replaced it with a local PTY terminal in the sidebar panel. Users select a shell (bash/zsh/sh on Unix, PowerShell/CMD/Git Bash on Windows), launch it, and run claude/gemini/codex or any CLI tool directly. Backend: - New PtyService module using portable-pty (cross-platform PTY) - DashMap session registry (same pattern as SshService) - spawn_blocking output loop (portable-pty reader is synchronous) - 5 Tauri commands: list_available_shells, spawn_local_shell, pty_write, pty_resize, disconnect_pty Frontend: - Parameterized useTerminal composable: backend='ssh'|'pty' - convertEol=false for PTY (PTY driver handles LF→CRLF) - CopilotPanel.vue with shell selector, launch/kill, session ended prompt - Ctrl+Shift+G toggle preserved Tests: 87 total (5 new PTY tests), zero warnings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
3.2 KiB
Markdown
64 lines
3.2 KiB
Markdown
# AGENTS.md — Wraith Desktop v2
|
|
|
|
## Agent Roster
|
|
|
|
Three tiers. Use the right tool for the job.
|
|
|
|
### Architect (Opus)
|
|
|
|
**Role:** Strategy, COAs, root cause analysis, architectural decisions.
|
|
**When to use:** Design questions, complex debugging, trade-off analysis, cross-module planning.
|
|
**How to use:** Plans, not code. The Architect reasons about the problem and presents options. The Commander decides. Then Specialists execute.
|
|
|
|
### Specialist (Sonnet)
|
|
|
|
**Role:** Full-stack execution. Writes code, fixes bugs, builds features.
|
|
**When to use:** Implementation tasks with clear requirements. Feature builds, bug fixes, refactoring, test writing.
|
|
**How to use:** `subagent_type: general-purpose, model: sonnet`. Give precise briefs with file paths, expected behavior, and acceptance criteria.
|
|
|
|
### Scout (Sonnet/Haiku)
|
|
|
|
**Role:** Recon, context mapping, read-only exploration.
|
|
**When to use:** Before any implementation. Understanding code structure, finding patterns, mapping dependencies.
|
|
**How to use:** `subagent_type: Explore, model: sonnet` for thorough exploration. Haiku for quick file lookups. Scouts NEVER modify files.
|
|
|
|
## Dispatch Rules
|
|
|
|
- **Simple bug fix (1-2 files):** Do it yourself. Don't burn an agent on a one-liner.
|
|
- **Feature build (3+ files):** Dispatch a Specialist with a complete brief.
|
|
- **Unknown territory:** Scout first, then Specialist.
|
|
- **Architecture decision:** Architect agent OR present COAs to the Commander directly.
|
|
- **Mechanical bulk work (renaming, formatting, repetitive edits):** Sonnet Specialist. Don't waste Opus on mechanical tasks.
|
|
- **Security-critical code (vault, crypto, auth):** Opus Architect reviews. Sonnet Specialist implements. Both touch the code.
|
|
|
|
## Cross-Project Context
|
|
|
|
Wraith is part of the Vigilsynth portfolio alongside:
|
|
|
|
- **Vigilance HQ** (`../vigilance-hq`) — MSP operations platform. Vue 3 + Express.js. 1,216+ commits. Production.
|
|
- **Vigilance Command** (`../vigilance-command-v2`) — Security OS. NestJS + Rust agent. 16 modules. Active development.
|
|
- **Vigilance Complete** (`../vigilance-complete`) — The merge. HQ + Command unified.
|
|
|
|
The Commander manages multiple AI XOs across all repos simultaneously. Context from one repo may inform work in another. When the Commander references HQ patterns, Command architecture, or Vigilsynth strategy, that's cross-project context — use it.
|
|
|
|
## Gemini CLI
|
|
|
|
Gemini CLI is available in the Commander's environment. Gemini specializes in:
|
|
- Architecture and protocol design
|
|
- Library/crate research and evaluation
|
|
- Deep code audits against specifications
|
|
- Optimization identification
|
|
|
|
The Commander may direct Gemini to work on Wraith alongside or instead of Claude. Both AIs follow the same CLAUDE.md doctrine. The Commander routes tasks to whichever AI is best suited.
|
|
|
|
## The Go Reference
|
|
|
|
The Go version of Wraith lives at `../wraith`. It is the reference implementation:
|
|
- SSH terminal with xterm.js worked
|
|
- SFTP sidebar with CWD following worked
|
|
- Connection manager with groups and search worked
|
|
- Credential vault with Argon2id encryption worked
|
|
- Multi-tab sessions worked
|
|
|
|
When building features, Scouts should read the Go version first. Specialists should match or exceed Go's capabilities. Don't reinvent what was already solved — port it better.
|