discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
ProseMirror/prosemirror · source
Snapshot 0 · 2026-11-04T12:47:23Z · JavaScript · MIT
Content fingerprint
b50ffc4a7be150c5f24bc7bddfbebea9f5c73d15f4581e5cd7d434b0c82a4cabGitHub description at capture
The ProseMirror WYSIWYM editor
README at capture
**This repository has moved to https://code.haverbeke.berlin/prosemirror/prosemirror**
# prosemirror
[ [**WEBSITE**](https://prosemirror.net) | [**ISSUES**](https://code.haverbeke.berlin/prosemirror/prosemirror/issues) | [**FORUM**](https://discuss.prosemirror.net) ]
ProseMirror is a well-behaved rich semantic content editor based on
contentEditable, with support for collaborative editing and custom
document schemas.
The ProseMirror library consists of a number of separate
[modules](https://code.haverbeke.berlin/prosemirror/). This repository just
serves as a central issue tracker, and holds a script to help easily
check out all the core modules for development.
The [project page](https://prosemirror.net) has more information, a
number of [examples](https://prosemirror.net/examples/) and the
[documentation](https://prosemirror.net/docs/).
This code is released under an
[MIT license](https://code.haverbeke.berlin/prosemirror/prosemirror/src/branch/main/LICENSE).
There's a [forum](http://discuss.prosemirror.net) for general
discussion and support requests, and the
[bug tracker](https://code.haverbeke.berlin/prosemirror/prosemirror/issues)
is the place to report issues.
**STOP READING HERE IF YOU'RE SIMPLY _USING_ PROSEMIRROR. YOU CAN
INSTALL THE SEPARATE [NPM
MODULES](https://www.npmjs.com/search?q=prosemirror-) FOR THAT. THE
INSTRUCTIONS BELOW ONLY APPLY WHEN _DEVELOPING_ PROSEMIRROR!**
## Setting up a dev environment
Clone this repository, and make sure you have
[node](https://nodejs.org/en/) installed.
Next, from the cloned directory run:
bin/pm install
This will fetch the submodules, install their dependencies, and build
them.
The `bin/pm` script in this repository provides functionality for
working with the repositories:
* `bin/pm build` rebuilds all the modules
* `bin/pm watch` sets up a process that automatically rebuilds the
modules when they change
* `bin/pm status` prints the git status of all submodules
* `bin/pm commit <args>` runs `git commit` with the given arguments
in all submodules that have pending changes
* `bin/pm test` runs the (non-browser) tests in all modules
* `bin/pm push` runs `git push` in all modules
* `bin/pm grep <pattern>` greps through the source code for the
modules for the given pattern
* `bin/pm dev-start` starts a server that rebuilds the packages
whenever their sources change, and exposes the demo (`demo/*`)
under a webserver on port 8080
(Functionality for managing releases will be added in the future.)
## Community
Development of ProseMirror happens in the various repositories exposed
under the [ProseMirror](https://code.haverbeke.berlin/prosemirror/) organization
on code.haverbeke.berlin. Bugs for core packages are tracked in the [bug
tracker](https://code.haverbeke.berlin/prosemirror/prosemirror/issues) for the
meta repository.
We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.