yoo 0.6.3

A tiny developer companion for better coding sessions.
yoo-0.6.3 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 project and Git state, checks your Rust setup, fetches environment information, analyses the project in the current directory, offers practical tips, and includes a local focus timer.

It is intentionally small: no telemetry, no daemon, no network calls, and no heavy runtime.

Terminal open. Brain online. Let's go. ⚡

📁 Project: yo-cli
🌿 Git branch: main
✏️ Working tree: clean

💡 Tip: Write the test that would have caught your last bug.

Quick start

cargo install yoo
yoo
yoo doctor
yoo project

Use yoo --fast when you want the greeting without the typewriter animation.

Features

  • 🚀 Friendly developer session starter
  • 🩺 yoo doctor for Rust, Cargo, Git, config, and project checks
  • yoo fetch for developer-environment and project detection
  • 📦 yoo project for project metadata, source stats, Git details, and project-file checks
  • 📄 JSON output with yoo fetch --json and yoo project --json
  • ⏱️ 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

Why use it?

  • Start a coding session with the project name, Git branch, working-tree state, and one useful reminder.
  • Check whether Rust, Cargo, Git, Rustfmt, Clippy, config, and repository basics are available.
  • Get a quick project report without opening an IDE.
  • Feed yoo fetch --json or yoo project --json into scripts.
  • Keep personal and team tips in simple YAML files.

Screenshots

Start a coding session

yoo --fast --name YourName

Check your setup

yoo doctor

Fetch your developer environment

yoo fetch

Inspect the current project

yoo project

yoo project — project overview

📦 Name:            yoo
🔧 Language:        Rust
📦 Package manager: Cargo
📄 Manifest:        Cargo.toml
🏷 Version:         0.6.3
🦀 Edition:         2024
⚖ License:          GPL-3.0-or-later

📁 Source files:    10
📏 Source lines:    2,000+
🌿 Git branch:      main
✏️ Working tree:    clean

Installation

Requirements:

  • Rust 1.85 or newer for building from source or installing with Cargo
  • Git installed if you want repository details in yoo, yoo fetch, yoo project, or yoo doctor

Cargo (cross-platform)

cargo install yoo

Update later:

cargo install yoo --force

npm (cross-platform binary installer)

npm install -g @nihitdev/yoo

The npm package downloads the matching prebuilt binary from GitHub Releases. It currently supports Windows x64, Linux x64, and macOS arm64.

The npm wrapper package lives in packages/npm to keep the repository root focused on the Rust CLI.

Scoop (Windows)

scoop bucket add nihitdev https://github.com/nihitdev/scoop-nihitdev
scoop install yoo

Update later:

scoop update
yoo --version
scoop update yoo

WinGet (Windows)

The package is being prepared for the official WinGet community repository.

winget install --id Nihitdev.Yoo

Start your first developer session:

yoo

Commands

Command Purpose
yoo Start the default developer-session greeting
yoo --fast Start the greeting without the typewriter delay
yoo doctor Check local tooling, config, and repository basics
yoo fetch Show OS, shell, editor, Rust/Cargo/Git, project, and Git state
yoo fetch --json Print the fetch report as JSON
yoo status Alias for yoo fetch
yoo project Show project metadata, source stats, Git details, and project-file checks
yoo project --json Print the project report as JSON
yoo session Start the configured focus timer
yoo session 25 Start a 25-minute focus timer
yoo tip rust Print one tip from the Rust tip pack
yoo tips List built-in and local tip packs
yoo init Create the default config and sample community tip pack
yoo config Print the active config path
yoo version Print the installed version
yoo help Print command help

Useful options

yoo --fast

yoo --name YourName

yoo --theme tokyo-night

yoo --plain

yoo --no-art

yoo project --plain

yoo fetch --json
yoo project --json

--json is intentionally decoration-free and cannot be combined with display options such as --plain, --no-art, or --theme.

Themes

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

Example:

yoo --fast --theme tokyo-night

Project detection

yoo project and yoo fetch detect these project markers:

Project type Marker Package-manager detection
Rust Cargo.toml Cargo
Node.js package.json npm, pnpm, Yarn, or Bun
Python pyproject.toml pip, uv, Poetry, or Pipenv
Go go.mod Go modules
Java pom.xml or Gradle files Maven or Gradle
.NET .sln or .csproj .NET SDK

yoo project counts source files and lines while skipping generated or heavy folders such as .git, target, node_modules, dist, build, .next, .venv, and vendor.

JSON output

Use JSON output when scripting or feeding project information into another tool:

yoo fetch --json
yoo project --json

Example fields include:

{
  "yoo_version": "0.6.3",
  "project": {
    "name": "yoo",
    "language": "Rust",
    "version": "0.6.3"
  },
  "git": {
    "branch": "main",
    "changed_files": 0
  }
}

The exact report includes more fields, but it stays focused on local environment, project, source, and Git data.

Privacy

yoo runs locally. It does not use AI services, collect telemetry, run a background service, or send project data anywhere. Environment and project information stays on your machine and is written only to the requested terminal or JSON output.

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

Print the active config path:

yoo config

Default config:

version: 1

profile:
  name: developer

appearance:
  theme: neon
  ascii: true
  colors: true
  typing_speed_ms: 12

git:
  show_branch: true
  show_status: true

tips:
  enabled: true
  pack: general

hydration:
  enabled: true

session:
  default_minutes: 25
  show_complete_message: true

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 local tip pack:

name: team
description: Team workflow reminders.
tips:
  - Keep pull requests small enough to review carefully.
  - Write down the command that fixed the problem.

Then run:

yoo tip team

Troubleshooting

Problem What to try
yoo doctor says config is missing Run yoo init; defaults are still used until then
No colours appear Check whether output is redirected, or use a terminal that supports ANSI colours
Git branch is missing Run the command inside a Git repository and make sure git is in PATH
cargo install yoo fails Update Rust with rustup update, then retry
JSON command rejects display flags Remove --plain, --no-art, or --theme when using --json

Development

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

cd yo-cli


cargo fmt --check

cargo test

cargo clippy -- -D warnings

cargo build --release


cargo run -- doctor

cargo run -- fetch

cargo run -- project
cargo run -- project --json

Release checks used by this repo:

cargo fmt --check
cargo test --locked
cargo clippy --locked -- -D warnings
cargo build --release --locked

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
  • yoo project project overview and source stats
  • JSON output for yoo fetch and yoo project
  • Automated cross-platform GitHub releases
  • More tip packs from contributors
  • Shell completion support
  • Better terminal accessibility options

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.