No description
- Go 100%
- 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) |
||
|---|---|---|
| .gitignore | ||
| bracket.txt | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| simpsons_top128.yaml | ||
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.