Skip to content

asimov-modules/asimov-git-module

ASIMOV Git Module

License Package on Crates.io Documentation

ASIMOV module for Git repository history. Ingests a repo's commits, authors, parent links, and file-touches as JSON-LD / RDF.

✨ Features

  • Walks a Git repository's history via the git binary (no libgit2).
  • Emits one git:Repository and one git:Commit per commit, with parent (the DAG), touches (changed files), authorDate, and message.
  • One schema:Person per distinct author email — commits authored under multiple display names collapse to one node, with the variants preserved as schema:alternateName.

🛠️ Prerequisites

  • The git binary on $PATH.
  • Rust 1.85+ (2024 edition) if building from source code.

⬇️ Installation

Installation with the ASIMOV CLI

asimov module install git -v

Installation from Source Code

cargo install asimov-git-module

👉 Examples

asimov-git-fetcher -o jsonld ~/repos/asimov/asimov-platform/asimov.rs
asimov-git-fetcher -o cli -n 5 .

⚙ Configuration

This module requires no configuration.

📚 Reference

Installed Binaries

  • asimov-git-fetcher

asimov-git-fetcher

Ingest a Git repository's history (commits, authors, file changes) as RDF.

Usage: asimov-git-fetcher [OPTIONS] [REPO]

Arguments:
  [REPO]  Path to the Git repository (default: current directory) [default: .]

Options:
  -o, --output <FORMAT>  Output format: jsonld (default) or cli [default: jsonld]
  -n, --max <N>          Limit to the N most recent commits (default: all)
  -d, --debug            Enable debugging output
      --license          Show license information
  -v, --verbose...       Enable verbose output (may be repeated for more verbosity)
  -V, --version          Print version information
  -h, --help             Print help

👨‍💻 Development

git clone https://github.com/asimov-modules/asimov-git-module.git

Vocabulary

This module emits an inline git: namespace (Commit, Repository, authoredBy, parent, touches, authorDate, inRepository) alongside schema:Person from KNOW. A future revision will upstream the git: terms into KNOW and emit through its typed structs.


About

ASIMOV module for Git repository history (commits, authors, file changes).

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors