remark-gfm

Add GitHub Flavored Markdown support to remark for tables, task lists, footnotes, and strikethrough.

Library
npm
v4.0.1
1,236stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
40/100Fair
Development Activity0
Maintenance20
Community40
Maturity60
Momentum40

Technical Analysis

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

remark-gfm is a plugin for the remark markdown processor that adds support for GitHub Flavored Markdown (GFM) extensions: autolink literals, footnotes, strikethrough, tables, and task lists. It plugs into the unified/remark ecosystem via unified().use(remarkGfm), extending both the markdown parser and the serializer so GFM syntax round-trips correctly through the syntax tree.

Maintained by the unified collective (the same team behind remark, rehype, and mdast), it’s the standard way to make markdown content match how GitHub renders READMEs, issues, and pull requests. It’s ESM-only, fully typed via JSDoc-driven TypeScript, and ships with 100%-enforced test coverage across dedicated fixtures for each GFM feature.

What You Get

  • Support for GFM tables, task lists, strikethrough, footnotes, and autolink literals in one plugin
  • Full round-trip support: parsing GFM markdown into an mdast syntax tree and serializing it back out
  • Configurable options (singleTilde, tablePipeAlign, tableCellPadding, stringLength, firstLineBlank) for fine-tuning parsing and output
  • TypeScript types included out of the box, no separate @types package needed
  • Drop-in compatibility with the wider unified/remark/rehype pipeline (remark-rehype, rehype-stringify, etc.)

Common Use Cases

  • Rendering user-authored markdown (READMEs, docs, comments) with the same GFM features GitHub supports
  • Building static site generators or MDX pipelines that need GitHub-flavored tables and task lists
  • Powering markdown editors and previewers that must match GitHub’s rendering behavior
  • Processing markdown content in CMS or documentation tooling built on unified/remark

Under The Hood

Architecture — remark-gfm follows the unified/remark plugin architecture: a single default-exported attacher function (lib/index.js, 41 lines) that runs in a Processor context (this) and mutates the processor’s data() bag to register three extension arrays — micromarkExtensions (tokenizer-level parsing via micromark-extension-gfm), fromMarkdownExtensions (mdast tree-building via mdast-util-gfm’s gfmFromMarkdown), and toMarkdownExtensions (serialization via gfmToMarkdown). It implements no parsing logic itself, purely composing micromark-extension-gfm and mdast-util-gfm, consistent with the unified ecosystem’s “attacher registers extensions on host processor” pattern. index.js/index.d.ts re-export the default and the Options type, which itself extends MicromarkOptions & MdastOptions from the two delegate packages.

Tech Stack — Pure ESM ("type": "module"), targets Node.js 16+, with types authored via JSDoc @import annotations compiled by tsc under checkJs/strict/exactOptionalPropertyTypes rather than hand-written .d.ts files. Runtime dependencies are all first-party unified-collective packages (mdast-util-gfm, micromark-extension-gfm, @types/mdast, unified/remark-parse/remark-stringify). Dev tooling includes xo (ESLint preset) + prettier, c8 for 100%-enforced coverage, type-coverage for full type-coverage enforcement, remark-cli/remark-preset-wooorm to lint its own docs, and GitHub Actions CI running the test suite across two Node LTS lines with Codecov upload.

Code Quality — Testing is fixture-driven rather than unit-test-heavy: 8 fixture directories (autolink-literal, strikethrough-default/not-one, table, table-no-align, table-no-padding, table-string-length, tasklist), each with input.md/output.md/tree.json compared via node:assert against the parsed tree and round-tripped markdown, with coverage enforced at 100% via c8. Error handling is minimal by design — the attacher does no runtime validation of the options object, appropriate for a small, 41-line compositional plugin. Naming follows unified ecosystem conventions consistently (attacher functions, data() bag, *Extensions arrays), and types are 100%-covered per the type-coverage config.

API Design — Extremely low-boilerplate: a single .use(remarkGfm) call with no required configuration enables all five GFM extensions at once, matching how most consumers actually want it (mirroring github.com’s own rendering). Optional fine-tuning (singleTilde, tablePipeAlign, tableCellPadding, stringLength, firstLineBlank) is exposed via one flat Options object rather than per-feature configuration. Documentation (518-line readme) is thorough, with a worked end-to-end example and two runnable option examples (singleTilde, stringLength) shown as diffs. Naming (remarkGfm) matches ecosystem convention exactly, making it immediately recognizable to anyone who has used other remark plugins.

Used by 139 apps in this directory

TypeScript
99%
Other

Activepieces

Automation · AI Assistants

23,887

Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.

View details
92
Repo Health
85
Technical
65
Dependency
Built with
TypeScript99%
Updated today
TypeScript
94%
MIT

Actual

Invoicing Finance

28,224

Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.

View details
93
Repo Health
85
Technical
77
Dependency
Built with
TypeScript94%
Updated yesterday
TypeScript
100%
Apache 2.0

agentic-inbox

AI Agents · Productivity

6,880

A self-hosted email client with an AI agent that reads your inbox, drafts replies automatically, and exposes full email operations over MCP — running entirely on Cloudflare Workers.

View details
32
Repo Health
74
Technical
77
Dependency
Built with
TypeScript100%
Updated 3 months ago
TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

32,102

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript95%
Updated today
Python
90%
Apache 2.0

Apache Airflow

Data Engineering

46,530

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
66
Dependency
Built with
Python90%
Updated today
TypeScript
51%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,087

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
69
Dependency
Built with
TypeScript51%
Rust38%
Updated today
Go
85%
Apache 2.0

Argo Workflows

Devops · Data Engineering

16,916

The most popular Kubernetes-native workflow engine for orchestrating containerized DAGs, ML pipelines, CI/CD, and parallel batch jobs at scale.

View details
96
Repo Health
90
Technical
70
Dependency
Built with
Go85%
TypeScript11%
Updated today
Python
54%
Other

authentik

Authentication · Security

24,980

The self-hosted Identity Provider that replaces Okta, Auth0, and Entra ID with a unified SSO platform supporting SAML, OAuth2/OIDC, LDAP, RADIUS, and WebAuthn.

View details
92
Repo Health
81
Technical
68
Dependency
Built with
Python54%
TypeScript33%
Updated today
Python
62%
MIT

AutoGen

AI Development · Automation

60,518

Build autonomous and human-in-the-loop multi-agent AI systems with a layered, event-driven Python and .NET framework pioneered at Microsoft Research.

View details
57
Repo Health
78
Technical
75
Dependency
Built with
Python62%
C#25%
TypeScript12%
Updated 4 months ago

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