Skip to main content

GNOST — Codebase Knowledge

Project description

GNOST — Codebase Knowledge

PyPI Python License

GNOST helps developers understand unfamiliar codebases by automatically identifying entry points, execution flow, and core logic.

It is designed for first-day onboarding, not just code statistics.


What GNOST Does

  • Detects where execution starts
  • Infers high-level execution flow
  • Identifies hotspot files (most important code)
  • Generates onboarding documentation
  • Produces Mermaid flow diagrams
  • Works across multiple languages

Supported languages:

  • Python
  • JavaScript
  • TypeScript
  • Java

Installation

pip install gnost

Quick Start

gnost onboard .

This will:

  • Print a human-readable onboarding summary
  • Generate ONBOARD.md
  • Generate an execution flow diagram

Usage

gnost summary [path]
gnost stats [path]
gnost folders [path]
gnost files [path] --top 10
gnost onboard [path]

Key Commands

  • summary Show a high-level project summary
  • stats Show detailed language statistics
  • folders Show LOC grouped by folder
  • files Show largest files by LOC
  • onboard Generate onboarding summary and flow diagrams
  • version Display GNOST version

Onboarding & Flow Analysis

  • Generate onboarding documentation:
    gnost onboard .
    
  • Generate only a Mermaid flow diagram:
    gnost onboard . --mermaid
    
    This produces:
    • ONBOARD.md — onboarding guide
    • FLOW.mmd — pure Mermaid flow diagram

Options

  • --include Comma-separated folders to include
  • --exclude Comma-separated folders to exclude
  • --top Number of files to show with files
  • --version Show version and exit
  • --help Show help

examples

gnost summary .
gnost stats .
gnost onboard .
gnost onboard . --mermaid
gnost files src --top 20

Philosophy

GNOST is not a static analyzer or linter.

It focuses on:

  • Mental model generation
  • Execution understanding
  • Developer onboarding

It uses heuristic-based static analysis to stay fast, simple, and language-agnostic.

Roadmap

v0.2.0 (Planned)

  • Hotspot visualization in Mermaid diagrams
  • Standalone gnost hotspots command
  • Improved JavaScript / TypeScript import resolution
  • Better framework awareness (Express, Spring MVC)
  • Optional Tree-sitter based parsing for deeper analysis
  • GitHub Action enhancements (PR comments, annotations)

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gnost-0.1.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gnost-0.1.1-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file gnost-0.1.1.tar.gz.

File metadata

  • Download URL: gnost-0.1.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for gnost-0.1.1.tar.gz
Algorithm Hash digest
SHA256 79bbfa8c4d82de10a880221555d4a500ccc2b9e2663a28a6ffa3e824ba71c18d
MD5 a5324dd8b12c44ff0227780da82cc4ba
BLAKE2b-256 ff3703a7be3c4c1e4dd61302b9c20a3aa7a2cff4fec061c74954cda43d7d0dd2

See more details on using hashes here.

File details

Details for the file gnost-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gnost-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for gnost-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f65e474207ffbe4beb4d7a843dc802592c0ad7669664bd499e4e07735ad5ebb
MD5 d72f4afe33dda3b178c6ffc8ed8364f1
BLAKE2b-256 6664832a0d0340444948050bbd9b5657da4d0eb4bd17b28c0bdc29c824f6cbb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page