

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# IME Composition23Scoped here rather than to the root `AGENTS.md` so it costs context only when you are working in4the terminal input path. These rules also bind the chat composer and the mobile composer; if you are5changing keyboard handling in those, read this file.67Each rule below was paid for by a shipped defect. The parenthetical is the issue that taught it.89- **Derive committed text from ranges and event data — never by diffing two observations of a mutable10 buffer.** When the evidence is ambiguous, emit nothing. Diffing races the IME's own edits.1112- **Match shortcuts on `event.code`, not `event.key`.** A CJK input source rewrites `key` while `code`13 keeps the physical key: Cmd+C arrives as `{ key: "ㅊ", code: "KeyC" }`, and `Shift+T` typing ㅆ has14 been misread as Enter. Use `@/lib/ime-latin-shortcut-key`. (#12171, #13033)1516- **`keyCode === 229` means an IME owns the press.** Translating it races the IME's commit. Existing17 guards in `terminal-jis-yen-input.ts` show the shape.1819- **Guard above the key dispatch, not inside each key branch**, and guard `keyup` and global20 `document` listeners too — a guard on `keydown` alone leaves the other edges unprotected.2122- **`attachCustomKeyEventHandler` returning `false` does NOT call `preventDefault()`**, and it bypasses23 xterm's `CompositionHelper` entirely. Pair the two deliberately.2425- **Never normalize IME output at commit.** Normalize only at path handling and equality/search26 comparison. Normalizing early destroys the distinction between conjoining and compatibility jamo.2728- **Do not unmount a field with a composition in flight.** The OS aborts the composition, the text29 returns as committed, and a resumed Hangul syllable degrades — 아 then ㄴ yields `아ㄴ`, never `안`.30 Hiding is not a fix: `display:none` and `visibility:hidden` both blur the focused element and abort31 it the same way. See `native-chat-composer-composition-hold.ts`. (#12118, STA-3219, #11332)3233## Evidence bar for a change here3435- **A recorded event-trace fixture** for the trace that motivated the change — not a hand-authored36 event shape. Real IMEs produce sequences nobody guesses correctly; see37 `tests/e2e/terminal-ime-observed-event-sequences.ts`.38- **A paired negative** proving ordinary non-IME input is unchanged. It must be a genuine control:39 an arm that dispatches `compositionupdate` is a Latin *preedit*, not ordinary input.40- **A mutation check.** Removing or bypassing the fix must make the positive fail while the negative41 passes. A test that survives deleting the code it guards is guarding nothing.42
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| stablyai/orcaAGENTS.md · 46k | AGENTS.md | lint-formatstyletypesgit+4 | 71/100 | today | |
| stablyai/orcasrc/main/daemon/AGENTS.md · 46k | AGENTS.md | apido-not | 50/100 | today | |
| stablyai/orcatests/e2e/AGENTS.md · 46k | AGENTS.md | buildteststyletesting-strategy | 70/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 68k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 13 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| aaif-goose/gooseAGENTS.md · 53k | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 8 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| deepseek-ai/deepseek-harnessnative/landlock-run/AGENTS.md · 104k | AGENTS.md | setupteststylearch+3 | 100/100 | today | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | today | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 201k | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| elastic/elasticsearchx-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/AGENTS.md · 78k | AGENTS.md | buildtestlint-formatstyle+2 | 100/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/stablyai-orca-src-renderer-src-components-terminal-pane-agents)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.