Skip to main content

Development Setup

This guide walks you through setting up a local development environment for the KnowledgePulse monorepo.

Prerequisites

Clone and Install

git clone https://github.com/chesterkuo/OpenKnowledgePulse.git
cd knowledgepulse
bun install

bun install resolves all workspace dependencies across every package in the monorepo.

Monorepo Structure

knowledgepulse/
packages/
sdk/ # @knowledgepulse/sdk -- types, capture, retrieve, scoring, skill-md, migrations
mcp-server/ # @knowledgepulse/mcp -- 7 MCP tools, dual-mode registry bridge
cli/ # @knowledgepulse/cli -- search, install, validate, contribute, auth, security
sop-studio/ # React 19 + Vite + Tailwind CSS v4 + @xyflow/react + shadcn/ui
registry/ # Hono REST API server (PostgreSQL + Redis + memory stores, auth, rate limiting)
specs/ # codegen.ts, validate-consistency.ts, skill-md-extension.md
examples/ # basic-sdk-usage, mcp-client-example, langraph-integration
website/ # Docusaurus 3 docs site (5 locales: en, zh-Hans, ja, ko, es)

Common Tasks

Build the SDK

The SDK is built with tsup and emits ESM, CJS, and TypeScript declaration files.

bun run build

Generate the JSON Schema

Regenerate specs/knowledge-unit-schema.json from the Zod types in the SDK.

bun run codegen

Lint

The project uses Biome for formatting and linting.

bun run lint

Run Tests

All tests are written with bun:test and co-located with their source files as *.test.ts. The full suite comprises 870 tests across 44 files.

bun test --recursive

Start the Registry

The registry is a Hono HTTP server with PostgreSQL + Redis + memory stores. It listens on port 3000 by default.

bun run registry/src/index.ts

Start the MCP Server

The MCP server listens on port 3001 by default. See the MCP Server Setup guide for details on standalone vs. proxy mode.

bun run packages/mcp-server/src/index.ts

Quick Reference

TaskCommand
Install dependenciesbun install
Build SDKbun run build
Generate JSON schemabun run codegen
Lintbun run lint
Run all testsbun test --recursive
Start registry (port 3000)bun run registry/src/index.ts
Start MCP server (port 3001)bun run packages/mcp-server/src/index.ts