Skip to content

Packages

aha-go is organized into focused packages for specific functionality.

Package Overview

Package Import Description
aha github.com/grokify/aha-go Core client and entity types
graphql github.com/grokify/aha-go/graphql GraphQL API client
canvas github.com/grokify/aha-go/canvas Strategic canvas operations
browser github.com/grokify/aha-go/browser HTML entity browser
render github.com/grokify/aha-go/render Diagram generation

Core Package

The root package provides the main client and all entity types.

import aha "github.com/grokify/aha-go"

client, err := aha.NewClient()

// Entity operations
features, _ := client.ListFeatures(ctx, "PRODUCT")
ideas, _ := client.ListIdeas(ctx, "PRODUCT")
releases, _ := client.ListReleases(ctx, "PRODUCT")

Sub-packages

graphql

Execute GraphQL queries against Aha.io's GraphQL API.

import "github.com/grokify/aha-go/graphql"

client := graphql.NewClient("mycompany", "api-key")

var result graphql.SearchDocumentsResponse
err := client.Query(ctx, graphql.SearchDocumentsQuery, map[string]any{
    "query":          "onboarding",
    "searchableType": []string{"Page"},
}, &result)

Full graphql documentation

canvas

Create and export strategic canvases.

import "github.com/grokify/aha-go/canvas"

// Create Business Model Canvas
bmc := canvas.BusinessModelCanvas{
    Name: "Product BMC",
    // ...
}

Full canvas documentation

browser

Serve Aha data as a browsable HTML interface.

import "github.com/grokify/aha-go/browser"

server := browser.New(client, browser.Options{
    Port: 8080,
})
server.Start()

Full browser documentation

render

Generate diagrams from Aha data.

import "github.com/grokify/aha-go/render"

mermaid := render.ReleasesToMermaid(releases, render.MermaidOptions{})

Full render documentation

API Reference

For complete API documentation, see pkg.go.dev.