Skip to content

Latest commit

 

History

History
64 lines (39 loc) · 1.98 KB

File metadata and controls

64 lines (39 loc) · 1.98 KB

ABCoder: AI-Based Coder(AKA: A Brand-new Coder)

ABCoder

Overview

ABCoder, an AI-oriented code-processing SDK, is designed to enhance coding context for Large-Language-Model (LLM), and boost developing AI-assisted-coding applications.

Features

  • Universal Abstract Syntax Tree (UniAST), an language-independent, AI-friendly specification of code information, providing a flexible and structrual coding context for both AI and hunman.

  • General Parser, parses abitary-language codes to UniAST.

  • General Writer, transforms UniAST back to codes.

  • (Comming Soon) General Iterator, a framework for visiting the UniAST easily and implementing batch-code-processing workflows.

  • (Comming Soon) Code RAG, provides a set of tools and functions to help the LLM understand your codes much deeper than ever.

Based on these features, developers can easily implement or enhance their AI-assisted-coding applications, such as reviewing, optimizing, translating, etc.

Universal-Abstract-Syntax-Tree Specification

see UniAST Specification

Getting Started

  1. Install ABCoder:
go install github.com/cloudwego/abcoder@latest
  1. Use ABCoder to parse a repository to UniAST (JSON)
abcoder parse {language} {repo-path} > ast.json
  1. Do your magic with UniAST...
  2. Use ABCoder to write a UniAST back to codes
abcoder write {language} ast.json

Supported Languages

ABCoder currently supports the following languages:

Language Parser Writer
Go
Rust Coming Soon
C Coming Soon

Getting Involved

We encourage developers to contribute and make this tool more powerful. If you are interested in contributing to ABCoder project, kindly check out our guide:

Note: This is a dynamic README and is subject to changes as the project evolves.