yoo
What is yoo?
yoo is a Rust CLI that makes opening a terminal feel a little better.
It gives you a friendly developer-session greeting, shows the current project and Git state, offers practical tips, checks your Rust setup, and includes a lightweight local coding-session timer.
Terminal open. Brain online. Let's go, Nihit. ⚡
📁 Project: yo-cli
🌿 Git branch: main
✏️ Working tree: clean
💡 Tip: Write the test that would have caught your last bug.
Features
- 🚀 Friendly developer session starter
- 🩺
yoo doctorfor Rust, Cargo, Git, config, and project checks - ⏱️ Local coding-session timer with
yoo session - 📝 YAML configuration
- 💡 Built-in and community YAML tip packs
- 🌿 Current Git branch and working-tree status
- 🎨 Nine terminal themes
- 🦀 Written in Rust
- ✅ Unit tests, formatting checks, Clippy, and GitHub Actions CI
- ⚡ Developer-aware environment fetcher
- 📄 JSON output for scripting and automation
Screenshots
Start a coding session
Check your setup
Discover tip packs
Start a focus session
Installation
Cargo (Cross-platform)
Install the latest version from crates.io:
Update later:
Scoop (Windows)
Add the official Nihitdev bucket:
scoop bucket add nihitdev https://github.com/nihitdev/scoop-nihitdev
Install yoo:
scoop install yoo
Update later:
scoop update
scoop update yoo
WinGet (Windows)
Coming soon. The package has been submitted to the official Microsoft WinGet Community Repository and will be available after approval.
winget install --id Nihitdev.Yoo
Start your first developer session:
Developer Fetch
yoo fetch is a developer-aware fetch command. It combines environment information with the project in your current directory.
It detects:
- OS and architecture
- Shell, terminal, and editor when available
- Rust, Cargo, and Git versions
- Rust, Node.js, Python, Go, Java, and .NET project markers
- Current Git branch and working-tree status
Use JSON output for scripts and automation:
yoo status is an alias for yoo fetch.
Commands
yoo
yoo doctor
yoo init
yoo config
yoo tips
yoo tip rust
yoo tip git
yoo session
yoo session 25
yoo fetch
yoo fetch --json
yoo status
Useful Options
Themes
neon
ocean
mono
dracula
tokyo-night
gruvbox
nord
rose-pine
catppuccin
Example:
Configuration
Create the default YAML configuration and a sample community tip pack:
Config locations:
Windows: %APPDATA%\yoo\config.yaml
Linux: ~/.config/yoo/config.yaml
macOS: ~/Library/Application Support/yoo/config.yaml
Example configuration:
version: 1
profile:
name: Nihit
appearance:
theme: tokyo-night
ascii: true
colors: true
typing_speed_ms: 12
git:
show_branch: true
show_status: true
tips:
enabled: true
pack: rust
hydration:
enabled: true
session:
default_minutes: 25
show_complete_message: true
Print the active config path:
Tip Packs
yoo ships with these built-in tip packs:
general
git
linux
rust
Get one random Rust tip:
Community packs are YAML files stored here:
Windows: %APPDATA%\yoo\tips
Linux: ~/.config/yoo/tips
macOS: ~/Library/Application Support/yoo/tips
Example community tip pack:
name: web
description: Web-development reminders.
tips:
- Test loading, error, and empty states.
- Check the browser console before guessing.
- Never expose secrets in frontend code.
Save it as web.yaml, then run:
Development
Quality Checks
Before pushing changes:
Roadmap
- Developer session greeting
- Git branch and working-tree summary
- YAML configuration
- Themes
-
yoo doctor - Local coding-session timer
- Community YAML tip packs
-
yoo fetchdeveloper environment and project status - JSON output for
yoo fetch - More tip packs from contributors
- Config editor command
- Shell completion support
- Better terminal accessibility options
- Optional release update checker
Contributing
Contributions, ideas, tip packs, and bug reports are welcome.
Read CONTRIBUTING.md before opening a pull request.
License
yoo is licensed under the GNU General Public License v3.0 or later.
See LICENSE for details.
Built with ❤️ and Rust by @nihitdev.