termonaut

module
v0.9.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: MIT

README ยถ

๐Ÿš€ Termonaut

Your Terminal Journey Companion - Track, Gamify, and Level Up Your CLI Productivity

    ๐Ÿš€
   /|\
  / | \
 |  T  |
 |     |
 ||   ||
 /\   /\

Termonaut is a lightweight, privacy-focused terminal productivity tracker that gamifies your command-line experience. Transform your daily shell usage into an engaging RPG-like journey with XP, levels, badges, and shareable statsโ€”all without leaving your terminal.

โœจ Features

๐Ÿ’ก Empty Command Stats โญ Stable in v0.9.2!
  • Instant Stats: Press Enter on empty command line to see quick stats
  • Dual Modes: Minimal one-liner or rich multi-line display
  • Smart Integration: Respects your theme and privacy settings
  • Fully Configurable: Enable/disable with simple config setting
๐Ÿ” Core Tracking
  • Command Logging: Automatically track every command execution
  • Session Management: Intelligent session detection and timing
  • Usage Analytics: Daily, weekly, and monthly productivity insights
  • Smart Metrics: Active time estimation, command categories, and streak tracking
๐ŸŽฎ Gamification System โญ Enhanced in v0.9.2!
  • XP & Levels: Earn experience points for terminal usage with space-themed progression
  • Achievement Badges: Unlock ๐Ÿ… badges for milestones (20+ achievements available)
  • Easter Eggs: 22+ contextual surprises for git, docker, kubernetes, AI tools, and special moments
  • New Command Bonuses: Extra XP for exploring new tools and commands
  • Streak Rewards: Maintain daily/weekly usage streaks for motivation
  • Category Mastery: 17 command categories with specialized XP multipliers
๐ŸŽจ Avatar System โญ Stable in v0.9.2!
  • Visual Identity: Personalized ASCII art avatars that evolve with your level
  • Smart Layout: Side-by-side stats display with intelligent terminal width detection
  • Multiple Styles: Choose from pixel-art, bottts, adventurer, or avataaars themes
  • Adaptive Sizing: Automatically adjusts avatar size (mini/small/medium/large) based on terminal width
  • Rich Details: High-quality colored ASCII art with optimized character sets for maximum detail
  • Evolution System: Avatar appearance changes and gains new features as you level up
  • Full Management: Complete avatar configuration, preview, and refresh commands
  • Network Resilience: Graceful fallback system for offline avatar generation
๐Ÿ“Š Rich CLI Interface
  • Interactive Stats: Beautiful terminal-native data visualization
  • Multiple Views: Session summaries, command breakdowns, and trend analysis
  • Interactive Dashboard: Modern TUI with Bubble Tea framework (termonaut tui)
  • Customizable Display: ASCII charts, emoji themes, and configurable output
  • Export Options: JSON/CSV export for backup and integration
  • Short Aliases: Use tn instead of termonaut for all commands
๐Ÿ”„ GitHub Integration โญ Stable in v0.9.2!
  • Dynamic Badges: Auto-updating Shields.io badges for your README (6 badge types)
  • Profile Generation: Complete productivity profiles in Markdown with avatar integration
  • Repository Sync: Automatic synchronization with your GitHub repos
  • GitHub Actions: Workflow templates for automated stats updates
  • Heatmap Generation: GitHub-style activity heatmaps in HTML/SVG/Markdown formats
  • Stats Export: JSON and Markdown export for social sharing
๐ŸŽญ Easter Eggs & Fun โญ Enhanced in v0.9.2!
  • 22+ Trigger Conditions: Speed runs, coffee breaks, git operations, docker/k8s, AI tools
  • Context-Aware: Smart detection of programming languages, databases, testing frameworks
  • Motivational Messages: 30+ unique messages across all categories
  • Modern Terminal Support: Optimized for Warp, iTerm2, VS Code terminals
  • Configurable Frequency: Reduced interruption with balanced probability settings
๐Ÿ”’ Privacy & Performance
  • 100% Local: All data stays on your machine by default
  • Command Sanitization: Smart detection and redaction of passwords, tokens, URLs
  • Lightweight: Minimal performance impact with async logging
  • SQLite Storage: Fast, reliable, and portable data storage
  • No Dependencies: Single binary with zero external requirements
  • CI Environment Detection: Automatic quiet mode for 15+ CI platforms

๐Ÿš€ Quick Start

Installation

GitHub Install (Recommended):

# Install from GitHub releases
curl -sSL https://raw.githubusercontent.com/oiahoon/termonaut/main/install.sh | bash

Manual Installation:

# Download latest release for your platform
# Linux (x64)
wget https://github.com/oiahoon/termonaut/releases/latest/download/termonaut-linux-amd64
chmod +x termonaut-linux-amd64
sudo mv termonaut-linux-amd64 /usr/local/bin/termonaut

# macOS (Intel)
wget https://github.com/oiahoon/termonaut/releases/latest/download/termonaut-darwin-amd64
chmod +x termonaut-darwin-amd64
sudo mv termonaut-darwin-amd64 /usr/local/bin/termonaut

# macOS (Apple Silicon)
wget https://github.com/oiahoon/termonaut/releases/latest/download/termonaut-darwin-arm64
chmod +x termonaut-darwin-arm64
sudo mv termonaut-darwin-arm64 /usr/local/bin/termonaut

Build from Source:

git clone https://github.com/oiahoon/termonaut.git
cd termonaut
go build -o termonaut cmd/termonaut/*.go
sudo mv termonaut /usr/local/bin/

Homebrew Installation (Recommended):

# Install from our custom tap
brew tap oiahoon/termonaut
brew install termonaut

# Or install from homebrew-core (coming soon!)
brew install termonaut
Setup

Initialize Termonaut in your shell:

termonaut advanced shell install
# Or use the short alias:
tn advanced shell install

This automatically adds hooks to your ~/.bashrc or ~/.zshrc. Restart your terminal or run:

source ~/.bashrc  # or ~/.zshrc

๐Ÿ’ก Pro Tip: Use tn as a short alias for termonaut in all commands!

๐Ÿ“– Need detailed setup help? Check our Quick Start Guide for step-by-step instructions!

๐Ÿ“– Usage

Basic Commands

View Your Stats:

termonaut stats              # Today's overview
termonaut stats --weekly     # This week's stats
termonaut stats --alltime    # Lifetime statistics

# Or use the short alias:
tn stats                     # Today's overview
tn stats --weekly            # This week's stats
tn stats --alltime           # Lifetime statistics

Check Your Progress:

termonaut tui                # Interactive dashboard
termonaut easter-egg --test  # Test easter egg system
termonaut github --help      # GitHub integration features

# Short commands:
tn tui                       # Interactive dashboard
tn easter-egg --test         # Test easter egg system
tn github --help             # GitHub integration features

Avatar Management:

termonaut avatar show        # Display your current avatar
termonaut avatar config --style pixel-art  # Change avatar style
termonaut avatar preview -l 10  # Preview avatar at level 10
termonaut avatar refresh     # Force regenerate avatar
termonaut avatar stats       # Avatar system statistics

# Short commands:
tn avatar show               # Display your current avatar
tn avatar config --style bottts  # Change to robot style
tn avatar preview -l 25      # Preview high-level avatar

Configuration:

termonaut config set theme emoji       # Enable emoji theme
termonaut config set gamification true # Toggle XP system
termonaut config get                    # View all settings

# Short commands:
tn config set theme emoji              # Enable emoji theme
tn config set gamification true        # Toggle XP system
tn config get                          # View all settings

Data Management:

termonaut export stats.json  # Export your data
termonaut import backup.json # Restore from backup
Example Output
$ termonaut stats --today

๐Ÿš€ Today's Terminal Stats (2024-01-15)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Commands Executed: 127 ๐ŸŽฏ
Active Time: 3h 42m โฑ๏ธ
Session Count: 4 ๐Ÿ“ฑ
New Commands: 3 โญ
Current Streak: 12 days ๐Ÿ”ฅ

Top Commands:
git (23) โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
ls (18)  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
cd (15)  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
vim (12) โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ

๐ŸŽฎ Level 8 Astronaut (2,150 XP)
Progress to Level 9: โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘ 75%

โš™๏ธ Configuration

Termonaut uses a TOML configuration file at ~/.termonaut/config.toml:

# Display and Theme
display_mode = "enter"          # Options: off, enter, ps1, floating
theme = "emoji"                 # Options: minimal, emoji, ascii
show_gamification = true        # Enable XP and leveling system

# Tracking Behavior
idle_timeout_minutes = 10       # Session timeout
track_git_repos = true          # Include git repository context
command_categories = true       # Categorize commands automatically

# GitHub Integration (Optional)
sync_enabled = false            # Enable GitHub sync
sync_repo = "username/termonaut-profile"
badge_update_frequency = "daily"

# Privacy
opt_out_commands = ["password", "secret"]  # Commands to ignore
anonymous_mode = false          # Strip personal paths from logs

๐ŸŽ–๏ธ Achievement System

Unlock 20+ badges as you progress:

Badge Description Criteria
๐Ÿš€ First Launch Welcome aboard! Execute your first command
๐ŸŒŸ Explorer Command discoverer Use 50 unique commands
๐Ÿ† Century Daily powerhouse 100 commands in one day
๐Ÿ”ฅ Streak Keeper Consistency master 7-day usage streak
๐Ÿ‘จโ€๐Ÿš€ Space Commander Terminal veteran Reach level 10
๐Ÿช Cosmic Explorer Universe navigator 30-day usage streak
โšก Lightning Fast Speed demon 500 commands in one day
๐Ÿ›ธ Master Navigator Elite astronaut Reach level 25
๐Ÿƒโ€โ™‚๏ธ Shell Sprinter Speed demon Execute commands rapidly
๐Ÿง™โ€โ™‚๏ธ Config Whisperer Configuration master Edit config files frequently
๐ŸŒ™ Night Coder Night owl Code during late hours
๐Ÿงฌ Git Commander Version control expert Master git operations
๐Ÿ”ฅ Pro Streaker Consistency champion Maintain long streaks
๐Ÿ›ก๏ธ Sudo Smasher Admin privileges user Use sudo commands
๐Ÿณ Docker Whale Container expert Work with Docker
๐ŸŽญ Vim Escape Artist Editor ninja Master vim commands
๐Ÿ’ช Error Survivor Resilience master Handle command failures

View all achievements with tn tui and navigate to the Achievements tab!

๐Ÿ”ง Advanced Features

๐Ÿ”„ GitHub Integration & Sync

Automatically sync your terminal stats to GitHub and display dynamic badges:

Quick Setup
# Interactive setup (recommended)
termonaut github sync setup

# Or manual configuration:
termonaut config set sync_enabled true
termonaut config set sync_repo username/termonaut-profile
termonaut config set badge_update_frequency daily
Manual & Automatic Sync
# Manual sync (immediate)
termonaut github sync now

# Check sync status
termonaut github sync status

# View available commands
termonaut github --help
Generate Dynamic Badges
# Generate all badges
termonaut github badges generate

# Generate profile
termonaut github profile generate

# Setup GitHub Actions for automation
termonaut github actions generate termonaut-stats-update
Add Badges to Your README
![Commands](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/username/termonaut-profile/main/badges/commands.json)
![Level](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/username/termonaut-profile/main/badges/level.json)
![Streak](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/username/termonaut-profile/main/badges/streak.json)
![Productivity](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/username/termonaut-profile/main/badges/productivity.json)
![Last Active](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/username/termonaut-profile/main/badges/last-active.json)
Sync Features
  • ๐Ÿ”„ Automatic Sync: Background sync based on frequency (hourly/daily/weekly)
  • ๐Ÿ“Š Profile Generation: Complete productivity profiles in Markdown
  • ๐Ÿท๏ธ Dynamic Badges: 5+ badge types with real-time data
  • ๐Ÿ“ˆ Heatmaps: Visual activity heatmaps (HTML/SVG/Markdown)
  • โšก GitHub Actions: Automated workflows for updates
  • ๐Ÿ”’ Privacy: Only syncs aggregated stats, no sensitive data
Shell Prompt Integration

Add your stats to your shell prompt:

# Add to ~/.bashrc or ~/.zshrc
export PS1="$(termonaut prompt) $PS1"
API and Integrations

Export data for external tools:

termonaut export --json | jq '.stats.total_commands'  # Use with jq
termonaut export --csv > stats.csv                     # Spreadsheet analysis

๐Ÿ—๏ธ Project Structure

~/.termonaut/
โ”œโ”€โ”€ config.toml           # User configuration
โ”œโ”€โ”€ termonaut.db         # SQLite database
โ”œโ”€โ”€ termonaut.log        # Application logs
โ”œโ”€โ”€ cache/
โ”‚   โ”œโ”€โ”€ export.json      # Latest export data
โ”‚   โ””โ”€โ”€ badges/          # Generated badge files
โ””โ”€โ”€ backups/             # Automatic daily backups

๐Ÿค Contributing

We welcome contributions! Please see our Development Guide for:

  • Development setup and workflow
  • Architecture overview
  • Testing guidelines
  • Code style and standards
Quick Development Setup
git clone https://github.com/oiahoon/termonaut.git
cd termonaut
make dev-setup    # Install dependencies and dev tools
make test         # Run test suite
make build        # Build binary

๐Ÿ“Š Roadmap

  • v0.1: Basic command logging and SQLite storage
  • v0.2: Enhanced stats and session detection
  • v0.5: Full gamification system and achievements
  • v0.9: GitHub integration and badge generation
  • v0.9.2: Avatar system, Easter eggs, Network resilience
  • v1.0: Stable release with comprehensive documentation
  • v1.x: Social features and leaderboards

See our Project Planning for detailed milestones.

๐Ÿ“„ License

MIT License - see LICENSE for details.

๐Ÿ™ Acknowledgments

  • Inspired by terminal productivity tools and gaming mechanics
  • Built with โค๏ธ for the command-line community
  • Special thanks to contributors and beta testers

"Hack your habits from the shell." ๐Ÿš€

Transform your terminal from a tool into an adventure. Every command is a step toward mastery.

For detailed documentation, visit our Wiki or run termonaut help.

Directories ยถ

Path Synopsis
cmd
termonaut command
internal
api
tui
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL