# Goon: Autonomous AI Worker for Software Development and Custom Workflows

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/harisaginting-goon
Generated for open source discovery and AI-assisted research.

Goon is a self-hosted, autonomous AI worker designed to streamline software development and automate custom workflows. Built with Go and having zero dependencies, it operates as a daemon, capable of tasks from writing code and opening PRs to summarizing emails and monitoring logs. It learns from your context and asks for human approval before acting, ensuring controlled and intelligent automation.

GitHub: https://github.com/harisaginting/goon
OSRepos URL: https://osrepos.com/repo/harisaginting-goon

## Summary

Goon is a self-hosted, autonomous AI worker designed to streamline software development and automate custom workflows. Built with Go and having zero dependencies, it operates as a daemon, capable of tasks from writing code and opening PRs to summarizing emails and monitoring logs. It learns from your context and asks for human approval before acting, ensuring controlled and intelligent automation.

## Topics

- ai
- autonomous-agents
- golang
- llm
- productivity
- automation
- software-development
- daemon

## Repository Information

Last analyzed by OSRepos: Tue Sep 15 2026 00:32:06 GMT+0100 (Western European Summer Time)
Detail views: 1
GitHub clicks: 1

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

Goon is an autonomous AI worker designed to streamline software development and automate a wide range of custom workflows. It operates as a self-hosted daemon, built with Go, and boasts zero external dependencies, making it a lightweight and robust solution. Goon continuously works in the background, learning from your context, and intelligently asks for human approval before executing sensitive actions, ensuring controlled and efficient automation for your team.

## Why Use Goon and Key Benefits

Goon stands out from other AI tools by offering continuous, daemon-like operation, integrating deeply into your team's workflow. Its key benefits include:

*   **Board Integration**: Polls Jira or GitHub Issues to automatically pick up the next task.
*   **Custom Workflows**: Define any workflow, from code generation to email summaries and log monitoring, using a simple `workflow.json` configuration.
*   **Human Approval Gates**: Ensures control with mandatory human approval via web UI, Telegram, or CLI before any sensitive actions are taken.
*   **Automated PRs**: Branches, commits, and pushes code to GitHub, GitLab, or Bitbucket, opening pull requests automatically.
*   **Self-Learning and Memory**: Builds persistent memory by learning your conventions, repository layout, and past decisions, distilling insights into `LEARNED.md`.
*   **Multi-LLM Routing**: Route planning, coding, and review tasks to different LLM providers and models based on specific needs.
*   **Local and Offline Support**: Works with local LLMs like Ollama, enabling offline operations.
*   **Telegram Interface**: Manage approvals, review PRs, and interact with Goon from your mobile device.
*   **Google Workspace Integration**: Connects to Calendar, Gmail, Tasks, and GCP logs for enhanced context and automation.
*   **Zero Dependencies**: Built with Go and only standard library, ensuring minimal overhead and easy deployment.

## Installation

Getting started with Goon is straightforward, requiring Go 1.21+ and no additional runtime dependencies.

**Install with `go install`:**

sh
go install github.com/harisaginting/goon@latest
goon start --web=:8080
# open http://localhost:8080 ? Settings ? configure your LLM + board


**Build from source:**

sh
git clone https://github.com/harisaginting/goon
cd goon && make install


## Examples

Goon supports various modes for interaction, from one-shot tasks to continuous daemon operation.

**Offline smoke test (no API key needed):**

sh
GOON_LLM_PROVIDER=mock \
GOON_MOCK_REPLIES='{"tool":"finish","args":{"message":"done"}}' \
goon "say hi"


**Real one-shot tasks:**

sh
goon config set GOON_LLM_PROVIDER openai
goon config set OPENAI_API_KEY sk-...

goon "list every .go file under internal/" --explain   # plan only, no execution
goon "tidy go.mod"                                     # dry-run (default)
goon "fix the typo in README.md" --auto                # execute automatically


Goon's flexibility extends to custom workflows defined in `workflow.json`. For example, you can set up a daily email digest that reads Gmail, summarizes unread threads, and posts to Telegram, or a log monitoring workflow that scans GCP logs for errors and opens incident tickets.

## Links

*   **GitHub Repository**: [https://github.com/harisaginting/goon](https://github.com/harisaginting/goon)
*   **Official Website**: [https://harisaginting.github.io/goon/](https://harisaginting.github.io/goon/)