remark

A plugin-powered markdown processor that parses, transforms, and serializes markdown on top of unified.

Library
npm
v15.0.1
8,979stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
60/100Good
Development Activity32
Maintenance48
Community60
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
90/100Excellent
Architecture88
Code Quality92
Innovation90
Learning Curve80

remark is a markdown processor built on the unified collective. It parses markdown into a structured mdast syntax tree, lets a pipeline of plugins inspect and transform that tree, and serializes it back to markdown. The core remark package is a thin, frozen preset that wires remark-parse and remark-stringify onto a unified processor, so you get a ready-to-use markdown-in, markdown-out pipeline.

Because everything flows through the shared unist/mdast tree, remark powers everything from linting and formatting to content migrations and static-site generation. Its plugin ecosystem is one of the largest in the JavaScript world, covering GitHub Flavored Markdown, frontmatter, MDX, syntax tooling, and more.

What You Get

  • A ready-to-use markdown processor exposing the single remark() factory that returns a frozen unified processor.
  • Access to the mdast (markdown AST) representation for programmatic inspection and transformation of documents.
  • A vast plugin ecosystem for GFM, frontmatter, MDX, linting, formatting, and custom transforms.
  • First-class TypeScript types and ESM support with 100% type coverage enforced in CI.

Common Use Cases

  • Programmatically formatting and normalizing markdown files across a repository or docs site.
  • Linting markdown for style and consistency as part of a CI pipeline or editor integration.
  • Transforming markdown content during static-site or content-pipeline builds.
  • Converting between markdown flavors or extracting structured data from markdown documents.

Under The Hood

Architecture remark’s core package (packages/remark/index.js) is deliberately tiny: it imports remark-parse and remark-stringify, chains them onto a unified() processor with .use(...).use(...), and calls .freeze() to lock the preset. All real work happens in the unified ecosystem — remark-parse turns markdown text into an mdast tree via micromark, plugins registered by consumers walk and mutate that tree, and remark-stringify serializes the tree back to markdown. This tree-in-the-middle design is what lets an entire plugin ecosystem interoperate on a single shared data structure (mdast/unist).

Tech Stack The library is pure ESM JavaScript with hand-written TypeScript declarations (index.d.ts). Its runtime dependencies are unified, remark-parse, remark-stringify, and @types/mdast. The monorepo is a pnpm/npm workspace containing remark, remark-parse, remark-stringify, and remark-cli. Tooling includes TypeScript for type-checking and declaration builds, xo + prettier for linting/formatting, and c8 for coverage.

Code Quality Quality standards are unusually high: the project enforces typeCoverage.atLeast: 100 in strict mode, runs xo and prettier, and gates on c8 --100 coverage. Tests live in a 355-line test.js using Node’s built-in node:test runner and assert/strict, exercising the public API surface, settings handling, and the CLI end to end. The public surface of the core package is a single named export, keeping the maintenance burden minimal.

API Design The developer experience is excellent for its scope: remark() returns a standard unified processor, so the API is remark().use(plugin).process(file) with sync (processSync) and async variants. Naming is consistent with the wider unified/remark ecosystem, documentation is extensive (a thorough readme plus getting-started, plugins, and products guides), and getting started requires almost no boilerplate. The main conceptual cost is learning the unified processor model and the mdast tree, which the docs address directly.

Used by 19 apps in this directory

TypeScript
100%
MIT

Botpress

AI Assistants · AI Development · Customer Support

14,872

The open-source hub for building and deploying LLM-powered AI agents with TypeScript-first tooling, 40+ integrations, and a revolutionary code-execution agent framework.

View details
95
Repo Health
82
Technical
66
Dependency
Built with
TypeScript100%
Updated yesterday
Rust
67%
MIT

Bun

Developer Tools

95,452

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
66
Dependency
Built with
Rust67%
C++19%
Updated today
Java
73%
Other

ByteChef

Automation · AI Agents

990

Unified open-source platform for AI agent orchestration and workflow automation with 180+ connectors, MCP support, and durable execution.

View details
81
Repo Health
82
Technical
73
Dependency
Built with
Java73%
TypeScript26%
Updated 2 days ago
TypeScript
89%
Other

FastGPT

AI Agents · AI Development

29,387

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
70
Dependency
Built with
TypeScript89%
Updated today
MDX
50%
Apache 2.0

Formizee

Forms Surveys

183

An open-source form backend and builder platform — design forms, collect submissions, and get analytics without hosting your own server, positioned as an alternative to Formspree and Typeform.

View details
28
Repo Health
59
Technical
68
Dependency
Built with
MDX50%
TypeScript49%
Updated 1 years ago
Python
63%
Apache 2.0

GPT Researcher

Productivity · AI Assistants

29,039

The pioneering open-source autonomous AI agent that conducts deep, multi-source research and produces citation-backed reports exceeding 2,000 words — faster and more reliably than any human researcher.

View details
88
Repo Health
91
Technical
64
Dependency
Built with
Python63%
TypeScript23%
Updated 1 months ago
Rust
47%
MIT

Kuku

Note Taking

204

A local-first, open-source Markdown knowledge workspace for macOS — plain files, personal wiki and Second Brain workflows, AI-assisted diffs, and encrypted sync, built as an Obsidian alternative.

View details
73
Repo Health
67
Technical
68
Dependency
Built with
Rust47%
TypeScript40%
Updated 1 months ago
TypeScript
95%
Other

LLM Gateway

AI Development · Devops

1,555

One API endpoint for 25+ LLM providers — route, track costs, enforce compliance, and switch models without changing your code.

View details
85
Repo Health
80
Technical
72
Dependency
Built with
TypeScript95%
Updated today
TypeScript
99%
Other

LobeHub

AI Assistants · Productivity · Automation

81,816

Your Chief Agent Operator — build, schedule, and collaborate with an entire AI team in one self-hostable workspace.

View details
92
Repo Health
81
Technical
72
Dependency
Built with
TypeScript99%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search