Skip to content
nihitdev edited this page Jul 30, 2026 · 7 revisions

yoo Wiki

yoo is a small, local-first CLI for viewing project, Git, and development environment information.

It is written in Rust and works on Windows, Linux, and macOS.

Documentation

Quick start

yoo --fast
yoo doctor
yoo project

No configuration is required for normal use.

Links

Privacy

yoo only reads local environment, project, and Git information. It has no telemetry, accounts, daemon, or external AI service.

Page: Installation

Installation

Choose one installation method. You do not need to install yoo more than once.

WinGet

Windows users can install yoo with WinGet:

winget source update
winget install --id Nihitdev.yoo --exact

Upgrade it later with:

winget upgrade --id Nihitdev.yoo --exact

Cargo Binstall

Install a prebuilt binary:

cargo binstall yoo

If Cargo Binstall is unavailable:

cargo install cargo-binstall
cargo binstall yoo

Cargo

Build and install from crates.io:

cargo install yoo

npm

npm install --global @nihitde_v/yoo

pnpm

pnpm add --global @nihitde_v/yoo

Bun

bun add --global @nihitde_v/yoo

The npm, pnpm, and Bun packages download the matching prebuilt binary from GitHub Releases.

Scoop

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

Arch Linux

Using an AUR helper:

yay -S yoo-bin

Build from source

Rust 1.85 or newer is required:

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

Verify the installation

yoo --version
yoo doctor

If yoo is not recognized after installation, restart the terminal and check the Troubleshooting page.

Page: Usage

Usage

Run yoo inside a project directory:

yoo

For faster output without the typing animation:

yoo --fast

Commands

Command Description
yoo Start a developer session
yoo doctor Check local tools, configuration, project detection, and Git
yoo project Show project metadata, source statistics, and Git details
yoo fetch Show the development environment and current project
yoo status Alias for yoo fetch
yoo session [MINUTES] Start a local focus timer
yoo tip [PACK] Print a random tip
yoo tips List available tip packs
yoo init Create the default configuration and sample tip pack
yoo config Print the active configuration path
yoo version Print the installed version
yoo help Show the complete help message

Display options

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

Available themes:

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

Inspect a project

cd path/to/project
yoo project

This displays information such as:

  • Project name and language
  • Project version
  • Package manager
  • Source-file statistics
  • Git branch and working-tree status
  • Common repository files

Check the development environment

yoo doctor

This checks Rust, Cargo, Git, Rustfmt, Clippy, configuration, project detection, and repository state.

JSON output

Use JSON output in scripts and editor integrations:

yoo fetch --json
yoo project --json

--json cannot be combined with display options such as --plain, --no-art, or --theme.

Focus timer

Start the configured default timer:

yoo session

Start a 45-minute timer:

yoo session 45

The alternative syntax is:

yoo session --minutes 45

Tips

Print a tip from the configured pack:

yoo tip

Select a specific pack:

yoo tip rust

List all available packs:

yoo tips

Built-in packs include general, git, linux, and rust.

Configuration

Create the default configuration:

yoo init

Print its location:

yoo config

Configuration locations:

Windows: %APPDATA%\yoo\config.yaml
Linux:   ~/.config/yoo/config.yaml
macOS:   ~/Library/Application Support/yoo/config.yaml

Page: Supported-Projects

Supported Projects

yoo detects a project by looking for common manifest and project files in the current directory.

Project types

Project type Detected files Package managers
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

Inspect the current project

yoo project

For machine-readable output:

yoo project --json

Node.js package-manager detection

For Node.js projects, yoo checks lockfiles to detect the package manager:

  • package-lock.json for npm
  • pnpm-lock.yaml for pnpm
  • yarn.lock for Yarn
  • bun.lock or bun.lockb for Bun

Source-file counting

Generated files and dependencies are excluded from source statistics. Common ignored directories include:

  • .git
  • target
  • node_modules
  • dist
  • build
  • .next
  • .venv
  • vendor

Project not detected

Make sure you are running yoo from the project root:

cd path/to/project
yoo project

If a supported project is not detected, open a bug report and include the relevant manifest filename:

Report a project-detection bug

Page: Troubleshooting

Troubleshooting

Command not found

If the terminal cannot find yoo, restart the terminal after installation.

Check whether it is available:

Windows

Get-Command yoo

Linux or macOS

command -v yoo

Also make sure your package manager's binary directory is included in PATH.

Missing configuration warning

Create the default configuration:

yoo init

A configuration file is optional. The built-in defaults work without one.

Print the expected configuration path:

yoo config

Missing Git information

Make sure:

  • You are running yoo inside a Git repository.
  • Git is installed.
  • The git command is available in PATH.

Check Git with:

git --version
git status

Project is not detected

Run yoo from the project root containing files such as:

  • Cargo.toml
  • package.json
  • pyproject.toml
  • go.mod
  • pom.xml
  • .sln or .csproj

Then run:

yoo project

No colours

Colour is automatically disabled when appropriate. If output is redirected, use plain output explicitly:

yoo --plain

Otherwise, use a terminal with ANSI colour support.

Cargo installation is slow

cargo install yoo compiles the project locally.

Use Cargo Binstall for a prebuilt binary:

cargo binstall yoo

JSON rejects an option

JSON output cannot be combined with display options.

This is invalid:

yoo project --json --plain

Use:

yoo project --json

Check the complete setup

yoo doctor

Still having trouble?

Open an issue and include:

  • Operating system
  • Installation method
  • Output from yoo --version
  • Output from yoo doctor
  • The exact command and error message

Open a GitHub issue

Page: Contributing

Contributing

Contributions to yoo are welcome. Keep changes focused and avoid adding unnecessary dependencies or complexity.

Requirements

  • Git
  • Rust 1.85 or newer
  • Cargo
  • Rustfmt
  • Clippy

Install the Rust toolchain through rustup if necessary.

Local setup

Fork the repository, then clone your fork:

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

Build and run the project:

cargo build
cargo run -- --fast

Development checks

Run these checks before opening a pull request:

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

Contribution guidelines

  • Keep each pull request focused.
  • Explain what changed and why.
  • Add or update tests for behaviour changes.
  • Avoid unnecessary dependencies and large abstractions.
  • Update documentation when users will notice the change.
  • Keep yoo local-first and lightweight.
  • Do not add telemetry or unnecessary network services.

Community tip packs

Tip packs are YAML files:

name: web
description: Useful web-development reminders.
tips:
  - Test loading, error, and empty states.
  - Check the browser console before guessing.

Tips should be:

  • Practical
  • Short
  • Original
  • Safe for a broad developer audience

Opening a pull request

  1. Create a branch.
  2. Make and test your changes.
  3. Commit with a clear message.
  4. Push the branch to your fork.
  5. Open a pull request against the main branch.

Example:

git switch -c fix/project-detection
git add .
git commit -m "fix: improve project detection"
git push --set-upstream origin fix/project-detection

Reporting bugs

Open an issue with:

  • A clear description
  • Steps to reproduce the problem
  • Expected and actual behaviour
  • Operating system
  • yoo version
  • Relevant command output

Open an issue

Clone this wiki locally