Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"

- name: Install linting tools
run: |
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest

- name: Run tests
run: pytest tests/ -v
Expand All @@ -33,12 +33,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v3
uses: azure/setup-helm@v4
with:
version: v3.12.3

- name: Lint Helm chart
run: helm lint helm/
run: helm lint infra/helm/agentic-ai-assistant/
5 changes: 3 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"

- name: Install MkDocs
run: |
Expand Down
21 changes: 15 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,38 @@
# HelixAgent Dockerfile
# ==============================

# Base image
# ── Stage 1: Build Java planner JAR ─────────────────────────────────────────
FROM maven:3.9-eclipse-temurin-11-slim AS java-builder
WORKDIR /build
COPY java/ java/
RUN cd java && mvn package -q

# ── Stage 2: Runtime image ──────────────────────────────────────────────────
FROM python:3.10-slim

# Set working directory
WORKDIR /app

# Install system dependencies
# System dependencies (C++ compiler for libvector.so)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
curl \
&& rm -rf /var/lib/apt/lists/*

# Copy requirements first for caching
# Python dependencies
COPY requirements.txt .

# Install Python dependencies
RUN pip install --upgrade pip \
&& pip install -r requirements.txt

# Copy project files
COPY . .

# Compile C++ cosine-similarity library
RUN g++ -O3 -shared -std=c++17 -fPIC agent/cpp/vector.cpp -o agent/cpp/libvector.so

# Copy compiled Java planner JAR from build stage
COPY --from=java-builder /build/java/target/planner.jar agent/java/planner.jar

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use the Maven-configured JAR path in Docker COPY

Update this COPY --from=java-builder source path to match where mvn package writes the artifact; otherwise Docker builds fail at image creation time. In this commit, java/pom.xml configures maven-jar-plugin to emit planner.jar into ../agent/java, but this line still copies from /build/java/target/planner.jar, which does not exist in the builder stage.

Useful? React with 👍 / 👎.


# Expose ports for FastAPI (8000) and Streamlit (8501)
EXPOSE 8000 8501

Expand Down
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
# make helm-up # upgrade Helm release (local Kube context)
# make tf-plan # terraform plan (infra/terraform)
# make tf-apply # terraform apply (infra/terraform)
# make cpp-build # compile C++ cosine-similarity library
# make java-build # compile Java planner JAR via Maven
# make build-native # compile both C++ and Java artifacts
# --------------------------------------------------------------------

PYTHON ?= python
Expand Down Expand Up @@ -37,6 +40,23 @@ lint:
dev:
uvicorn api.main:app --reload --port 8000

# --------------------------------------------------------------------
# Native build targets
# --------------------------------------------------------------------
.PHONY: cpp-build
cpp-build:
g++ -O3 -shared -std=c++17 -fPIC agent/cpp/vector.cpp -o agent/cpp/libvector.so
@echo "✓ agent/cpp/libvector.so built"

.PHONY: java-build
java-build:
cd java && mvn package -q
@echo "✓ agent/java/planner.jar built"

.PHONY: build-native
build-native: cpp-build java-build
@echo "✓ All native artifacts built"

# --------------------------------------------------------------------
# Docker targets
# --------------------------------------------------------------------
Expand Down
47 changes: 30 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,37 @@
An **AI-powered agent framework** designed for modular automation, reasoning, and decision-making.
Capstone-ready • Production-aware • Built for extensibility.

### 📊 Project Health & Features
HelixAgent — Autonomous AI Agent System

![Python](https://img.shields.io/badge/Python-3.10+-blue?logo=python)
![TypeScript](https://img.shields.io/badge/TypeScript-Agent%20Layer-blue?logo=typescript)
![Go](https://img.shields.io/badge/Go-Backend-blue?logo=go)
![LLM](https://img.shields.io/badge/LLM-Integrated-purple)
![Agents](https://img.shields.io/badge/AI-Agents-orange)
![LangChain](https://img.shields.io/badge/LangChain-Orchestration-green)
![RAG](https://img.shields.io/badge/RAG-Pipeline-blue)
![FastAPI](https://img.shields.io/badge/FastAPI-Inference-green?logo=fastapi)
![Streamlit](https://img.shields.io/badge/Streamlit-UI-red?logo=streamlit)
![Docker](https://img.shields.io/badge/Docker-Containerized-blue?logo=docker)
![Kubernetes](https://img.shields.io/badge/Kubernetes-Orchestrated-blue?logo=kubernetes)
![Helm](https://img.shields.io/badge/Helm-Charts-blue?logo=helm)
![CI/CD](https://img.shields.io/badge/CI/CD-GitHub%20Actions-black?logo=githubactions)
![Terraform](https://img.shields.io/badge/Terraform-IaC-purple?logo=terraform)
![Ansible](https://img.shields.io/badge/Ansible-Automation-red?logo=ansible)
![Observability](https://img.shields.io/badge/Observability-Enabled-orange)
![Grafana](https://img.shields.io/badge/Grafana-Monitoring-orange?logo=grafana)
![Prometheus](https://img.shields.io/badge/Prometheus-Metrics-yellow?logo=prometheus)
![License](https://img.shields.io/badge/License-MIT-green)
![Status](https://img.shields.io/badge/Status-Production--Ready-brightgreen)
![Stars](https://img.shields.io/github/stars/Trojan3877/HelixAgent?style=social)
![Forks](https://img.shields.io/github/forks/Trojan3877/HelixAgent?style=social)
![Autonomous](https://img.shields.io/badge/Autonomous-Agents-critical)
![Multi-Agent](https://img.shields.io/badge/Multi--Agent-System-blue)
![Real-Time](https://img.shields.io/badge/Real--Time-Decisioning-green)
![Scalable](https://img.shields.io/badge/Scale-Horizontal-blue)
![Microservices](https://img.shields.io/badge/Architecture-Microservices-black)
![Latency](https://img.shields.io/badge/Latency-Low-critical)

![CI/CD](https://github.com/Trojan3877/HelixAgent/actions/workflows/ci.yml/badge.svg)
![Lint](https://github.com/Trojan3877/HelixAgent/actions/workflows/ci-cd.yml/badge.svg?label=Lint)
![Docker](https://img.shields.io/badge/Docker-ready-brightgreen?logo=docker&logoColor=white)
![Helm](https://img.shields.io/badge/Helm-Packaged-brightgreen?logo=helm&logoColor=white)
![Observability](https://img.shields.io/badge/Monitoring-Prometheus%20%26%20OpenTelemetry-brightgreen?logo=prometheus&logoColor=white)
![Last Commit](https://img.shields.io/github/last-commit/Trojan3877/HelixAgent?logo=git&label=Last%20Commit&color=brightgreen)
![Repo Size](https://img.shields.io/github/repo-size/Trojan3877/HelixAgent?logo=github&label=Repo%20Size&color=brightgreen)
![Contributions](https://img.shields.io/badge/Contributions-Welcome-brightgreen?logo=github)
![Style](https://img.shields.io/badge/Code%20Style-Black-brightgreen?logo=python&logoColor=white)
![Docs](https://img.shields.io/badge/Docs-MkDocs%20Live-brightgreen?logo=readthedocs&logoColor=white)

</div>

---

## 📖 Overview

HelixAgent is a **modular AI agent framework** that enables automation of tasks, reasoning chains, and integration with external APIs. It is designed for:

Expand Down
Loading
Loading