6f3cb3ec7b0338a24c490c6d0a4c598f9f2ec362
- Author
- TheEdgeOfRage <git@theedgeofrage.com>
- Committer
- TheEdgeOfRage <git@theedgeofrage.com>
- Date
Message
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+