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

https://github.com/vdsbenoit/pr-parser

Generate nice screenshot table for GitHub PRs
https://github.com/vdsbenoit/pr-parser

Last synced: 28 days ago
JSON representation

Generate nice screenshot table for GitHub PRs

Awesome Lists containing this project

README

          

# PR Parser

A Deno-powered macOS utility for formatting clipboard content. This tool provides two main features:
1. **PR Title Formatting**: Converts plain text into standardized PR titles with ticket identifiers and part suffixes
2. **Screenshot Tables**: Converts HTML image tags into organized comparison tables for documentation and pull requests

> [!NOTE]
> **Disclaimer:** This project is 100% vibe coded ✨

## Quickstart
Install deno, clone the repo, and install the project

```sh
brew install deno
git clone https://github.com/vdsbenoit/pr-parser.git
cd pr-parser
deno task build:install
```

Then use it :

**PR title formatting**
- Cut a PR title (`cmd` + `X`)
- Press `cmd` + `space`
- Type `PRP`
- Press enter
- The formatted title is automatically pasted

**Screenshot tables**
- Drag & drop screenshots to a PR description
- Cut all the HTML `` tags generated by GitHub (`cmd` + `X`)
- Press `cmd` + `space`
- Type `PRP`
- Press enter
- The table is automatically pasted

Read [USAGE.md](USAGE.md) for more details.

## Features

### PR Title Formatting
- Parse ticket identifiers from plain text (e.g., "Mb 80 another feature" → "MB-80 Another feature")
- Handle "no ticket" cases (converts to "no-ticket")
- Extract and format part suffixes (e.g., "part 1" → "[PART-1]")
- Automatic capitalization of feature names

### Screenshot Tables
- Organize screenshots in a tabular format
- Create before/after comparison tables
- Support for standalone image displays
- Automatic grouping by category
- Simple CLI interface (src/main.ts)
- Extensible architecture for custom workflows

## Getting Started

### Prerequisites
- [Deno](https://deno.land/) installed (v2.0+)

```sh
brew install deno
```

### Installation
Clone the repository:
```sh
git clone https://github.com/vdsbenoit/pr-parser.git
cd pr-parser
```

### CLI usage

#### PR Title Formatting
Copy plain text to clipboard (e.g., "Mb 80 feature name"), then run:

```sh
deno run --allow-run src/main.ts
```

The formatted title (e.g., "MB-80 Feature name") will be copied back to your clipboard.

**Examples:**
- `Mb 80 feature name` → `MB-80 Feature name`
- `Saas 1234 feature name part 1` → `SAAS-1234 [PART-1] Feature name`
- `no ticket feature name` → `no-ticket Feature name`

Read [USAGE.md](USAGE.md) for more details.

#### Screenshot Tables

Copy HTML with `` tags to clipboard, then run:

```sh
deno run --allow-run src/main.ts
```

An organized HTML table will be copied back to your clipboard.
Read [USAGE.md](USAGE.md) for more details.

### Running Tests
```sh
deno test
```

### Build the macOS App
```sh
deno task build:app
```

Then double-click on the app in the `/app` directory.

#### Install the app on your system (macOS only)
```sh
deno task build:install
```

## Project Structure
- `src/main.ts` - Entry point for the CLI
- `src/main.test.ts` - Test suite
- `src/` - Library modules (clipboard, parsing, table generation)
- `app/` - macOS app bundle
- `dist/` - The build output directory
- `deno.json` - Deno configuration

## Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

## License
[MIT](LICENSE)