[![Go Reference](https://pkg.go.dev/badge/forge.lthn.ai/core/go-help.svg)](https://pkg.go.dev/forge.lthn.ai/core/go-help) [![License: EUPL-1.2](https://img.shields.io/badge/License-EUPL--1.2-blue.svg)](LICENSE.md) [![Go Version](https://img.shields.io/badge/Go-1.26-00ADD8?style=flat&logo=go)](go.mod) # go-help Display-agnostic help content management library. Provides a YAML/Markdown topic catalogue, full-text search with inverted index, stemming, fuzzy matching, and relevance scoring, goldmark-based Markdown rendering, an HTTP server with six routes (three HTML, three JSON), a static site generator with client-side JavaScript search, and CLI help text ingestion. No runtime dependency on a database, network, or external service. **Module**: `forge.lthn.ai/core/go-help` **Licence**: EUPL-1.2 **Language**: Go 1.25 ## Quick Start ```go import "forge.lthn.ai/core/go-help" catalog := help.DefaultCatalog() catalog.Add(&help.Topic{ID: "rate-limiting", Title: "Rate Limiting", Content: "..."}) // Search results := catalog.Search("sliding window token") // HTTP server (HTML + JSON routes) srv := help.NewServer(catalog, ":8080") srv.ListenAndServe() // Static site output help.Generate(catalog, "./dist") ``` ## Documentation - [Architecture](docs/architecture.md) — catalog, parser, search engine, HTTP server, static site generator, CLI ingestion - [Development Guide](docs/development.md) — building, testing, benchmarks, coding standards - [Project History](docs/history.md) — completed phases and known limitations ## Build & Test ```bash go test ./... go test -bench=. -benchmem ./... go vet ./... go build ./... ``` ## Licence European Union Public Licence 1.2 — see [LICENCE](LICENCE) for details.