Open Source Alternatives LogoOpen Source Alternatives
AlternativesBlogAdvertise
Open Source Alternatives LogoOpen Source Alternatives

Stay Updated

Subscribe to our newsletter for the latest news and updates about Alternatives

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Product
  • Categories
  • Tag
  • Advertise
Resources
  • Blog
  • Collection
  • Submit
  • Advertise your tool
Company
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap
Alternatives
  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
Copyright © 2026 All Rights Reserved.
Home/Categories/Developer Tools/Onefetch
icon of Onefetch

Onefetch

Analyze local Git repositories with Onefetch, a Rust-based command-line tool showing code language breakdowns, contributor history, and project stats offline.

12.1K starsRustMITActive this week
Visit websiteGitHub repo
image of Onefetch
Contents
  1. 01Who Onefetch is for
  2. 02The problem it solves
  3. 03How it solves it
  4. 04Strengths and trade-offs
  5. 05Onefetch vs alternatives
  6. 06Quick start
  7. 07Tech stack
  8. 08FAQ
  9. 09Similar open-source tools
TL;DR

Onefetch is a command-line Git information tool that displays project stats, language breakdowns, and contributor history for any local Git repository, all in your terminal. Unlike GitHub's web-based insights dashboard or GitLens Pro, Onefetch works entirely offline with no internet connection, no account, and no browser required. MIT licensed and written in Rust, it runs with a single command on Linux, macOS, and Windows. Best for developers who work across multiple local repositories and want an instant, readable repo summary without leaving the terminal.MIT · Rust · 12.1K stars · Active this week

who it's for

Who Onefetch is for#

Developers onboarding to an unfamiliar local codebase

Running `onefetch` in a new repository gives you an instant overview: primary language, license, total contributors, and commit range. This replaces the steps of opening GitHub, navigating to the Insights tab, and cross-referencing the README for license information.

Skip if:

The repository is hosted on GitHub and you have browser access. GitHub's Insights tab covers the same stats visually with no installation required.

Engineers working in airgapped or offline environments

Onefetch requires no internet connection and no external services at runtime. In environments without outbound network access, it provides structured language statistics and project metadata from a local repository where hosted dashboards are unavailable.

Skip if:

You have reliable internet access and your repositories are on a public platform. In that case, the hosted platform's built-in stats are equivalent and require no installation.

CLI-native developers auditing multiple repositories

With `onefetch /path/to/repo` you can inspect multiple repositories quickly from a shell script or a loop. The JSON output mode makes it scriptable for batch analysis of repository metadata across a monorepo or a directory of projects.

Skip if:

You need centralized reporting across a team's entire codebase history. Tools like GitHub Insights or self-hosted GitLab analytics offer aggregated views that Onefetch, as a per-repo local tool, does not provide.

Developers adding project summaries to terminal dotfile setups

A common use case is calling `onefetch` from a shell configuration or project welcome script so that entering a repository directory automatically shows project stats. This fits workflows where developers use Neofetch-style terminal information displays.

Skip if:

Your team does not primarily work in terminals. Onefetch has no IDE integration, so its value is limited to terminal-centric workflows.

the problem

The problem it solves#

Getting a useful summary of a local Git repository usually means opening a browser and navigating to GitHub's web interface, which requires an internet connection and only works for repositories that have been pushed to a remote host. Running individual git commands (git log, git shortlog, git ls-files) gives fragments of information that you have to assemble manually; none of them show language breakdowns or project-level metadata in a readable format.

For developers working with multiple local repositories, reviewing a new codebase, or working in environments without internet access, this gap creates friction. There is no built-in way to get a quick, unified view of a local repository's language composition, contributor history, and license from the command line.

how Onefetch solves it

How it solves it#

Language detection for 100+ programming languages

Onefetch identifies the languages present in a repository and renders an ASCII art logo for the primary one, matched by file extension and content. The website lists 124 supported languages. By default only programming and markup types are counted; passing `--type prose data` adds Markdown, JSON, YAML, and TOML to the breakdown.

Fully offline operation

All data comes from the local `.git` directory. Onefetch makes no network requests at runtime, reads no external APIs, and requires no authentication tokens. This makes it usable in airgapped environments and on repositories that have never been pushed to a remote.

JSON and YAML output for scripting

Alongside the default terminal display, Onefetch outputs repository data as structured JSON or YAML via `--output json` and `--output yaml` flags. This fits CI pipelines and shell scripts that need machine-readable repository metadata without parsing terminal color codes.

Customizable terminal display

Command-line flags control which information lines appear, adjust text styling, set the color palette, and specify which file types to count. You can ignore specific directories, disable any section, and adjust the display to show exactly what you need in the space available.

Contributor history from Git log

Onefetch reads author data from the Git history and lists top contributors with commit counts. If the same person appears with different names or email addresses, adding a standard `.mailmap` file to the repository root merges the duplicate entries correctly.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • MIT licensed with no runtime dependenciesOnefetch is MIT licensed, meaning you can use it in commercial environments, modify it, and distribute modified versions with no restrictions. At runtime it has no external dependencies beyond the local Git repository. No API keys, no accounts, and no analytics calls.
  • Rust performance with 12,000 GitHub stars and active developmentWritten in Rust, Onefetch runs fast even on large repositories. With over 12,000 GitHub stars, active development since 2018, and a last push in October 2026, it has a stable community and a history of maintained releases across Linux, macOS, and Windows.
  • Works on any local repository regardless of hostingBecause Onefetch reads the local `.git` directory directly, it works on any repository regardless of where it is hosted or whether it has a remote configured. GitHub's web stats require the repo to be on GitHub; Onefetch works on GitLab-hosted, self-hosted, or entirely local repositories the same way.

Trade-offs

  • -CLI only, no GUI or shareable reportsOnefetch is strictly a terminal tool. There is no web dashboard, no IDE plugin, and no shareable report URL. If your workflow requires a visual interface or you need to share stats with non-technical stakeholders, you will need to export JSON or YAML and process the output yourself.
  • -Duplicate contributor entries without .mailmapWhen contributors use different email addresses or display names across commits, Onefetch shows them as separate entries. This is a limitation of reading raw git history. Merging duplicates requires manually creating a `.mailmap` file in the repository, which not every project maintains.
  • -Language detection excludes prose and data files by defaultBy default, Onefetch counts only programming and markup languages, hiding Markdown, JSON, YAML, TOML, and similar files from the stats breakdown. Repositories with significant documentation or configuration may show skewed language percentages unless you pass `--type prose data`.
versus alternatives

Onefetch vs alternatives#

Onefetch vs GitHub Repository Insights

GitHub's built-in Insights tab shows commit activity, contributor breakdowns, traffic, and language composition for repositories hosted on GitHub. For developers already using GitHub, it requires no installation and the interface includes charts and graphs.

FeatureOnefetchGitHub Insights
LicenseMITProprietary (GitHub product)
Works offlineYesNo
Works on local-only reposYesNo
InstallationPackage manager binaryNo install required
Output formatsTerminal, JSON, YAMLWeb interface only
Private repo accessAny local repoRequires GitHub account and push

Onefetch is the better choice when you need stats for a repository that is not on GitHub, or when you are in an environment without internet access. It also fits terminal-centric workflows where opening a browser is friction. GitHub Insights is the better fit when you want historical commit graphs, traffic data, or the polished visual charts that a web interface provides.

Onefetch vs GitLens Pro

GitLens is a VS Code extension that adds git history visualization and code authorship features. The free tier covers blame annotations and basic history; GitLens Pro adds team-level insights, workspace views, and organization-level analytics.

FeatureOnefetchGitLens Pro
LicenseMITProprietary (paid tiers)
Works outside an IDEYes (terminal)No (VS Code only)
InstallationSingle binaryVS Code extension
Offline capabilityFullPartial (some features need network)
Language breakdownYesNo
CostFreeFree tier + paid Pro tier

Onefetch is the better choice when you work outside VS Code, need a quick terminal summary without opening an IDE, or want language composition data. GitLens Pro is the better fit when you want inline blame annotations, a visual file history, or team-level analytics integrated directly into your editor.

install · quick start

Quick start#

bash
Install Onefetch using your system package manager; binaries for Linux, macOS, and Windows are also available on the GitHub releases page.
```bash
brew install onefetch
```
tech stack · detected from GitHub

What it's built on#

Languages
Rust
Frameworks
Svelte
frequently asked

FAQ#

Does Onefetch require an internet connection or a GitHub account?

No. Onefetch reads entirely from the local .git directory and makes no network requests. It works on any local repository regardless of whether it has ever been pushed to a remote, and requires no accounts or API keys. This makes it usable in fully offline or airgapped environments.

Why does Onefetch not detect my programming language?

By default, Onefetch counts only programming and markup file types. Languages classified as prose (Markdown, Org mode, plain text) or data (JSON, YAML, TOML) are excluded from the default display. Pass --type programming markup prose data to include all file types in the language breakdown.

Why do some contributors appear more than once in Onefetch output?

Onefetch reads author data from the git log. If the same person committed with different names or email addresses across their commit history, git treats them as separate authors and Onefetch reflects that. To merge duplicate identities, add a .mailmap file to the repository root using the standard git mailmap format documented at git-scm.com/docs/gitmailmap.

Can Onefetch output repository data in a machine-readable format?

Yes. Onefetch supports --output json and --output yaml flags that print repository metadata as structured data instead of the styled terminal view. This is useful for shell scripts, CI pipelines, or any tooling that needs to consume repository statistics programmatically.

Is Onefetch free to use in commercial projects?

Yes. Onefetch is MIT licensed. You can use it in personal projects, commercial environments, internal tooling, and CI pipelines without restriction. The source code is on GitHub at github.com/o2sh/onefetch and modifications or forks are welcome under the same MIT terms.

also worth a look

Similar open-source tools#

Duckle

Duckle

Self-hosted ETL on DuckDB with 385 connectors and no per-row billing.

1.5KRustApache-2.0
Herdr

Herdr

Agent runtime that keeps terminals alive across machines

43.3KRustApache-2.0
CodeBoarding

CodeBoarding

Review code changes as architecture maps, not line diffs

2.5KPythonMIT
ax

ax

Declarative runtime for autonomous agent workloads

13.4KGoApache-2.0
orbi

orbi

self-hosted, open-source (AGPL-3.0) AI coding agent

215PythonAGPL-3.0
worktrunk

worktrunk

Git worktree management for parallel AI agents

9.2KRustMIT OR Apache-2.0

Repository

Stars
12.1K
Forks
333
License
MIT
Latest
3.0.0
Last commit
1 day ago
Last verified
Oct 13, 2026
Repo
o2sh/onefetch ↗

Additional details

Language
Rust
Open issues
62
Contributors
165
First release
2018

Categories

Developer ToolsDevOps & CI/CD

Tags

CLIDeveloper ToolsGitCodingDevOps Tools