yoo 0.4.0

A tiny developer companion for better coding sessions.
yoo-0.4.0 is not a library.

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

yoo --fast --name Nihit

Check your setup

yoo doctor

Discover tip packs

yoo tips

Start a focus session

yoo session 25
yoo fetch

Installation

Cargo (Cross-platform)

Install the latest version from crates.io:

cargo install yoo

Update later:

cargo install yoo --force

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:

yoo

Developer Fetch

yoo fetch is a developer-aware fetch command. It combines environment information with the project in your current directory.

yoo fetch

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

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

yoo --fast
yoo --name Nihit
yoo --theme tokyo-night
yoo --plain
yoo --no-art

Themes

neon
ocean
mono
dracula
tokyo-night
gruvbox
nord
rose-pine
catppuccin

Example:

yoo --fast --theme tokyo-night

Configuration

Create the default YAML configuration and a sample community tip pack:

yoo init

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:

yoo config

Tip Packs

yoo ships with these built-in tip packs:

general
git
linux
rust

Get one random Rust tip:

yoo tip rust

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:

yoo tip web

Development

git clone https://github.com/nihitdev/yo-cli.git
cd yo-cli

cargo fmt
cargo test
cargo clippy -- -D warnings

cargo run -- doctor
cargo run -- --fast --name Nihit

Quality Checks

Before pushing changes:

cargo fmt --check
cargo test
cargo clippy -- -D warnings

Roadmap

  • Developer session greeting
  • Git branch and working-tree summary
  • YAML configuration
  • Themes
  • yoo doctor
  • Local coding-session timer
  • Community YAML tip packs
  • yoo fetch developer 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.