Fork me on GitHub

Machai Project

Machai is a GenAI-powered tool for automated creation, registration, and enhancement of software projects. It streamlines project assembly and library integration within the Machanism ecosystem using AI-driven semantic search and metadata management. The project consists of multiple modular components related to a GenAI client, core utilities, command-line interfaces, and Maven plugins for enhanced project automation.

Modules

  • genai-client: GenAI client for interacting with AI-powered services and endpoints.
  • bindex-core: Core utilities and abstraction for metadata indexing and semantic search.
  • cli: Command-line interface for executing project automation tasks.
  • bindex-maven-plugin: Maven plugin for integrating indexing and semantic features in the build process.
  • assembly-maven-plugin: Maven plugin for advanced project assembly and packaging.
  • ghostwriter: Automated project content generation using AI.
  • gw-maven-plugin: Maven plugin to integrate Ghostwriter AI features and automation.

Installation

Clone the repository and build with Maven:

# Prerequisites
# - Java 9 or newer
# - Maven 3.6.0 or newer

git clone https://github.com/machanism-org/machai.git
cd machai
mvn clean install

Usage

Each module can be used separately or composed as part of broader automation:

  • To run the CLI:
cd cli
mvn exec:java
  • Maven plugins (bindex-maven-plugin, assembly-maven-plugin, gw-maven-plugin) can be added to your project pom.xml:
<plugin>
  <groupId>org.machanism.machai</groupId>
  <artifactId>gw-maven-plugin</artifactId>
  <version>0.0.2-SNAPSHOT</version>
</plugin>

Refer to each submodule's README for details and advanced usage instructions.

Contributing

We welcome contributions!

  • Follow code style and best practices adopted in the project.
  • Submit pull requests with clear descriptions and reference related issues if applicable.
  • Use GitHub Issues for bug reports and feature requests.
  • Review code and documentation before submitting.

License

This project is licensed under the Apache License, Version 2.0.

Contact & Support