-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
yoo --fast
yoo doctor
yoo project
No configuration is required for normal use.
## Links
- Source code (https://github.com/nihitdev/yo-cli)
- Latest release (https://github.com/nihitdev/yo-cli/releases/latest)
- Report a bug (https://github.com/nihitdev/yo-cli/issues)
- Crates.io (https://crates.io/crates/yoo)
- npm (https://www.npmjs.com/package/@nihitde_v/yoo)
## Privacy
yoo only reads local environment, project, and Git information. It has no telemetry, accounts, daemon, or external AI
service.
## Page: `Installation`
````md
# Installation
Choose one installation method. You do not need to install `yoo` more than once.
## WinGet
Windows users can install `yoo` with WinGet:
```powershell
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 (Troubleshooting)
page.
## Page: `Usage`
````md
# Usage
Run `yoo` inside a project directory:
```bash
yooFor faster output without the typing animation:
yoo --fast| 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 |
yoo --fast
yoo --no-art
yoo --plain
yoo --name YourName
yoo --theme tokyo-nightAvailable themes:
neonoceanmonodraculatokyo-nightgruvboxnordrose-pinecatppuccin
cd path/to/project
yoo projectThis displays information such as:
- Project name and language
- Project version
- Package manager
- Source-file statistics
- Git branch and working-tree status
- Common repository files
yoo doctorThis checks Rust, Cargo, Git, Rustfmt, Clippy, configuration, project detection, and repository state.
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.
Start the configured default timer:
yoo sessionStart a 45-minute timer:
yoo session 45The alternative syntax is:
yoo session --minutes 45Print a tip from the configured pack:
yoo tipSelect a specific pack:
yoo tip rustList all available packs:
yoo tipsBuilt-in packs include general, git, linux, and rust.
Create the default configuration:
yoo initPrint its location:
yoo configConfiguration locations:
Windows: %APPDATA%\yoo\config.yaml
Linux: ~/.config/yoo/config.yaml
macOS: ~/Library/Application Support/yoo/config.yaml
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
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 (https://github.com/nihitdev/yo-cli/issues)
## Page: Troubleshooting
# Troubleshooting
## Command not found
If the terminal cannot find `yoo`, restart the terminal after installation.
Check whether it is available:
### Windows
```powershell
Get-Command yoocommand -v yooAlso make sure your package manager's binary directory is included in PATH.
Create the default configuration:
yoo initA configuration file is optional. The built-in defaults work without one.
Print the expected configuration path:
yoo configMake sure:
- You are running
yooinside a Git repository. - Git is installed.
- The
gitcommand is available inPATH.
Check Git with:
git --version
git statusRun yoo from the project root containing files such as:
Cargo.tomlpackage.jsonpyproject.tomlgo.modpom.xml-
.slnor.csproj
Then run:
yoo projectColour is automatically disabled when appropriate. If output is redirected, use plain output explicitly:
yoo --plainOtherwise, use a terminal with ANSI colour support.
cargo install yoo compiles the project locally.
Use Cargo Binstall for a prebuilt binary:
cargo binstall yooJSON output cannot be combined with display options.
This is invalid:
yoo project --json --plainUse:
yoo project --jsonyoo doctorOpen an issue and include:
- Operating system
- Installation method
- Output from
yoo --version - Output from
yoo doctor - The exact command and error message
Contributions to yoo are welcome. Keep changes focused and avoid adding unnecessary dependencies or complexity.
- Git
- Rust 1.85 or newer
- Cargo
- Rustfmt
- Clippy
Install the Rust toolchain through rustup if necessary.
Fork the repository, then clone your fork:
git clone https://github.com/YOUR-USERNAME/yo-cli.git
cd yo-cliBuild and run the project:
cargo build
cargo run -- --fastRun these checks before opening a pull request:
cargo fmt --check
cargo test --locked
cargo clippy --locked -- -D warnings
cargo build --release --locked- 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
yoolocal-first and lightweight. - Do not add telemetry or unnecessary network services.
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
- Create a branch.
- Make and test your changes.
- Commit with a clear message.
- Push the branch to your fork.
- Open a pull request against the
mainbranch.
Example:
git switch -c fix/project-detection
git add .
git commit -m "fix: improve project detection"
git push --set-upstream origin fix/project-detectionOpen an issue with:
- A clear description
- Steps to reproduce the problem
- Expected and actual behaviour
- Operating system
-
yooversion - Relevant command output