Contributing to Gentle AI banner
Gentleman-Programming Gentleman-Programming

Contributing to Gentle AI

AI community intermediate

Description

Thank you for your interest in contributing to **Gentle AI** (`gga`) — a Go TUI installer for AI agent environments. Before you dive in, please read this guide fully. We have a structured workflow to

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for Gentleman-Programming/gentle-ai, shared by 4 entries in this directory. It describes the repository, not this entry specifically.

Contributing to Gentle AI

Thank you for your interest in contributing to **Gentle AI** (`gga`) — a Go TUI installer for AI agent environments.

Before you dive in, please read this guide fully. We have a structured workflow to keep the project organized and maintainable.


Table of Contents


Issue-First Workflow

**No PR without an issue. No exceptions.**

This project follows a strict issue-first workflow:

  1. Open an issue using the appropriate template (Bug Report or Feature Request)
  2. Wait for approval — a maintainer will add the status:approved label when the issue is ready to be worked on
  3. Comment on the issue to let others know you're working on it
  4. Open a PR referencing the approved issue

PRs that are not linked to an approved issue will be **automatically rejected** by CI.


Label System

Type Labels (applied to PRs)

Label Description
type:bug Bug fix
type:feature New feature or enhancement
type:refactor Code refactoring, no functional changes
type:docs Documentation only
type:test Test coverage additions
type:chore Build, CI, tooling changes
type:breaking Breaking change

Status Labels (applied to Issues)

Label Description
status:needs-review Newly opened, awaiting maintainer review
status:approved Approved for implementation — work can begin
status:in-progress Being worked on
status:blocked Blocked by another issue or external dependency
status:wont-fix Out of scope or won't be addressed

Priority Labels

Label Description
priority:critical Blocking issues, security vulnerabilities
priority:high Important, affects many users
priority:medium Normal priority
priority:low Nice to have

Development Setup

Prerequisites

  • Go 1.24+
  • Docker (for E2E tests)
  • Git

Clone and Build

git clone https://github.com/Gentleman-Programming/gentle-ai.git
cd gentle-ai
go build -o gga .

Run Locally

./gga

Testing

Unit Tests

Run the full unit test suite:

go test ./...

Run tests for a specific package:

go test ./internal/tui/...

Run with verbose output:

go test -v ./...

E2E Tests

E2E tests are Docker-based shell scripts. Docker must be running.

cd e2e
chmod +x docker-test.sh
./docker-test.sh

⚠️ E2E tests spin up con