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
- Host: GitHub
- URL: https://github.com/vdsbenoit/pr-parser
- Owner: vdsbenoit
- License: mit
- Created: 2025-10-28T15:59:22.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-01-22T00:51:05.000Z (5 months ago)
- Last Synced: 2026-01-22T13:59:39.878Z (5 months ago)
- Language: TypeScript
- Size: 64.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)