Skip to content

ms4x-dev/mika

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mika

A terminal mascot sprite for Alpine Linux. Mika lives in the corner of your screen and reacts to what you're doing in the terminal.

Early development. The project compiles and runs, but is full of bugs. Treat it as a proof-of-concept.


What it is

Mika is a small Rust program that spawns a PTY, watches for commands, and displays an animated sprite overlay using X11. The goal is a lightweight, stateful terminal companion — no Electron, no web stack, just a native binary that stays out of the way.

Current state:

  • PTY spawning works
  • Basic command detection works
  • Emotional state tracking is wired up
  • Sprite rendering is not yet implemented
  • Expect crashes, weird behaviour, and incomplete features

Platform

  • Alpine Linux (x86_64)
  • X11 display required
  • Compiled against x86_64-unknown-linux-musl — fully static binary

Build

git clone https://github.com/ms4x-dev/mika
cd mika
cargo build --release --target x86_64-unknown-linux-musl

Requires a musl-targeting Rust toolchain:

rustup target add x86_64-unknown-linux-musl

Run

./target/x86_64-unknown-linux-musl/release/mika

Mika wraps your shell session via PTY. Your $DISPLAY must be set for the X11 overlay.

Architecture

Component Description
PTY layer Spawns a shell and proxies I/O
Command detector Parses output to detect what the user is running
Affective state Internal emotional state machine driving sprite selection
X11 overlay Renders the sprite as a floating window (WIP)

Roadmap

  • Sprite rendering (X11 overlay)
  • Sprite sheet + animation support
  • More command reactions
  • Config file for shell path, sprite, personality tuning
  • Stability pass (many known crash paths)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages