https://github.com/shakedlokits/diffuser
CriticMarkup viewer for the terminal.
https://github.com/shakedlokits/diffuser
cli criticmarkup diff markdown prose terminal
Last synced: 2 months ago
JSON representation
CriticMarkup viewer for the terminal.
- Host: GitHub
- URL: https://github.com/shakedlokits/diffuser
- Owner: shakedlokits
- License: gpl-3.0
- Created: 2026-03-30T12:47:10.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2026-03-31T12:57:17.000Z (2 months ago)
- Last Synced: 2026-03-31T14:46:20.662Z (2 months ago)
- Topics: cli, criticmarkup, diff, markdown, prose, terminal
- Language: Python
- Homepage: https://pypi.org/project/diffuser-cli/
- Size: 27.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
```
██████╗ ██╗███████╗███████╗██╗ ██╗███████╗███████╗██████╗
██╔══██╗██║██╔════╝██╔════╝██║ ██║██╔════╝██╔════╝██╔══██╗
██║ ██║██║█████╗ █████╗ ██║ ██║███████╗█████╗ ██████╔╝
██║ ██║██║██╔══╝ ██╔══╝ ██║ ██║╚════██║██╔══╝ ██╔══██╗
██████╔╝██║██║ ██║ ╚██████╔╝███████║███████╗██║ ██║
╚═════╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
```
CriticMarkup viewer for the terminal.
## Getting Started
### Installation
```bash
pip install diffuser-cli
```
Or with uv:
```bash
uv tool install diffuser-cli
```
### Quick Example
Given a markdown file with CriticMarkup annotations:
```markdown
The system processed the data and {~~returned results to~>delivered results
back to~~} the user.
```
Render it in the terminal with color-coded annotations:
```bash
diffuser view my-document.md
```
## Background & Rationale
Writing blog posts in markdown is straightforward until you start editing.
You change a sentence, rewrite a paragraph, cut a section. The next morning,
you're not sure what you changed or why. Git solves this for code, but
version control for prose is a different problem. You don't want branches
and merge conflicts for a blog post. You want to see what changed, right
there in the text.
Fletcher Penney saw this clearly. Penney is the creator of
[MultiMarkdown](https://fletcherpenney.net/multimarkdown/). He has spent
years building tools for writers who think in plain text. Together with Gabe
Weatherhead, he created [CriticMarkup](http://criticmarkup.com): five
simple inline annotations that track changes without leaving the document.
`{++add this++}`, `{--remove this--}`, `{~~old~>new~~}`. No external
tooling. No version control. Just the text.
The idea was brilliant. I just needed it in the terminal. That's diffuser.
## Agent Skill
If you want to use an agent to help you with writing, there's a skill to
guide it on how to use CriticMarkup when suggesting changes:
```bash
npx skills add shakedlokits/diffuser
```
## Development
### Setup
```bash
git clone https://github.com/shakedlokits/diffuser.git
cd diffuser
uv sync
```
### Running
```bash
uv run diffuser view my-document.md
```
### Running Tests
```bash
uv run pytest
```
### Releasing
```bash
git tag v0.1.0
git push origin v0.1.0
```
## Credits
CriticMarkup was created by [Fletcher Penney](https://fletcherpenney.net/)
and [Gabe Weatherhead](http://macdrifter.com). Full specification at
[criticmarkup.com](http://criticmarkup.com/spec.php).