Skip to main content

Recon CLI

Recon is a powerful CLI companion for developers and tools for agents, turning GitHub activity and repository data into useful insights from your terminal.

MIT License CI Python PyPI License

Overview

Recon allows for developers to view basic GitHub analytics in the terminal quickly, rather than opening up their browser. This means it allows agents to interect with the service without having browser capabilities.

It is powered by Typer, a library for building fast CLI tools, and made pretty by Rich and it's prebuilt components.

Features

  • GitHub Authentication — Securely authenticate with GitHub using OAuth device flow.
  • User Information — View information about your authenticated GitHub account.
  • Repository Explorer — List and inspect GitHub repositories directly from the terminal.
  • Repository Statistics — Explore repository languages, contributors, and other useful statistics.
  • Rich Terminal UI — Clean, structured terminal output powered by Rich.
  • Fast CLI Workflow — Quickly access GitHub information without leaving the command line.
  • Modular Architecture — Built with reusable services and components to make Recon easy to maintain and extend.
  • Automated Testing — Tested with an automated CI pipeline to help maintain reliability and code quality.

Installation

Since we want you to be able to use Recon from anywhere - not just one directory - we recomend you install it with uv package manager.

  uv tool install recon-github

For the best experience, then login to your GitHub account (this step is not strictly required).

  recon login

Usage

Here you can learn how to get started with terminal commands, and learn how to find more.

View Your GitHub Profile

The me command displays information about your authenticated GitHub account.

recon me

Example output:

╭────── Owen Palfreyman ───────╮ ╭──────────────────────────────╮
│ Repositories  2              │ │                              │
│ Followers     7              │ │                              │
│ Following     2              │ │                              │
│ Location      United Kingdom │ │                              │
│ Company       —              │ │                              │
│ Joined        2023-11-02     │ │                              │
╰───── @owenpalfreymandev ─────╯ │                              │
                                 ╰──────────────────────────────╯

Scout Another GitHub User

Use scout to explore another GitHub user's profile.

recon scout torvalds

Example output:

╭──────── Linus Torvalds ────────╮ ╭──────────────────────────────╮
│ Repositories  12               │ │                              │
│ Followers     318572           │ │                              │
│ Following     0                │ │                              │
│ Location      Portland, OR     │ │                              │
│ Company       Linux Foundation │ │                              │
│ Joined        2011-09-03       │ │                              │
╰────────── @torvalds ───────────╯ │                              │
                                   ╰──────────────────────────────╯

List Your Repositories

The list command displays your GitHub repositories.

recon list

This provides a quick way to see your repositories before using details to explore a specific project.

Authentication

Recon uses GitHub's device flow for authentication.

To log in:

recon login

To log out:

recon logout

Explore a Repository

The details command gives you an overview of a GitHub repository.

recon details owenpalfreymandev fpark

The command takes two arguments:

  • owner — The GitHub username or organisation that owns the repository.
  • repo — The name of the repository.

Need Some Help?

Not sure what a command can do? Recon has built-in help for every command.

recon details --help

This shows you the available arguments and options for the command, including additional ways to get information from a repository.

Usage: recon details [OPTIONS] {owner} {repo}

Gain insights into your repo

Arguments:
  owner    Repository owner, e.g. owenpalfreymandev
  repo     Repository name, e.g. reconcli

Options:
  --contributors    View contributors in more detail.
  --languages       View language usage in more detail.
  --help            Show this message and exit.

For example, the --languages option can be used to get a more detailed breakdown of the languages used in a repository:

recon details owenpalfreymandev fpark --languages
╭──────────────────────────────────────────────────────────╮
│                        LANGUAGES                         │
│                 owenpalfreymandev/fpark                  │
╰──────────────────────────────────────────────────────────╯
4 languages returned by GitHub · 100% of reported code

LANGUAGE BREAKDOWN
──────────────────────────────────────────────────────────
1    TypeScript                        279.9 KB
    ████████████████████████████████  95.9%

2    PLpgSQL                             7.0 KB
    █                                 2.4%

3    CSS                                 4.3 KB
    █                                 1.5%

4    JavaScript                           559 B
    █                                 0.2%
──────────────────────────────────────────────────────────
Showing all 4 languages

Explore Further

These are just some of the commands available in Recon. There are plenty more options to play with, with more commands and features coming soon. Check the roadmap for more details.

Contributing

Contributions are always welcome!

To clone the repo and download all dependencies, run:

git clone https://github.com/owenpalfreymandev/reconcli.git
uv sync

You can run unit tests and type tests with:

uv run pytest
uv run pyright

Be sure to lint before commiting, or it will fail CI/CD:

uv run ruff check --fix .

Workflow

A basic workflow to follow is:

  1. Fork the repository
  2. Create a branch
  3. Make changes
  4. Run tests/lint/type checks
  5. Open a PR

License

Recon is licensed under the MIT License. See the LICENSE file for details.

Author

Recon is developed by Owen Palfreyman.

GitHub: @owenpalfreymandev Repository: owenpalfreymandev/reconcli

or could could just run recon details owenpalfreymandev reconcli --contributors wink wink

Release files for recon-github 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recon-github 0.1.6
File Size Uploaded
recon_github-0.1.6.tar.gz 52.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for recon-github 0.1.6
File Interpreter ABI Platform
recon_github-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 67.6 kB

Release files / recon_github-0.1.6.tar.gz

Download URL recon_github-0.1.6.tar.gz
Size 52.6 kB
Tags Source
SHA-256 checksum
How to use checksums
45f0a52fe05c54c745d95c6c6dfd1ec06250e4b1f7f478c746b9f8400940254e
BLAKE2b-256 checksum
How to use checksums
9380daff77b695fa4d3c530b9eaabfd54eb7484a52a9d2207f0e35e287f7580b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / recon_github-0.1.6-py3-none-any.whl

Download URL recon_github-0.1.6-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d400562b580f161bd9458f8f89597c4a6d52e551c839af0ca600f00fd45e51c
BLAKE2b-256 checksum
How to use checksums
8ca569ca04806ea4943fef74d684be48579b62c1104946821f807c3797ea7d76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.7

2 release files

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page