Ruuh

Cheatsheet

Quick-reference for every Ruuh command, Termux API call, file path, and common pattern.

Quick Start

Get up and running in under five minutes.

Install everything
curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/setup.sh | bash
Start the agent
ruuh
Start with local model
ruuh --ollama
Web dashboard
http://localhost:3000

Setup Scripts

Individual scripts you can run separately.

Full setup (all-in-one)

Walks you through Termux + Ubuntu environment, Ollama, and skills with optional steps.

curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/setup.sh | bash

Ruuh core only

Termux + Ubuntu proot environment with pi-coding-agent.

curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/ruuh-setup.sh | bash

Ollama setup

Install Ollama and pull a local model for offline use.

curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/ollama-setup.sh | bash

Termux API skills

Install skill files for device and comms APIs.

curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/skills-setup.sh | bash

Dashboard extension

Install the live web dashboard for monitoring the agent.

curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/dashboard-setup.sh | bash

Key Paths

Where Ruuh stores files across environments.

File Locations

Termux~/storage/shared/ruuh/
Ubuntu (proot)~/agent/
Android File ManagerInternal Storage > ruuh

Config Files

AGENTS.mdWorkspace config, startup routine, memory
SOUL.mdPersonality, tone, communication style
IDENTITY.mdAuto-filled name, creature type, emoji
USER.mdProfile of the human, auto-updated
MEMORY.mdPersistent long-term memory
TOOLS.mdAvailable Termux API commands reference
BOOTSTRAP.mdOne-time first-run conversation ritual
HEARTBEAT.mdPeriodic scheduled checks

.pi Directory

.pi/settings.jsonModel, API keys, preferences
.pi/extensions/Extensions (dashboard.ts, etc.)
.pi/skills/Auto-discovered skill directories

Termux API: Device

Hardware, sensors, and system UI commands.

termux-battery-status

Battery level, status, health, temperature

termux-battery-status
termux-audio-info

Current audio output device and routing

termux-audio-info
termux-brightness

Set screen brightness (0-255 or auto)

termux-brightness 128
termux-torch

Toggle the flashlight on/off

termux-torch on
termux-vibrate

Vibrate the device (-d ms, -f force)

termux-vibrate -d 500
termux-volume

Get/set audio stream volumes

termux-volume music 8
termux-sensor

Read hardware sensors (accelerometer, gyro...)

termux-sensor -l
termux-fingerprint

Authenticate via fingerprint scanner

termux-fingerprint
termux-location

Get GPS or network location

termux-location -p gps
termux-wifi-connectioninfo

Current WiFi connection details

termux-wifi-connectioninfo
termux-wifi-scaninfo

Scan nearby WiFi networks

termux-wifi-scaninfo
termux-wifi-enable

Enable or disable WiFi

termux-wifi-enable true
termux-clipboard-get

Read clipboard contents

termux-clipboard-get
termux-clipboard-set

Set clipboard contents

termux-clipboard-set "hello"
termux-notification

Show persistent notification

termux-notification -t "Title" -c "Body"
termux-notification-remove

Remove notification by ID

termux-notification-remove myid
termux-notification-list

List active notifications

termux-notification-list
termux-dialog

Show interactive UI dialog

termux-dialog confirm -t "Sure?"
termux-toast

Show a brief toast message

termux-toast "Hello!"
termux-wake-lock

Acquire CPU wake lock (prevent sleep)

termux-wake-lock
termux-wake-unlock

Release CPU wake lock

termux-wake-unlock
termux-wallpaper

Set device wallpaper from file or URL

termux-wallpaper -f /sdcard/photo.jpg
termux-download

Download file via Android DownloadManager

termux-download "https://example.com/file.zip"

Termux API: Comms

Communication and media commands.

termux-sms-list

List received SMS messages

termux-sms-list -l 5
termux-sms-send

Send an SMS message

termux-sms-send -n "+1234" "Hi!"
termux-contact-list

List all device contacts

termux-contact-list
termux-call-log

Show recent call history

termux-call-log -l 10
termux-telephony-call

Initiate a phone call

termux-telephony-call "+1234"
termux-telephony-cellinfo

Current cell tower info

termux-telephony-cellinfo
termux-telephony-deviceinfo

SIM and device telephony info

termux-telephony-deviceinfo
termux-camera-info

List cameras and capabilities

termux-camera-info
termux-camera-photo

Take a photo and save to file

termux-camera-photo /sdcard/ruuh/photo.jpg
termux-microphone-record

Record audio from microphone

termux-microphone-record -f /sdcard/ruuh/rec.m4a -l 30
termux-tts-speak

Speak text aloud (text-to-speech)

termux-tts-speak "Hello"
termux-tts-engines

List available TTS engines

termux-tts-engines
termux-speech-to-text

Recognize speech from microphone

termux-speech-to-text
termux-media-player

Play/pause/stop audio files

termux-media-player play /sdcard/song.mp3
termux-media-scan

Scan files for Android media library

termux-media-scan /sdcard/ruuh/photo.jpg
termux-share

Share content via Android share sheet

termux-share /sdcard/ruuh/photo.jpg
termux-storage-get

Pick a file using Android file picker

termux-storage-get /sdcard/ruuh/picked.pdf
termux-calendar-list

List calendar events

termux-calendar-list

Termux API: System

System integration and automation.

termux-job-scheduler

Schedule background jobs

termux-job-scheduler --pending
termux-infrared-transmit

Transmit infrared signal

termux-infrared-transmit -f 38000 100,50,100
termux-usb

Access USB devices

termux-usb -l
termux-nfc

Read/write NFC tags

termux-nfc
termux-keystore

Hardware keystore crypto operations

termux-keystore list
termux-infrared-frequencies

List supported IR carrier frequencies

termux-infrared-frequencies

Extra Skills

Built-in skills that ship with Ruuh.

blogwatcher

Monitor RSS feeds and blogs for new posts, summarize updates automatically.

thoth

Create and optimize social media content for Twitter, LinkedIn, and Instagram with AI images and brand styles.

agent-browser

Browser automation for navigating pages, filling forms, clicking buttons, taking screenshots, and extracting data.

summarize

Summarize articles, web pages, or long texts into concise bullet points.

weather

Get current weather and forecasts for any location using wttr.in.

humanizer

Rewrite AI-generated text to sound more natural and human.

roohani-dance

Motion-reactive freestyle game mapping phone movements to vibrations, torch flashes, and TTS quips.

skill-creator

Meta-skill that helps you create new custom skills from scratch.

Common Patterns

Multi-command recipes you can copy and adapt.

Battery check before long task
BATTERY=$(termux-battery-status)
LEVEL=$(echo "$BATTERY" | jq -r '.percentage')
if [ "$LEVEL" -lt 20 ]; then
  termux-toast "Battery low ($LEVEL%). Plug in."
fi
Notification with progress
termux-notification --id build -t "Build" -c "Starting..." --ongoing
# ... run build ...
termux-notification --id build -t "Build" -c "Done!" --alert-once
termux-notification-remove build
Voice-commanded SMS
termux-tts-speak "Who should I text?"
NAME=$(termux-speech-to-text)
NUMBER=$(termux-contact-list | jq -r --arg n "$NAME" \
  '.[] | select(.name | test($n;"i")) | .number')
termux-tts-speak "What should I say?"
MSG=$(termux-speech-to-text)
termux-sms-send -n "$NUMBER" "$MSG"
Take photo and share
termux-camera-photo /sdcard/ruuh/snap.jpg
termux-media-scan /sdcard/ruuh/snap.jpg
termux-share /sdcard/ruuh/snap.jpg
Wake lock for long task
termux-wake-lock
# ... long running process ...
termux-wake-unlock
termux-vibrate -d 200
termux-toast "Task finished"
Scheduled backup via cron
# Add to HEARTBEAT.md or use termux-job-scheduler
termux-wake-lock
tar czf /sdcard/ruuh/backup-$(date +%F).tar.gz ~/agent/
termux-wake-unlock
termux-notification -t "Backup" -c "Complete"
NFC tag automation
TAG=$(termux-nfc)
URL=$(echo "$TAG" | jq -r '.content')
termux-toast "Scanned: $URL"
# Trigger action based on tag content

Ollama

Local models for offline, private AI.

ModelSizeType
kimi-k2.5:cloudCloudCloud
minimax-m2.5:cloudCloudCloud
glm-5:cloudCloudCloud
qwen3.5:cloudCloudCloud
qwen3-coder-next:cloudCloudCloud
qwen3:1.7b~1 GBLocal
Start with Ollama
ruuh --ollama
Pull a model
ollama pull qwen3:1.7b
List installed models
ollama list
Remove a model
ollama rm qwen3:1.7b
Config file
~/storage/shared/ruuh/.pi/settings.json

Troubleshooting

Common issues and how to fix them.

ruuh command not found

Re-run the full install script. The setup may not have completed. Check that ~/storage/shared/ruuh/ exists.

Storage permission denied

Go to Android Settings > Apps > Termux > Permissions > Storage and grant access. Restart Termux.

Termux API commands fail

Install both Termux and Termux:API from F-Droid (not Play Store). Mixing sources causes signature mismatch.

Ollama out of memory

Try a smaller model: ollama pull qwen3:1.7b. Close other apps to free RAM.

Ubuntu proot won't start

Run: proot-distro remove ubuntu && proot-distro install ubuntu, then re-run ruuh-setup.sh.

Skills not showing up

Skills must be in ~/storage/shared/ruuh/.pi/skills/. Re-run the skills setup script.

Dashboard not loading

The dashboard runs at localhost:3000 while the agent is active. Open it in your device's browser, not Termux.

Permission error on first API call

Normal. Android prompts for permission on first use. Retry the command once after granting.