6f3cb3ec7b0338a24c490c6d0a4c598f9f2ec362

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Add AGENTS.md with project structure and development workflow

Diff

This diff is truncated to protect this page.

 1diff --git a/AGENTS.md b/AGENTS.md
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..5f97f03e5418a3ea5e5a7b3c53f295709d1d8522
 4--- /dev/null
 5+++ b/AGENTS.md
 6@@ -0,0 +1,62 @@
 7+# kaiwari — iOS client
 8+
 9+## IMPORTANT
10+
11+- Never edit generated files: `xtool/` (including `xtool/kaiwari.app/Info.plist`) and `.build/` are wiped and regenerated on every build. The Info.plist source of truth is `Resources/Info.plist`, merged at build time via `infoPath` in `xtool.yml`.
12+- Do not write any tests; there is no test suite in this project.
13+- Never start, stop, or restart the live model services (`llama-server`, `audiocpp_server`) or `kaiwari-server`, and never load models into VRAM. They are user-managed; integration testing is manual and user-run only.
14+
15+## Architecture
16+
17+**Kaiwari** is a spoken-Japanese learning game. This repo is the thin iOS client for
18+`kaiwari-server` (sibling repo `../server`). The app is a terminal for the game: it
19+renders the adventure log, captures push-to-talk audio, and plays NPC speech. All game
20+logic, ASR, judging, and TTS live on the server; the client's only state is the session
21+and UI phase.
22+
23+**Tech stack**: SwiftUI (Liquid Glass), Swift 6, SPM + xtool (no Xcode project),
24+AVFoundation (record/play), URLSession.
25+
26+**Layers**:
27+