An open API service indexing awesome lists of open source software.

https://github.com/stackgenhq/genie

Genie: an Agent who tells you what its trying to do.
https://github.com/stackgenhq/genie

agent ai assistant golang own-your-data reactree secure

Last synced: 3 months ago
JSON representation

Genie: an Agent who tells you what its trying to do.

Awesome Lists containing this project

README

          

# 🧞 genie (by Stackgen)

[![Go Reference](https://pkg.go.dev/badge/github.com/stackgenhq/genie.svg)](https://pkg.go.dev/github.com/stackgenhq/genie)
[![Go Report Card](https://goreportcard.com/badge/github.com/stackgenhq/genie)](https://goreportcard.com/report/github.com/stackgenhq/genie)
[![CI](https://github.com/stackgenhq/genie/actions/workflows/go-test.yml/badge.svg)](https://github.com/stackgenhq/genie/actions/workflows/go-test.yml)
[![License: Apache 2.0 + BSL 1.1](https://img.shields.io/badge/License-Apache%202.0%20%2B%20BSL%201.1-blue.svg)](./LICENSING.md)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12058/badge)](https://www.bestpractices.dev/projects/12058)
[![Release](https://img.shields.io/github/v/release/stackgenhq/genie)](https://img.shields.io/github/v/release/stackgenhq/genie)
[![Scorecard](https://api.scorecard.dev/projects/github.com/stackgenhq/genie/badge)](https://scorecard.dev/viewer/?uri=github.com/stackgenhq/genie)
[![codecov](https://codecov.io/gh/stackgenhq/genie/graph/badge.svg?token=8DPGF0MP08)](https://codecov.io/gh/stackgenhq/genie)

Generative Engine for Natural Intent Execution

> **"Your intent is my command."**

`genie` is an **Enterprise Agentic Platform** powered by [Stackgen](https://stackgen.com). Describe what you need — across code, operations, security, and beyond — and let `genie` plan and execute it.

> **🚧 Early Stage — API Surface Evolving**
>
> Genie is under active development and not yet at v1.0. Library interfaces, method signatures, and configuration schemas may change between minor releases as we refine the platform based on real-world usage and community feedback. We follow [Semantic Versioning](https://semver.org/) — breaking changes are always documented in the [CHANGELOG](./CHANGELOG.md). If you're building on top of Genie, we recommend pinning to a specific release and watching the changelog for migration notes.

---

## ✨ Enterprise Differentiators

`genie` is a platform designed for reliability, compliance, and scale.

* **ReAcTree Execution Engine**: A deterministic, multi-stage reasoning engine that ensures verifiable plans.
* **Agentic Execution**: Plans, decomposes, and executes complex multi-step tasks autonomously with sub-agent orchestration.
* **Governance & Audit**: Built-in Human-in-the-Loop (HITL) guardrails and immutable audit logs ensure strict compliance.
* **Multi-Model Routing**: Intelligently routes tasks to the best model (OpenAI, Gemini, Anthropic, Ollama, HuggingFace) for cost and performance.
* **Enterprise Integrations**: Seamlessly integrates with **OpsVerse ObserveNow** for full-stack observability and **Aiden** for automated incident response.
* **Skills & MCP**: Extensible via a file-based skills system and full MCP protocol support.

---

## 🚀 Get Started

### Prerequisites

* **Go 1.25+** (only for building from source)
* **CGO enabled** — required for SQLite via GORM (`CGO_ENABLED=1` is set by default on most platforms)

### Installation

**Homebrew (macOS / Linux):**

```bash
brew install stackgenhq/homebrew-stackgen/genie
```

**Go install:**

```bash
CGO_ENABLED=1 go install -mod=mod github.com/stackgenhq/genie@latest
```

**Build from source:**

```bash
git clone https://github.com/stackgenhq/genie.git
cd genie
make build # binary at build/genie
make install # install to $GOPATH/bin
```

**Docker:**

```bash
docker run --rm -it \
-v ~/.genie.toml:/home/genie/.genie.toml \
-v $(pwd):/workspace \
ghcr.io/stackgenhq/genie:latest grant
```

**GitHub Releases:**
Download pre-built binaries for macOS, Linux, and Windows from the
[Releases](https://github.com/stackgenhq/genie/releases) page.

**Windows (Scoop):**

```powershell
scoop bucket add stackgen https://github.com/stackgenhq/homebrew-stackgen
scoop install genie
```

### Local Development Stack (Qdrant + Docling)

For local testing with vector memory and document parsing, use the included Docker Compose stack:

```bash
docker compose up -d # start Qdrant + Docling Serve
docker compose logs -f # tail logs (Docling takes ~2 min for ML model init)
docker compose down # stop (data persisted in volumes)
docker compose down -v # stop and delete all data
```

| Service | Port | Purpose |
|---------|------|---------|
| **Qdrant** | `6333` (REST/Dashboard), `6334` (gRPC) | Vector store |
| **Docling Serve** | `5001` | Document parser (PDF, DOCX, images → structured text) |

**Validate the pipeline:**

```bash
go run -mod=mod ./cmd/parser/main.go # parse built-in sample
go run -mod=mod ./cmd/parser/main.go ./path/to/file.pdf # parse your own file
```

See [compose.yaml](./compose.yaml) for full configuration details.

### Grant Your First Wish

Ready to see the magic? Run the interactive wizard:

```bash
genie
```

Or use the explicit command:

```bash
genie grant
```

### Deploying on Cloud Instances (EC2, Azure VM, GCP Compute)

Want to run Genie as a shared service for your team? Deploy it on a cloud instance with persistent storage and systemd management.

#### Option 1: Docker Deployment (Recommended)

```bash
# 1. Install Docker on your instance
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 2. Create a config directory
mkdir -p ~/.genie
nano ~/.genie/genie.toml # Add your configuration

# 3. Run Genie with Docker
docker run -d \
--name genie \
--restart unless-stopped \
-p 9876:9876 \
-v ~/.genie:/home/genie/.config \
-v /var/lib/genie/data:/workspace \
-e OPENAI_API_KEY="${OPENAI_API_KEY}" \
ghcr.io/stackgenhq/genie:latest grant
```

#### Option 2: Binary Installation with Systemd

**For EC2 (Amazon Linux / Ubuntu):**

```bash
# 1. Download and install the binary
curl -L https://github.com/stackgenhq/genie/releases/latest/download/genie_Linux_x86_64.tar.gz -o genie.tar.gz
tar xzf genie.tar.gz
sudo mv genie /usr/local/bin/
sudo chmod +x /usr/local/bin/genie

# 2. Create a genie user
sudo useradd -r -s /bin/false genie
sudo mkdir -p /etc/genie /var/lib/genie
sudo chown genie:genie /var/lib/genie

# 3. Create configuration
sudo nano /etc/genie/genie.toml
# Add your model config, see config.toml.example

# 4. Create systemd service
sudo tee /etc/systemd/system/genie.service > /dev/null < **Why call it Genie?** Because at Stackgen, we believe complex tasks should feel like magic. Just express your intent and consider it granted.

---

## 🤝 Join the Movement

We are redefining agentic automation. If you want to contribute, check out our [contribution guidelines](./CONTRIBUTING.md).

1. Fork the repo.
2. Create your feature branch.
3. Submit a PR.

---

## 📜 Community & Governance

| Document | Purpose |
|---|---|
| [Contributing Guide](./CONTRIBUTING.md) | How to contribute, build, and test |
| [Code of Conduct](./CODE_OF_CONDUCT.md) | Community behavior standards |
| [Security Policy](./SECURITY.md) | How to report vulnerabilities |
| [Changelog](./CHANGELOG.md) | Release notes and history |
| [Licensing](./LICENSING.md) | Apache 2.0 / BSL 1.1 |

---

**Built with ✨ by [Stackgen](https://stackgen.com).**
*Complex tasks are hard. Being a Genie is easy.*

---