An open API service indexing awesome lists of open source software.

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.

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).