termonaut

module
v0.9.2 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.0!
  • 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
  • XP & Levels: Earn experience points for terminal usage with space-themed progression
  • Achievement Badges: Unlock ๐Ÿ… badges for milestones (100 commands, 7-day streaks, etc.)
  • Easter Eggs: 22+ contextual surprises for git, docker, and special moments
  • New Command Bonuses: Extra XP for exploring new tools and commands
  • Streak Rewards: Maintain daily/weekly usage streaks for motivation
๐ŸŽจ Avatar System โญ NEW in v0.9.1!
  • 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
๐Ÿ“Š Rich CLI Interface
  • Interactive Stats: Beautiful terminal-native data visualization
  • Multiple Views: Session summaries, command breakdowns, and trend analysis
  • Customizable Display: ASCII charts, emoji themes, and configurable output
  • Export Options: JSON/CSV export for backup and integration
๐Ÿ”„ GitHub Integration โญ NEW in v0.9.0!
  • Dynamic Badges: Auto-updating Shields.io badges for your README
  • Profile Generation: Complete productivity profiles in Markdown
  • Repository Sync: Automatic synchronization with your GitHub repos
  • GitHub Actions: Workflow templates for automated stats updates
  • Stats Export: JSON and Markdown export for social sharing
๐Ÿ”’ Privacy & Performance
  • 100% Local: All data stays on your machine by default
  • Lightweight: Minimal performance impact with async logging
  • SQLite Storage: Fast, reliable, and portable data storage
  • No Dependencies: Single binary with zero external requirements

๐Ÿš€ 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 xp                 # Current XP and level
termonaut badges             # Earned achievements
termonaut sessions           # Recent terminal sessions

# Short commands:
tn xp                        # Current XP and level
tn badges                    # Earned achievements
tn sessions                  # Recent terminal sessions

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 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

๐Ÿ”ง 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
  • 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