Skip to content

Module: Knowledge Base

Knowledge base integration with pluggable providers. Ships with Notion, Confluence, Google Docs, and Coda providers out of the box, plus an in-memory mock for testing. All providers normalize content to markdown. Includes a data-pipeline IngestSource adapter for bridging pages into document ingestion workflows. Factory-based registry, circuit breakers per instance, OTel metrics, and native fetch throughout.

Namemodule-knowledge-base-ts
Version0.1.0
Categorycomposable-modules
LicenseApache-2.0
Personaengineering
Tagsknowledge-base, notion, confluence, google-docs, coda, markdown, typescript
Sourcetemplates/module-knowledge-base-ts

Render it

Three front doors, one catalog. Pick whichever suits the caller.

# CLI
npx @nanohype/sdk render module-knowledge-base-ts --out ./my-app

# SDK
import { LocalSource, renderTemplate } from "@nanohype/sdk";
const result = await renderTemplate(source, "module-knowledge-base-ts", variables);

# MCP — from an agent
get_template({ name: "module-knowledge-base-ts" })

Prerequisites

ToolVersionWhy
node>=22Node.js runtime for the knowledge base module

Variables

Required

ProjectName string
Kebab-case project name, used as package name and directory Must be lowercase kebab-case starting with a letter.

Optional

Description string — defaults to Knowledge base integration with pluggable providers
Short project description for package.json and README
Provider string — defaults to notion
Default knowledge base provider (notion, confluence, google-docs, coda, mock, or a custom name)

What it produces

27 files. Placeholder names such as __APP_NAME__ are what the renderer substitutes into.

.env.example
.gitignore
biome.json
package.json
README.md
src/knowledge-base/__tests__/adapter.test.ts
src/knowledge-base/__tests__/mock.test.ts
src/knowledge-base/__tests__/registry.test.ts
src/knowledge-base/bootstrap.ts
src/knowledge-base/config.ts
src/knowledge-base/index.ts
src/knowledge-base/ingest/adapter.ts
src/knowledge-base/logger.ts
src/knowledge-base/metrics.ts
src/knowledge-base/providers/coda.ts
src/knowledge-base/providers/confluence.ts
src/knowledge-base/providers/google-docs.ts
src/knowledge-base/providers/index.ts
src/knowledge-base/providers/mock.ts
src/knowledge-base/providers/notion.ts
src/knowledge-base/providers/registry.ts
src/knowledge-base/providers/types.ts
src/knowledge-base/resilience/__tests__/circuit-breaker.test.ts
src/knowledge-base/resilience/circuit-breaker.ts
src/knowledge-base/types.ts
tsconfig.json
vitest.config.ts

Composes with