ReelEel
Upload a whole game, point at your kid once, and get the minutes worth watching.
Settle any sports rule instantly with verified, cited rulebooks from NFL, FIFA, NBA, and more. Or create your own sport and watch it become official.
Sports & fitnessHTML · CSSGitHub @DigiLogicLabsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Official OSS rule sets for various sports
Translation pending
Loading the full README.
Read the full README ↗The world's most accessible, version-controlled collection of sports rules and regulations — open source, community-driven, and always up to date.
OpenSourceSports is a structured repository of sports rulebooks rendered as standalone HTML pages. Every file is self-contained, mobile-friendly, and works offline. Rules are kept current with the latest official governing body publications.
Official Sports — Rules from recognized governing bodies (NFL, FIFA, NBA, UFC, NHL, etc.), updated annually to reflect the latest rule changes.
Custom Sports — Community-created games organized into two tiers:
OpenSourceSports/
├── Official/
│ ├── Team Sports/
│ │ ├── Football/ → NFL_Official_Rulebook.html
│ │ ├── Soccer/ → FIFA_Laws_of_Game.html
│ │ ├── Hockey/ → NHL_Official_Rulebook.html
│ │ └── Basketball/ → NBA_Official_Rulebook.html (queued)
│ ├── Combat Sports/
│ │ ├── MMA/ → UFC_Unified_Rulebook.html
│ │ ├── Boxing/ → WBA_Official_Rulebook.html, WBC_Official_Rulebook.html
│ │ └── PowerSlap/ → PowerSlap_Official_Rulebook.html
│ ├── Racquet Sports/ → (queued)
│ └── Individual Sports/ → (queued)
│
├── Custom/
│ ├── Casual/ → Fun, loosely structured games
│ │ ├── party-games/ → beerpong/
│ │ ├── playground-games/ → hide-and-seek/
│ │ ├── mini-sports/ → thumb-wrestling/
│ │ └── ball-games/ → football-variants/end-zone-exchange/
│ └── Competitive/ → Structured but not officially regulated
│
├── assets/
│ ├── css/opensourcesports.css
│ └── images/dll-logo.png
│
├── .github/
│ ├── CODEOWNERS
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── ISSUE_TEMPLATE/
│
└── README.md
Every rulebook follows a consistent 8-section structure with embedded metadata, a collapsible table of contents, and per-section navigation.
| # | Section ID | Content |
|---|---|---|
| 1 | introduction | Sport overview, history, governing body |
| 2 | equipment | Required gear, specifications, standards |
| 3 | playing-area | Field/court/ring dimensions and markings |
| 4 | players-officials | Team sizes, positions, officials, roles |
| 5 | rules-of-play | Core gameplay rules and mechanics |
| 6 | scoring | Point systems, win conditions |
| 7 | violations-penalties | Fouls, infractions, consequences |
| 8 | safety-considerations | Player safety, equipment standards, protocols |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sport - Official Rulebook</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="[RELATIVE_PATH]/assets/css/opensourcesports.css">
</head>
<body>
<!--
METADATA
{
"sport": "Sport Name",
"category": "Category",
"type": "OFFICIAL",
"governingBody": "Organization",
"version": "2026.1",
"lastUpdated": "2026-03-03",
"author": "OpenSourceSports",
"tags": ["tag1", "tag2"]
}
-->
<header id="top">
<h1>Sport Name - Official Rulebook</h1>
<p class="governing-body">Governing Body: Organization</p>
<p class="last-updated">Last Updated: March 03, 2026</p>
</header>
<nav class="oss-toc" id="toc">
<details open>
<summary>Table of Contents</summary>
<ol>
<li><a href="#introduction"><span class="toc-number">1.</span> Introduction</a></li>
<!-- ... all 8 sections ... -->
</ol>
</details>
</nav>
<main>
<section id="introduction">
<h2>Section 1: Introduction</h2>
<!-- Content -->
<div class="oss-section-foot">
<a href="#toc" class="oss-back-top">↑ Back to Contents</a>
</div>
</section>
<!-- ... remaining sections ... -->
</main>
<footer>
<!-- OpenSourceSports copyright + DLL branding -->
</footer>
</body>
</html>
The METADATA JSON comment is required at the top of <body>. It powers automation, indexing, and validation.
| Field | Required | Description |
|---|---|---|
sport | Yes | Full sport name |
category | Yes | Parent category (e.g., "Team Sports") |
type | Yes | OFFICIAL or CUSTOM |
governingBody | Yes | Organization abbreviation (or empty for custom) |
version | Yes | YYYY.N for official, X.Y.Z for custom |
lastUpdated | Yes | ISO date YYYY-MM-DD |
author | Yes | OpenSourceSports or contributor name |
tags | Yes | Array of searchable tags |
For an Official rulebook whose verification is no longer supported, set
last_verified_at explicitly to JSON null and supply a nonempty
verification_withdrawn_reason. Record the evidence and previous verification
date in that reason. Keep the source URL, source name, edition, rule content,
and historical lastUpdated intact. A 403/429 or transient server error alone
does not establish that a source is gone.
Omitting the field is not a withdrawal: the app preserves existing review dates
and accepts legacy lastUpdated fallbacks. The app must support explicit-null
withdrawal before these metadata changes are published and synced; otherwise
an older parser can restore the date. Citation and section requirements still
apply, and the confidence guard reports withdrawals visibly.
This is the beginning of the README. Read the rest at the original. Read the full README ↗