Skip to main content

GNOST — Codebase Knowledge

Project description

GNOST — Codebase Knowledge

Status 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.0.tar.gz (17.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.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gnost-0.1.0.tar.gz
  • Upload date:
  • Size: 17.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.0.tar.gz
Algorithm Hash digest
SHA256 6d3a48fec223bd8bb04fec3124dd58567a31eafe666a76279d5af3140475df2a
MD5 0cdc42b1dd5dd318de4396116fd2f9a0
BLAKE2b-256 95f6aeb431ebbb4eb1cb6ba7951775fa0a35895e90f2727c9edcb84328390cc5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gnost-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bb168d02208ed434c7e3a900d7c39b8db548670a6b4867100c94c420d89b64d
MD5 15325b2e27d4aed77e0771e54672a582
BLAKE2b-256 b3677aa797001e0be99a2f3b58fdd654523cb7e277c45d0669bbfa8a49e59480

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