No description
Find a file
Dan Robson faa9d26919 initial commit: single-elim bracket tool + Simpsons MM seed data
- main.go: CLI with init/next subcommands; reads YAML seed, emits text-file
  bracket where each round is appended and winners marked with [x]
- simpsons_top128.yaml: meta-ranked list of 128 Simpsons episodes (v0 seed)
- bracket.txt: in-progress bracket state — the file IS the state, per README;
  diff across rounds is the history
- README.md, go.mod/sum, .gitignore (ignores built binary + vendor)
2026-05-25 08:06:39 -07:00
.gitignore initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
bracket.txt initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
go.mod initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
go.sum initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
LICENSE Initial commit 2026-05-25 07:08:50 -07:00
main.go initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
README.md initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00
simpsons_top128.yaml initial commit: single-elim bracket tool + Simpsons MM seed data 2026-05-25 08:06:39 -07:00

bracketbuilder

A single-elimination bracket on a text file.

v0

bracketbuilder init <input.yaml> <bracket.txt>   # creates round 1
# (mark [x] next to the winner of each matchup in bracket.txt)
bracketbuilder next <bracket.txt>                # appends the next round

The text file is the only state. Diff across rounds is the history.

Input format

episodes:
  s04e12:
    title: "Marge vs. the Monorail"
    seed: 1
  s17e13:
    title: "The Seemingly Never-Ending Story"
    seed: 128
  # ... seeds 1..N with no gaps; N must be a power of 2

Display order

Matchups within a round are displayed middle-out, alternating: the biggest seed-gap matchup sits at the center of the round (the "headliner" blowout), with smaller and larger gaps alternating outward in both directions — big, small, big, small. This gives the round a rhythmic pulse and lands the most iconic mismatch in the headliner slot. Bracket integrity is preserved underneath — round 2 pairings follow the standard tree structure regardless of how round 1 was displayed.