Meow is an accessible, voice-driven MUD client for [Elten](https://elten-net.eu/), the application platform for blind and visually impaired people.
The project is currently an early but usable Telnet client. Its interface is built from Elten's native spoken and Braille-aware controls rather than a graphical interface with accessibility added afterward.
## Current features
- Connection profiles with name, host, port, TLS, encoding, and automatic-reading preferences
- Plain Telnet and certificate-verified TLS connections
- UTF-8, Windows-1252, and ISO-8859-1 character encodings
Passwords, command history, and scrollback are not persisted. Connection profiles and per-profile automation are stored in the program's private data directory. Transcripts are persisted there only when explicitly started for a session or enabled for a profile; sensitive commands and hidden trigger input are excluded.
Meow targets Elten API 3.0.3 and is currently intended for Elten developer mode.
1. Load the `meow` source program in Elten.
2. Open **Meow** from the programs menu.
3. Create a connection profile with the MUD host and port.
4. Select the profile and choose **Connect**.
5. Enter commands in the Command field and press Enter to send them.
The output and command fields provide additional actions through their context menus, including command recall, sensitive input, jumping to the latest output, and skipping queued speech.
## Project structure
-`__app.rb` contains the Elten manifest and program entry point.
-`lib/meow/profile_repository.rb` stores and validates connection profiles.
-`lib/meow/transport.rb` owns TCP/TLS sockets and background I/O.
-`lib/meow/telnet.rb` implements the streaming Telnet state machine.
Automated regression coverage now exercises the streaming Telnet parser and text pipeline, including negotiation, fragmented input, ANSI filtering, character decoding, and newline edge cases.
The current implementation is checked with Elten's Ruby syntax checker and its automated in-process protocol suite, and has also been exercised with a loopback TCP server. Real MUDs differ considerably in their Telnet behavior, so interoperability reports and reproducible protocol captures are welcome.