Install
For humans
termd ships as two npm packages: the dialect spec and the kernel it plugs into. Node 20+.
npm install @idiomd/core @idiomd/dialect-termd
import { createEngine } from '@idiomd/core';
import { termd } from '@idiomd/dialect-termd';
const engine = createEngine().use(termd);
const doc = engine.parse(glossarySource);
if (doc.errors.length === 0) {
const html = engine.render(doc, { format: 'html' });
}
That renders the register and the term articles.
doc.errors carries validation errors (missing
Definition, out-of-enum status, …) with block
positions. For the JSON index, add the
JSON renderer:
npm install termd-renderer-json
Start a glossary
Create docs/glossary/glossary.md, declare the dialect,
define the first term:
---
dialect: termd
type: Glossary
---
::: term id="example"
# Example
## Definition
The first term of this project's glossary.
Recommended project layout (folder-to-dialect mapping via
idiomd.manifest.json): see the
Byline example
repo — it demonstrates the full convention.
For AI assistants
This domain serves llms.txt: a
machine-readable description of what termd is, where the spec lives,
and how to work with termd documents. Point your assistant at
termd.dev and it can look up the rest itself. A guided
skill install via domain discovery is planned for the family and will
appear here when it ships.
Sources
| Package | Repo |
|---|---|
@idiomd/core |
idiomd/core/idiomd-core |
@idiomd/dialect-termd |
idiomd/dialects/termd/termd-spec |
termd-renderer-html |
idiomd/dialects/termd/termd-renderer-html |
termd-renderer-json |
idiomd/dialects/termd/termd-renderer-json |