diff --git a/README.md b/README.md new file mode 100644 index 0000000..c32c010 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# 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.