Skip to content

bounded-systems/git-ast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Git AST: A Language-Aware Git Extension

Git AST provides language-aware extensions for Git, leveraging Abstract Syntax Trees (ASTs) instead of traditional line-based diffs. This enhances Git with semantic understanding, leading to more meaningful history, easier merges, and enhanced code consistency.

Value Proposition

Why use Git AST?

  • Cleaner Diffs: Focus on meaningful code changes, ignore formatting noise
  • Smarter Merges: Reduce conflicts caused by code movement or non-competing structural edits
  • Consistent Formatting: Enforce a canonical code style automatically across your repository

How It Works

Git AST leverages Git's clean and smudge filters to operate on the structure of your code:

  1. When You Commit: Source code is parsed into a syntax tree (AST/CST) and stored in Git
  2. When You Check Out: The stored tree is converted back into consistently formatted source code

This structural approach lets you focus on semantic changes rather than textual differences.

Getting Started

Documentation

Core Documentation

Technical Documentation

Concepts and Reference

  • Key Concepts - Detailed explanation of core concepts
  • Glossary - Definition of terms
  • FAQ - Frequently asked questions

Contributing

For a full documentation overview, see Documentation Index.

Project Status

Current Phase: Proof of Concept (POC) refinement

This project is under active development. The current focus is on refining the architecture to use Git's clean/smudge filters for seamless integration, leveraging Tree-sitter to parse source files into structured representations.

License

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

Contributing

We welcome contributions! Please see our contribution guidelines for how to get involved.

About

Language-aware Git: AST-based diffs and merges instead of line-based — cleaner history, fewer conflicts.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages