YAML-based help catalog with topic search
Find a file
Snider 628eb15851
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 58s
chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:45:37 +00:00
.forgejo/workflows ci: add Forgejo Actions test and security scan workflows 2026-02-23 03:28:02 +00:00
docs docs: graduate TODO/FINDINGS into production documentation 2026-02-20 15:01:55 +00:00
templates feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
.editorconfig chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:37 +00:00
.gitignore chore: add gitignore entries for IDE/build artifacts 2026-02-20 09:15:27 +00:00
.golangci.yml chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:37 +00:00
catalog.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
catalog_test.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
CLAUDE.md docs: graduate TODO/FINDINGS into production documentation 2026-02-20 15:01:55 +00:00
CONTRIBUTING.md chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:37 +00:00
generate.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
generate_test.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
go.mod chore: sync workspace dependency versions 2026-02-22 21:41:53 +00:00
go.sum feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
ingest.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:17 +00:00
ingest_test.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
parser.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
parser_test.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
README.md chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:37 +00:00
render.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
render_test.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
search.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
search_bench_test.go test: complete Phase 0 hardening — 124 tests, 94% coverage, 8 benchmarks 2026-02-20 04:43:48 +00:00
search_test.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
server.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
server_test.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
stemmer.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
stemmer_test.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
Taskfile.yml chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig) 2026-02-23 06:45:37 +00:00
templates.go feat: modernise to Go 1.26 iterators and stdlib helpers 2026-02-23 05:32:21 +00:00
templates_test.go feat(help): Phase 2 — HTTP server, rendering, static site generator, CLI ingestion 2026-02-20 08:50:10 +00:00
topic.go feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00

Go Reference License: EUPL-1.2 Go Version

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

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 — catalog, parser, search engine, HTTP server, static site generator, CLI ingestion
  • Development Guide — building, testing, benchmarks, coding standards
  • Project History — completed phases and known limitations

Build & Test

go test ./...
go test -bench=. -benchmem ./...
go vet ./...
go build ./...

Licence

European Union Public Licence 1.2 — see LICENCE for details.