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)
canvas¶
Create and export strategic canvases.
import "github.com/grokify/aha-go/canvas"
// Create Business Model Canvas
bmc := canvas.BusinessModelCanvas{
Name: "Product BMC",
// ...
}
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()
render¶
Generate diagrams from Aha data.
import "github.com/grokify/aha-go/render"
mermaid := render.ReleasesToMermaid(releases, render.MermaidOptions{})
API Reference¶
For complete API documentation, see pkg.go.dev.