LinuxCommandLibrary

onefetch

Display project information and source code statistics

TLDR

Display statistics for the Git repository in the current working directory

$ onefetch
copy

Display statistics for the Git repository in the specified directory
$ onefetch [path/to/directory]
copy

Ignore commits made by bots
$ onefetch --no-bots
copy

Ignore merge commits
$ onefetch --no-merges
copy

Don't print the ASCII art of the language logo
$ onefetch --no-art
copy

Show n authors, languages, or file churns (default: 3, 6, and 3 respectively)
$ onefetch --number-of-[authors|languages|file-churns] [n]
copy

Ignore the specified files and directories
$ onefetch [[-e|--exclude]] [path/to/file_or_directory|regular_expression]
copy

Only detect languages from the specified categories (default: programming and markup)
$ onefetch [[-T|--type]] [programming|markup|prose|data]
copy

SYNOPSIS

onefetch [OPTIONS] [PATH]

PARAMETERS

-h, --help
    Show help message and exit.

-v, --version
    Show version information and exit.

-a, --ascii-input
    Takes the content of a file as ASCII input.

-c, --config
    Specify a custom configuration file. If no config is provided onefetch will attempt to find one in the default locations.

-d, --disable-fields
    Disable certain fields from appearing in the output. Example: --disable-fields "OS, Package manager"

-k, --key-values
    Show the key-value pairs in the output (e.g. "OS: Linux").

-l, --languages
    Display the percentage of each language used in the repository.

-n, --no-bold
    Disable bold text in output.

-o, --output
    Specify the output format. Supported formats: json.

-p, --package-managers
    Show the package managers used in the repository.

-s, --short
    Short output (only shows the project name, author, and languages).

-t, --title
    Set a custom title. Defaults to the repository name.

[PATH]
    Path to the repository. Defaults to current directory.

DESCRIPTION

Onefetch is a command-line tool to display information about a software project directly from your terminal. It detects the project repository (Git, Mercurial, etc.) and retrieves details such as language breakdown, dependencies, contributors, license, and creation date. Onefetch aims to provide a clean and visually appealing summary of a project's characteristics without needing to open a web browser. It supports customization through configuration files, allowing users to tailor the output to their preferences. It is particularly useful for quickly assessing the nature of a project, identifying potential dependencies, and understanding the project's development history and contributors. Onefetch can be executed inside a git repository, where it will find relevant information to display, or can be executed on a standalone file to obtain information about its format and size. Onefetch displays the information in a structured and readable way, making it easier to quickly grasp key aspects of the project.

CAVEATS

The accuracy of the information depends on the repository's structure and the completeness of its metadata.

CONFIGURATION

Onefetch can be configured using a configuration file. The default locations for the configuration file are: $XDG_CONFIG_HOME/onefetch/config.toml, $HOME/.config/onefetch/config.toml, ./.onefetch.toml. The configuration file allows you to customize the ASCII art, colors, disabled fields, and other aspects of the output.

HISTORY

Onefetch is a relatively recent tool designed to address the need for quick and easy project information retrieval directly from the command line. It has gained popularity among developers seeking a convenient way to understand project characteristics without relying on web interfaces. The development has focused on expanding the range of supported languages and package managers, improving the accuracy of information extraction, and enhancing the customization options available to users.

SEE ALSO

git(1), ls(1)

Copied to clipboard