Skip to content

qizwiz/ent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ent (Edit Node Tree)

Ent is a system designed to leverage tree-edit operations for analyzing, modifying, and improving code architecture. The project aims to create an AI-driven issue/feature classifier for GitHub repositories, using advanced tree-edit distance calculations, memoization, and AI-generated code suggestions.

Table of Contents

Overview

Our ultimate goal is to analyze the history of any Git repository, detect churn (repeated changes to specific areas), infer potential architecture improvements, and predict future issues or features.

This project aligns with the ideas discussed in the FASE 2010 paper on OperV, which explores operation-based version control. Ent extends those ideas by incorporating AI, allowing for intelligent decision-making around code changes and architecture predictions.

Features

  • Fine-grained and coarse-grained tree-edit operations (insert, delete, update).
  • AI-assisted subtree hashing and edit sequence generation.
  • Detection of churn points in large repositories.
  • Prediction of future issues/features based on historical patterns.

Installation

To run the Ent system, you'll need:

  • A Common Lisp implementation (SBCL recommended)
  • Quicklisp for dependency management
# Clone the repository
git clone https://github.com/username/ent.git
cd ent

# Start your Lisp implementation
sbcl

Usage

Load the core module in your Lisp environment:

(load "src/core.lisp")

Then use the tree operations:

  • (make-node value &optional children) - Create a new tree node
  • (insert-node tree parent-value new-node) - Insert a node under a parent
  • (delete-node tree value) - Delete a node by value
  • (update-node tree old-value new-value) - Update a node's value

Dependencies

See DEPENDENCIES.md for a full list of dependencies and setup instructions.

Testing

Run the test suite:

(load "tests/test-core.lisp")

Architecture

The system is structured as follows:

  • src/core.lisp - Core tree manipulation functions
  • tests/test-core.lisp - Unit tests for core functionality
  • prompts/ - AI interaction prompts (future feature)

Contributing

Feel free to submit issues and enhancement requests via the issue tracker.

About

Ent is an AI-powered system designed to analyze GitHub repositories, identify churn, and predict future issues or features based on historical patterns and architecture improvements. Inspired by operation-based version control and enhanced by AI-generated code suggestions.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors