Skip to content
Projects
📖

Glossary

Open Source

A self-hosted glossary platform for curating the terms an organization actually uses. People search it; tools look up surfaces through the API.

Next.js 16TypeScriptPostgreSQLpgvectorDrizzle ORMDockerApache-2.0

Overview

Company terminology ends up scattered across spreadsheets and Confluence, and one concept drifts around under many spellings like Auto Exposure, AE, and 자동노출. Spreadsheet glossaries collapse because each row is both a concept and a spelling.

Glossary separates concepts (Terms) from spellings (Surfaces), so people reach the right entry without knowing the standard form, and duplicates are caught at registration. Tools like AI-Lint query surfaces through the OpenAPI to validate documents, and the unregistered candidates they find are reviewed by people and fed back into the glossary.

Open source under the Apache-2.0 license. Tuned for Korean workplaces where technical terms are used alongside English, and self-hosted via a Docker image.

Features

  • Single dictionary — duplicate checks on normalized surface keys at registration; homonyms split by domain tags
  • Surface lookup API — OpenAPI 3.1, up to 500 surfaces per call, Bearer token auth
  • Wiki-grade docs — Markdown, images, Mermaid, and math; every edit kept as a revertible revision
  • Relation graph and Confluence embeds — explore by owner, type, business category, and topic
  • Glossary-grounded chatbot — Gemini, OpenAI-compatible, or Ollama; add terms and review edits in chat
  • RAG search — hybrid semantic search with pgvector embeddings and an optional reranker
  • Shared cleanup workspace — triage table, AI review queue, duplicate merging, spreadsheet import
  • Company SSO — configurable OIDC/OAuth 2.0 with JWKS signature, issuer, audience, and nonce checks

How It Works

1

Register

Write a name and a one-line definition, then link abbreviations and aliases as surfaces. Duplicates are caught up front.

2

Search

Unfamiliar abbreviations and aliases resolve to the same concept through normalized surface keys.

3

Look up

Document checkers query surfaces through the API to tell preferred forms from discouraged or forbidden ones.

4

Feed back

People review unregistered candidates and suggested edits, and every change lands in the revision history.

Tech Stack

  • Next.js 16 (App Router) + React 19 — web UI and REST API
  • PostgreSQL 16 + pg_trgm + pgvector — search, similarity, and embeddings
  • Drizzle ORM — schema and migrations
  • Turborepo + pnpm — engine, db, and web monorepo
  • Docker Hub image — self-hosted deployment