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.
curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/setup.sh | bashruuhruuh --ollamahttp://localhost:3000Setup 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 | bashRuuh core only
Termux + Ubuntu proot environment with pi-coding-agent.
curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/ruuh-setup.sh | bashOllama 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 | bashTermux API skills
Install skill files for device and comms APIs.
curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/skills-setup.sh | bashDashboard extension
Install the live web dashboard for monitoring the agent.
curl -fsSL https://raw.githubusercontent.com/perminder-klair/ruuh/main/scripts/dashboard-setup.sh | bashKey Paths
Where Ruuh stores files across environments.
File Locations
~/storage/shared/ruuh/~/agent/Internal Storage > ruuhConfig Files
AGENTS.mdWorkspace config, startup routine, memorySOUL.mdPersonality, tone, communication styleIDENTITY.mdAuto-filled name, creature type, emojiUSER.mdProfile of the human, auto-updatedMEMORY.mdPersistent long-term memoryTOOLS.mdAvailable Termux API commands referenceBOOTSTRAP.mdOne-time first-run conversation ritualHEARTBEAT.mdPeriodic scheduled checks.pi Directory
.pi/settings.jsonModel, API keys, preferences.pi/extensions/Extensions (dashboard.ts, etc.).pi/skills/Auto-discovered skill directoriesTermux API: Device
Hardware, sensors, and system UI commands.
termux-battery-statusBattery level, status, health, temperature
termux-battery-statustermux-audio-infoCurrent audio output device and routing
termux-audio-infotermux-brightnessSet screen brightness (0-255 or auto)
termux-brightness 128termux-torchToggle the flashlight on/off
termux-torch ontermux-vibrateVibrate the device (-d ms, -f force)
termux-vibrate -d 500termux-volumeGet/set audio stream volumes
termux-volume music 8termux-sensorRead hardware sensors (accelerometer, gyro...)
termux-sensor -ltermux-fingerprintAuthenticate via fingerprint scanner
termux-fingerprinttermux-locationGet GPS or network location
termux-location -p gpstermux-wifi-connectioninfoCurrent WiFi connection details
termux-wifi-connectioninfotermux-wifi-scaninfoScan nearby WiFi networks
termux-wifi-scaninfotermux-wifi-enableEnable or disable WiFi
termux-wifi-enable truetermux-clipboard-getRead clipboard contents
termux-clipboard-gettermux-clipboard-setSet clipboard contents
termux-clipboard-set "hello"termux-notificationShow persistent notification
termux-notification -t "Title" -c "Body"termux-notification-removeRemove notification by ID
termux-notification-remove myidtermux-notification-listList active notifications
termux-notification-listtermux-dialogShow interactive UI dialog
termux-dialog confirm -t "Sure?"termux-toastShow a brief toast message
termux-toast "Hello!"termux-wake-lockAcquire CPU wake lock (prevent sleep)
termux-wake-locktermux-wake-unlockRelease CPU wake lock
termux-wake-unlocktermux-wallpaperSet device wallpaper from file or URL
termux-wallpaper -f /sdcard/photo.jpgtermux-downloadDownload file via Android DownloadManager
termux-download "https://example.com/file.zip"Termux API: Comms
Communication and media commands.
termux-sms-listList received SMS messages
termux-sms-list -l 5termux-sms-sendSend an SMS message
termux-sms-send -n "+1234" "Hi!"termux-contact-listList all device contacts
termux-contact-listtermux-call-logShow recent call history
termux-call-log -l 10termux-telephony-callInitiate a phone call
termux-telephony-call "+1234"termux-telephony-cellinfoCurrent cell tower info
termux-telephony-cellinfotermux-telephony-deviceinfoSIM and device telephony info
termux-telephony-deviceinfotermux-camera-infoList cameras and capabilities
termux-camera-infotermux-camera-photoTake a photo and save to file
termux-camera-photo /sdcard/ruuh/photo.jpgtermux-microphone-recordRecord audio from microphone
termux-microphone-record -f /sdcard/ruuh/rec.m4a -l 30termux-tts-speakSpeak text aloud (text-to-speech)
termux-tts-speak "Hello"termux-tts-enginesList available TTS engines
termux-tts-enginestermux-speech-to-textRecognize speech from microphone
termux-speech-to-texttermux-media-playerPlay/pause/stop audio files
termux-media-player play /sdcard/song.mp3termux-media-scanScan files for Android media library
termux-media-scan /sdcard/ruuh/photo.jpgtermux-shareShare content via Android share sheet
termux-share /sdcard/ruuh/photo.jpgtermux-storage-getPick a file using Android file picker
termux-storage-get /sdcard/ruuh/picked.pdftermux-calendar-listList calendar events
termux-calendar-listTermux API: System
System integration and automation.
termux-job-schedulerSchedule background jobs
termux-job-scheduler --pendingtermux-infrared-transmitTransmit infrared signal
termux-infrared-transmit -f 38000 100,50,100termux-usbAccess USB devices
termux-usb -ltermux-nfcRead/write NFC tags
termux-nfctermux-keystoreHardware keystore crypto operations
termux-keystore listtermux-infrared-frequenciesList supported IR carrier frequencies
termux-infrared-frequenciesExtra 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=$(termux-battery-status) LEVEL=$(echo "$BATTERY" | jq -r '.percentage') if [ "$LEVEL" -lt 20 ]; then termux-toast "Battery low ($LEVEL%). Plug in." fi
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
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"
termux-camera-photo /sdcard/ruuh/snap.jpg termux-media-scan /sdcard/ruuh/snap.jpg termux-share /sdcard/ruuh/snap.jpg
termux-wake-lock # ... long running process ... termux-wake-unlock termux-vibrate -d 200 termux-toast "Task finished"
# 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"
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.
| Model | Size | Type | Note |
|---|---|---|---|
kimi-k2.5:cloud | Cloud | Cloud | Recommended |
minimax-m2.5:cloud | Cloud | Cloud | |
glm-5:cloud | Cloud | Cloud | |
qwen3.5:cloud | Cloud | Cloud | |
qwen3-coder-next:cloud | Cloud | Cloud | |
qwen3:1.7b | ~1 GB | Local |
ruuh --ollamaollama pull qwen3:1.7bollama listollama rm qwen3:1.7b~/storage/shared/ruuh/.pi/settings.jsonTroubleshooting
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.