OriginBlacklist

OriginBlacklist

An eaglercraft client blacklisting plugin

Features

– Origin based blacklisting
– Client brand based blacklisting
– Username based blacklisting
– IP based blacklisting
– Modular multi-platform support
– JSON5 based configuration
– Kick message customization
– Blacklist MOTD customization
– MiniMessage and legacy formattings supported
– Plugin update checker
– Send blacklist logs to a webhook
– Ingame blacklist management commands
– Blacklist sharing via EaglerXServer routes
– Reverse blacklist (whitelist)
– ~~Subscribe to an auto-updating blacklist~~

Download

The latest release can be found at https://github.com/WebMCDevelopment/originblacklist/releases/latest/

Building

“`sh
$ git clone https://github.com/WebMCDevelopment/originblacklist
$ cd originblacklist
$ gradle wrapper
$ ./gradlew shadowJar
“`

Origami

# Origami

Origami lets you run other jar files inside of your server or proxy, letting you do things like running a lobby inside your proxy server, instead of buying separate hosts.

Note that any running servers you add using Origami will share resources with the parent server – But you may not always need all resources for something like Velocity, allowing you to use spare resources for low-intensity servers like a small lobby.

For support join the [Starshooter](https://discord.gg/dQGaXgxMpg) discord server.

## Installation:
Download and add the Origami jar file to the `plugins` folder on your server, and the Origami folder will be generated inside the plugins folder when you load the server.

## Troubleshooting:
If Origami fails to load or to run jar files, your server host may block plugins from running terminal commands. There isn’t currently any sort of workaround for this other than switching host, though there may be a fix in the future.

If you have any other issues please join the [Starshooter](https://discord.gg/cFXPSPCfsw) discord server and ask for help in the bug reports channel.

## Setup:
To create a program to run within a server, create a new folder e.g. `Lobby` inside of the `plugins/Origami/programs/` folder, and place the jar file you want to run in there.

You should name the jar file `executable.jar` for now, but this can be changed later. For now, boot up the server and let the files generate.

## Configuration:
The origami.yml file, generated inside of the `plugins/Origami/programs/[name of your program]` folder upon running the server, can be used to change various features of the program.

In this file, you can toggle:
– If players with the permission `origami.command` should be able to run the command `/origami [name of program] command [command]` to run commands on the program
– If the program’s output should be displayed in the server console alongside the main console output
– Startup arguments for the jar (here you can do things like add Aikar’s flags if you are running a Minecraft server)
– The name of the jar file to use
– The stop command for the server – “NONE” simply kills the server (for Minecraft servers it is recommended you set this to ‘stop’)

If you experience any issues create an issue on the [github page](https://github.com/cometcake575/Origami/), or message me on my discord, `cometcake575`

## Donate

[ ![Support me on Ko-fi](https://cdn.modrinth.com/data/cached_images/29887a4bb8c2890b0aecf5433bde4e48068d18fe.png)](https://ko-fi.com/cometcake575)

OneVersionRemake

# OneVersionRemake

OneVersionRemake is a simple BungeeCord and Velocity plugin originating from the original plugin [OneVersion] by johnnywoof.
It has been recoded from scratch to bring Velocity support alongside other improvements and new features.

## Features

– Set a list of Protocol Versions that should be able to join your network.
Any Client using a version not defined in the config will be denied access with a customizable kick message (Supports 1.16+ HEX colours).
– Define a MOTD, Player count text and Player count hover for Clients using not allowed versions.
– `{version}` and `{clientVersion}` to display the supported Versions and the client’s version respectively.
OneVersionRemake uses an external JSON file to find the MC version to display for a specific protocol.

## Formatting

OneVersionRemake uses the popular MiniMessage formatting to allow formatted text to display.
The MOTD and Kick message allows the usage of Gradients and 1.16+ HEX colours.

Check the [wiki] to find more information about available options.

## External Connections

OneVersionRemake may establish connections towards external sites on startup for different purposes:

### bStats

The plugin may connect to [bStats](https://bstats.org) to submit anonamous statistics to it.
You may disable this by disabling bStats in the global config located at `plugins/bStats`

You can find the statistics of OneVersionRemake under the following links:

– [BungeeCord][bstats-bungee]
– [Velocity][bstats-velocity]

### Versions.json

The plugin will connect to an external URL to retrieve the default content of its `version.json` file.
This will only happen when the `versions.json` doesn’t exist, or when `UpdateVersions` is set to `true` in the config.yml

Depending on what Version of OneVersionRemake is used will a different URL be accessed:

– v3.11.0 and newer: https://andre601.ch/oneversionremake/protocol_versions.json [[Source][protocol-versions]]
– v3.9.0 – v3.10.0: https://andre601.ch/oneversionremake/versions.json [[Source][versions]]
– v3.8.2 and older: https://raw.githubusercontent.com/Andre601/OneVersionRemake/master/versions.json [[Source][versions-old]]

[oneversion]: https://github.com/johnnywoof/OneVersion
[wiki]: https://ovr.andre601.ch/config

[bstats-bungee]: https://bstats.org/plugin/bungeecord/OneVersionRemake/10340
[bstats-velocity]: https://bstats.org/plugin/velocity/OneVersionRemake/10341

[protocol-versions]: https://codeberg.org/Andre601/website/src/branch/main/docs/oneversionremake/protocol_versions.json
[versions]: https://codeberg.org/Andre601/website/src/branch/main/docs/oneversionremake/versions.json
[versions-old]: https://github.com/Andre601/OneVersionRemake/blob/master/versions.json

OneTimePack

[![](https://img.shields.io/discord/974288218839191612.svg?style=flat-square&label=discord&logo=discord&logoColor=white&color=7289da)](https://saic.one/discord) [![](https://img.shields.io/codefactor/grade/github/saicone/onetimepack?style=flat-square&logo=codefactor&logoColor=white&label=codefactor&color=00b16a
)](https://www.codefactor.io/repository/github/saicone/onetimepack) [![](https://img.shields.io/github/languages/code-size/saicone/onetimepack?logo=github&logoColor=white&style=flat-square)](https://github.com/saicone/onetimepack)
### **Download & Install**

* Click on download button.
* Select the most apropiated download for your server.
* Go to your proxy server (Bungeecord, Waterfall or Velocity).
* Put the downloaded .jar into /plugins folder.

### **Requirements**

* Minimum Java 17.

### **About OneTimePack**
If you have mutliple servers in a proxy with same resource pack you probably experienced the annoying situation where you already downloaded or denied the resource pack, but when you move to other server, the resource pack request window appears again.

OneTimePack plugin acts like a filter in your proxy (bungeecord, waterfall or velocity) server to avoid double sending the same resource pack.

![https://i.imgur.com/VT65YA0.png](https://i.imgur.com/VT65YA0.png)

![https://i.imgur.com/LTE71zn.png](https://i.imgur.com/LTE71zn.png)

### **The plugin don’t work?**
If you have any issue with the plugin, please report in the Github Page:
[https://github.com/saicone/OneTimePack/issues](https://github.com/saicone/OneTimePack/issues)

### **Frecuent Problems:**
**1. The resource pack is the same in the servers, but it keep re-send to players**

Change pack comparator in settings.yml file, so you can use PROMPT comparator if the resource pack has the same prompt message everywhere or ANY comparator if you have only one resource pack in your network.

**2. The resource pack is not being send to players**

Set `Send-Invalid` option to `true` on plugin settings.yml file.

**3. The plugin is not working with ItemsAdder**

Set `apply-during-chunk-load-phase` option to `false` on ItemsAdder config.yml file.

NullBrand

# NullBrand

**NullBrand** is an ultra-lightweight proxy plugin for **Velocity** that removes default proxy branding and provides a clean, configurable MOTD with full HEX color support.

Designed to be minimal, fast, and invisible.

[![promo](https://cdn.modrinth.com/data/cached_images/b2d8ef29d1458e1b973c60ff87028ecdb507dadf_0.webp)](https://client.teronastudios.com/)

[![discord](https://cdn.modrinth.com/data/cached_images/c97c06e73051a5a1a196babde1652b0cac4b09f4.png)](https://discord.com/invite/88avyryBgt)

## ✨ Features

– 🔒 **F3 Branding Override**
– Replace default proxy branding
– Fully configurable
– Supports legacy (`&`) and HEX colors

– 📝 **Custom MOTD**
– Single or multi-line MOTD
– HEX (`#RRGGBB`) and legacy color support
– Applied instantly on ping

– 🔁 **Reload Command**
– Reload configuration without restarting
– Command: `/nullbrand reload`
– Permission-based

– ⚡ **Extremely Lightweight**
– No schedulers
– No background tasks
– No reflection
– Minimal memory usage

## 📦 Requirements

– **Velocity** 3.3.0+
– **WaterFall, BungeeCord** 1.16+
– **Java** 17+

## 📂 Installation

1. Download the latest `NullBrand.jar`
2. Place it in your Velocity `plugins/` folder
3. Start the proxy once to generate the config
4. Edit `config.yml` to your liking
5. Reload using `/nullbrand reload`

## ⚙️ Configuration (`config.yml`)

“`yml
# —————————————————
# NullBrand Configuration
# Lightweight MOTD system
# —————————————————

# Enables debug logging
debug: false

# —————————————————
# MOTD SETTINGS
# —————————————————
motd:

# Enable MOTD control
enabled: true

# Active profile
profile: “default”

# Favicon file inside /plugins/NullBrand/favicons/
favicon: “test.png”

# —————————————————
# MOTD PROFILES
# —————————————————
# NOTE: Hover will only work on Proxies, and it does not support HEX Colors!

profiles:

# Global fallback profile
global:
lines:
– “&7Welcome to our server”
– “&fHave fun!”

# Default server MOTD
default:
lines:
– “&5Null&dBrand”
– “&7This is line 2”
hover:
enabled: false
lines:
– “&7Welcome to &5Null&dBrand”
– “&7Running powerful infrastructure”

# Example event profile
event:
lines:
– “&6Special Event Live!”
– “&eJoin today!”
hover:
enabled: true
lines:
– “&6Limited time event”
– “&eDon’t miss it!”

“`
![copyright](https://cdn.modrinth.com/data/cached_images/c0ed4260b1584b2f8a3d8cd12068aebbdbf85179.png)

Notify Plugin

# Notify Plugin

![Banner][banner]

[![Modrinth][badge-modrinth]][modrinth]
[![License][badge-license]][license]

[![Discord][badge-discord]][social-discord]
[![Follow @simplecloudapp][badge-x]][social-x]
[![Follow @simplecloudapp][badge-bluesky]][social-bluesky]
[![Follow @simplecloudapp][badge-youtube]][social-youtube]

[Report a Bug][issue-bug-report]
·
[Request a Feature][issue-feature-request]

🌟 Give us a star — your support means the world to us!

> All information about this project can be found in our detailed [documentation][docs-thisproject].

Keep your staff informed about server state changes with real-time notifications using MiniMessage formatting.

## Features

– [x] **Ingame Notifiction**: Get chat messages about server changes
– [x] **Customize Messages**: Configurable messages ([minimessage](https://docs.advntr.dev/minimessage/index.html) supported)
– [x] **Velocity & BungeeCord support**

## Configuration

Here you can see the configuration file for the plugin. All possible options are explained in the comments.
“`yaml
# The date format pattern the notify plugin uses.
# For more information, see the official Java documentation: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/text/SimpleDateFormat.html
date-format: dd.MM.yyyy HH:mm:ss

# Filter server states to notify about.
server-state-filter:
# server-state obviously sets the server state to filter for
– server-state: STARTING
# The message that is being sent to the permitted players goes here.
# Don’t get irritated by the |- format, it’s just a multiline string. You can also pass oneliners.
# Possible placeholders you can use here are:
# – : The group name the server belongs to
# – : The numerical id of the server
# – : The UUID of the server
# – : The state of the server after the update
# – : The IP that the server is running on
# – : The port that the server is bound to
# – : The amount of players currently online on the server
# – : The maximum amount of players that can join the server
# – : The date of the last update of the server
# – : The date of the initial update (creation) of the server
message: |-
Information of
Timestamp: State: Server-IP: Port: Players: /‘>Server updated its state to .
# Users will need this permission to receive the message. Leave it empty (just ”) to allow everyone to receive it.
permission: notify.receive.state-changed.starting

# You can add more server states to filter like this:
– server-state: AVAILABLE
# To design your own messages, we recommend using the minimessage web-ui: https://webui.advntr.dev/
message: |-
Information of
Timestamp: State: Server-IP: Port: Players: /‘>Server updated its state to .
# The default permission is notify.receive.state-changed.[server-state]
permission: notify.receive.state-changed.available

– server-state: STOPPING
message: |-
Information of
Timestamp: State: Server-IP: Port: Players: /‘>Server updated its state to .
# Here you can see that everyone will receive the message, as the permission is empty.
permission: ”
“`

## Contributing
Contributions to SimpleCloud are welcome and highly appreciated. However, before you jump right into it, we would like you to read our [Contribution Guide][docs-contribute].

## License
This repository is licensed under [Apache 2.0][license].


[banner]: https://raw.githubusercontent.com/simplecloudapp/branding/refs/heads/main/readme/banner/plugin/notify.png
[issue-bug-report]: https://github.com/theSimpleCloud/notify-plugin/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E
[issue-feature-request]: https://github.com/theSimpleCloud/notify-plugin/discussions/new?category=ideas
[docs-thisproject]: https://docs.simplecloud.app/plugin/notify
[docs-contribute]: https://docs.simplecloud.app/contribute

[modrinth]: https://modrinth.com/plugin/notify-plugin
[maven-central]: https://central.sonatype.com/artifact/app.simplecloud.controller/controller-api
[dev]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/controller/controller-api

[artifacts]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/controller/controller-api
[dev-artifacts]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/controller/controller-api

[badge-maven-central]: https://img.shields.io/maven-central/v/app.simplecloud.controller/controller-api?labelColor=18181b&style=flat-square&color=65a30d&label=Release
[badge-dev]: https://repo.simplecloud.app/api/badge/latest/snapshots/app/simplecloud/controller/controller-api?name=Dev&style=flat-square&color=0ea5e9


[license]: https://opensource.org/licenses/Apache-2.0
[snapshots]: https://repo.simplecloud.app/#/snapshots

[social-x]: https://x.com/simplecloudapp
[social-bluesky]: https://bsky.app/profile/simplecloud.app
[social-youtube]: https://www.youtube.com/@thesimplecloud9075
[social-discord]: https://discord.simplecloud.app

[badge-modrinth]: https://img.shields.io/badge/modrinth-18181b.svg?style=flat-square&logo=modrinth
[badge-license]: https://img.shields.io/badge/apache%202.0-blue.svg?style=flat-square&label=license&labelColor=18181b&style=flat-square&color=e11d48
[badge-discord]: https://img.shields.io/badge/Community_Discord-d95652.svg?style=flat-square&logo=discord&color=27272a
[badge-x]: https://img.shields.io/badge/[email protected]?style=flat-square&logo=x&color=27272a
[badge-bluesky]: https://img.shields.io/badge/[email protected]?style=flat-square&logo=bluesky&color=27272a
[badge-youtube]: https://img.shields.io/badge/youtube-d95652.svg?style=flat-square&logo=youtube&color=27272a

NitroPerks

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/b8ec62e6e21be800257ba01678cef401a95c77e7.png)

(!) Server version: 1.21 – 1.21.11

(!) Java version: 21

(✔) Support: https://discord.com/invite/rZSDt7xykb (200+ Member)

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/d889f522f645815a82cea473a80ac629d6a2824a.png)

– ✅Ingame Editable Price
– ✅Perks Shop
– ✅Perks add & remove Command
– ✅Full Tabcomplete
– ✅price ingame editable
– ✅editable menus
– ✅Hex colors menu
– ✅Editable Permissions

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/8e9a4a64b27fc90561ee11957bfe2ab09b7b4306.png)

– ✅ telekinesis
– ✅ glow
– ✅ no-hunger
– ✅ lava-resistance
– ✅ no-fall
– ✅ water-breath
– ✅ keep-xp
– ✅ keep-inventory
– ✅ speed
– ✅ night-vision
– ✅ jump
– ✅ haste
– ✅ fly
– ✅ instant-smelt

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/19c716d330062a0ccd08424c3475a193f30b14f0.png)

– ✅/perks
– ✅/perkshop
– ✅/nitroperks setprice
– ✅/nitroperks add
– ✅/nitroperks remove
– ✅/nitroperks reload

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/6b2875bb5d1e0b2082e2d6be41f82ad7ebd8d88d.png)

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/06acb9e954794a1006c6e097505c5d9af3c3ed32_0.webp)

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/585d3d2606b1f9189a454733854023aa5cc83a7f.png)

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/e544c978db738550fe1ef74145bd8779fd5c284e.png)

DEVELOPED BY NITROPLUGINS

Nexus Queue

NexusDev Network Banner


Join our Discord


NexusDev Network

🎉 GRAND OPENING: NexusDev Network!

Join our brand new Minecraft network!

Featuring cutting-edge custom gamemodes:

⚔️ Arc Raiders | 🏛️ Civ 7 | 💀 SMP Hardcore | 🤠 Wild West RP

Server IP: mc.nexusdev.cc


📋 Overview

Nexus Queue is purpose-built for networks that consistently reach their player capacity. Instead of forcing players to spam-reconnect or face repeated kick messages, Nexus Queue creates a fair, managed waiting system that respects both your players’ time and your server’s performance.

See it live on NexusDev Network! Our own server uses Nexus Queue to manage players across multiple high-demand gamemodes, proving its reliability in real-world scenarios.

⚡ How It Works

The system operates intelligently in the background:

💡 The result? A professional player experience that keeps your community happy and your server stable.


📸 See It In Action

Queue Display - Night View

Clean, informative queue display showing position, server, estimated time, and priority weight

Queue Display - Day View

Real-time queue information seamlessly integrated into gameplay


📦 Current Status

Version 1.0.1 is currently in active development, with Version 2.0 on the horizon bringing significant enhancements. The plugin is lightweight at approximately 3MB and comes as a unified JAR for both Velocity and BungeeCord — ensuring zero impact on your server’s performance.

Coming in Version 2.0: A dedicated Paper plugin to bridge proxy and Paper servers for seamless command execution. For persistent priority points across restarts, you can configure file-based storage or connect to a MySQL database.


✨ Features


🚀 Planned Features

We’re constantly improving Nexus Queue. Here’s what’s coming next:


NexusDev

🌟 Join the NexusDev Network Community

Test Nexus Queue live on our server and explore our custom gamemodes!

🎮 Arc Raiders – Intense PvP raiding action

🏛️ Civ 7 – Build civilizations and conquer territories

💀 SMP Hardcore – Survive in the ultimate challenge

🤠 Wild West RP – Immersive roleplay in the frontier

Server IP: play.nexusdev.net


⭐ Transform chaos into order. Give your players the experience they deserve.

Join our Discord | Download | Documentation

Neptune Core

![Neptune Core plugin all in one bungeecord core plugin needed logo](https://cdn.modrinth.com/data/cached_images/2a92d07c7e5949e844a3d18201de9b1d91032f03.png)

Neptune Core is a Velocity server plugin which provides many utility features for your server.

## [Documentation](https://docs.vedant.lol/neptune-core)

## Features
* Staff Chat
* Admin Chat
* Global Messaging System
* MOTD System
* Utility Commands (/lobby etc.)
* Social Spy
* Command Spy
* Maintenance System
* Player Balancer

and many more coming soon…

NatsBridge

# NatsBridge

**NatsBridge** is a Java library that connects your **Spigot**, **Velocity**, or **BungeeCord** plugins to a **NATS** server — easily and efficiently.

## 🚀 Features

* ✅ Shared NATS **connection** across plugins
* ✅ Supports **Spigot/Paper**, **Velocity**, and **BungeeCord**
* ✅ **High-performance Consumer API** for message handling
* ✅ Clean API to **publish** messages
* ✅ **Auto-reconnect** & error handling
* ✅ **YAML configuration**
* ✅ TLS & authentication support
* ✅ Sync & async message handling

## 📦 Setup

1. **Download** the JAR:

2. Drop it into your server’s `/plugins` folder.

3. Start the server. A `nats-config.yml` file will be generated.

4. Edit the config file and restart.

## ⚙️ Usage Example

### Using high-performance Consumer API

“`java
// Sync consumer
NatsAPI api = BungeeCordNatsPlugin.getNatsAPI();
api.subscribeSubject(“game.player.join”, message -> {
String playerName = new String(message, StandardCharsets.UTF_8);
System.out.println(“Player joined: ” + playerName);
}, false);

// Async consumer (byte[])
api.subscribeSubject(“game.chat”, message -> {
// Process chat message asynchronously
String chatMessage = new String(message, StandardCharsets.UTF_8);
broadcastToAllServers(chatMessage);
}, true);

// Async consumer (String) – more convenient!
api.subscribeStringSubject(“game.chat”, chatMessage -> {
// Directly receive as String – no need for manual conversion
broadcastToAllServers(chatMessage);
}, true);
“`

### Publish a message

Firstly you need to know when the connection is established.
There are 3 events for Velocity, Bungeecord and Spigot.
– VelocityNatsBridgeConnectedEvent
– BungeeNatsBridgeConnectedEvent
– SpigotNatsBridgeConnectedEvent

Something like
“`java
@EventHandler
public void onNatsBridgeConnected(SpigotNatsBridgeConnectedEvent event) {
//Do something here
}
“`

You just need to listen these events and the event is fire when the connection to NATS is up.

“`java
BungeeCordNatsPlugin.getNatsAPI().publishString(“subject”, “Awesome message”);
BungeeCordNatsPlugin.getNatsAPI().publishRaw(“subject”, [something that is byte[]]);
“`

## 📂 Configuration (`nats-config.yml`)

“`yaml
nats:
# List of NATS servers (can be a single server or a cluster)
servers:
– “nats://127.0.0.1:4222”
– “nats://nats-cluster.local:4222”

# Authentication configuration (optional)
auth:
enabled: true
# Username/password authentication
username: “user”
password: “pass”
# OR token authentication (if provided, username/password are ignored)
# token: “your_token_here”

# TLS configuration (optional)
tls:
enabled: false
# Paths to keystores (optional)
# keystore: “/path/to/keystore.jks”
# keystore_password: “keystore_password”
# truststore: “/path/to/truststore.jks”
# truststore_password: “truststore_password”

# Reconnection configuration
reconnect:
# Maximum number of reconnection attempts (-1 = unlimited)
max_reconnects: -1
# Delay between reconnection attempts (in milliseconds)
reconnect_wait: 2000
# Connection timeout (in milliseconds)
connection_timeout: 5000
“`

## 🔧 Commands

* `/nats help` – Show help menu
* `/nats status` – Check NATS connection status
* `/nats test ` – Send a test message
* `/nats reload` – Reload NATS configuration (planned)

Permission required: `natsbridge.admin`

## 🧩 Gradle

“`gradle
repositories {
maven {
name = “natsbridge-repo”
url = uri(“https://repo.nhsoul.fr/releases”)
}
}
dependencies {
//Use the latest version

// Mandatory
compileOnly(“fr.nhsoul.natsbridge:core:1.0.0”)
compileOnly(“fr.nhsoul.natsbridge:common:1.0.0”)

//Select your platform
compileOnly(“fr.nhsoul.natsbridge:spigot:1.0.0”)
compileOnly(“fr.nhsoul.natsbridge:velocity:1.0.0”)
compileOnly(“fr.nhsoul.natsbridge:bungeecord:1.0.0”)
}
“`

## 🧩 Performance Considerations

The Consumer API approach offers several advantages:

1. **No reflection overhead**: Native performance for message handling.
2. **Type safety**: Use of standard Java interfaces.
3. **Explicit control**: You control exactly when and how messages are processed.
4. **Platform integration**: Easy access to platform-specific APIs (Spigot, Velocity, BungeeCord).

## ✅ Requirements

* Java 21+
* A NATS server
* Minecraft 1.20+ server (Spigot, Velocity, or BungeeCord)

## 🤝 Contributing

1. Fork this repo
2. Create a branch
3. Submit a PR – all contributions welcome!