MCPcopy Index your code
hub / github.com/0xjuanma/golazo

github.com/0xjuanma/golazo @v0.31.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.31.0 ↗ · + Follow
1,033 symbols 3,191 edges 161 files 699 documented · 68%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Golazo demo

Golazo

GitHub Stars License: MIT Go Report Card GitHub Release Build Status

GitHub Downloads macOS Linux Windows

A minimalist terminal user interface (TUI) for following football (soccer) matches in real-time. Get live match updates, finished match statistics, and minute-by-minute events directly in your terminal.

Golazo also ships a JSON CLI for agents and scripts (golazo live, finished, match, leagues, capabilities) — see CLI / Agent Mode.

Golazo was created for those moments when you can't stream or watch matches live. It gives you a handy, non-intrusive, and minimalist way to keep up with your favourite football leagues.

Perfect for developers and terminal enthusiasts who want match updates without leaving their workflow.

[!NOTE] If you enjoy Golazo, give it a star and share it with your friends. That helps others find it and keeps the project going!

Golazo demo

Quick Install: brew install 0xjuanma/tap/golazo · Other options

Features

  • Live Match Tracking: Timeline & Real-time updates for goals, cards, and substitutions with automatic polling
  • Finished Matches: View results from today, last 3 days, or last 5 days
  • Match Statistics & Details: Possession, shots, passes, standings, formations with player ratings, and more in focused dialogs
  • Official Highlights & Replay Links: Clickable links for official highlights and instant goal replays
  • Goal Notifications: Desktop notifications for goals as they happen
  • 65+ Leagues: Organized by region (Europe, Americas, Global) with tab navigation in Settings
  • JSON CLI for agents: golazo live, finished, match, leagues, capabilities — structured output, typed error codes, exit code map. See docs/CLI.md.

Installation & Update

Self-update: Run golazo --update anytime to get the latest version.

Homebrew

# Install
brew install 0xjuanma/tap/golazo

# Update
brew upgrade 0xjuanma/tap/golazo

Install script

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/0xjuanma/golazo/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/0xjuanma/golazo/main/scripts/install.ps1 | iex

Build from source

git clone https://github.com/0xjuanma/golazo.git
cd golazo
go build 
./golazo

Usage

Run the application:

golazo

Navigation: / or j/k to move, Enter to select, / to filter, Tab to focus view, Esc to go back, q to quit.

CLI / Agent Mode

For scripts and agentic tools (Claude Code, Codex, MCP servers), Golazo exposes JSON subcommands:

golazo capabilities | jq .                       # self-discover the contract
golazo live                                       # live matches right now
golazo finished --include-upcoming                # today's full slate
golazo finished --days 3                          # last 3 days
golazo match 2001 --mock                          # full match details (best-effort against real IDs; reliable with --mock)
golazo leagues --all                              # every supported league

Full contract — JSON envelope, error codes, exit codes, retry policy, schema, jq recipes — in docs/CLI.md.

Docs

  • Supported Leagues: Full list of available leagues and competitions, customize your preferences in the Settings menu.
  • Notifications: Desktop notification setup and configuration
  • CLI / Agent Mode: JSON subcommands for agents and scripts (golazo live, finished, match, leagues)

Built with Bubble Tea, Lip Gloss & Bubbles by Charm

Author: @0xjuanma

Extension points exported contracts — how you extend this code

Dialog (Interface)
Dialog is a component that can be displayed as an overlay on top of the UI. [4 implementers]
internal/ui/dialog.go
Fetcher (Interface)
Fetcher defines the interface for fetching data from Reddit. Uses Reddit's public JSON API for goal link retrieval. [2 …
internal/reddit/client.go
Client (Interface)
Client defines the interface for a football API client. This abstraction allows us to swap implementations (FotMob, othe [1 …
internal/api/client.go
Notifier (Interface)
Notifier defines the interface for sending desktop notifications. This allows for easy mocking in tests and potential fu [1 …
internal/notify/notify.go
DebugLogger (FuncType)
DebugLogger is a function type for debug logging
internal/reddit/client.go

Core symbols most depended-on inside this repo

Render
called by 293
internal/ui/list_delegate.go
stringPtr
called by 177
internal/data/helpers.go
intPtr
called by 88
internal/data/helpers.go
String
called by 86
internal/ui/logo/animated.go
Set
called by 72
internal/cache/cache.go
symGet
called by 65
internal/ui/worldcup/bracket_sym.go
entry
called by 48
internal/data/worldcup_mock_2026.go
symTeamRender
called by 36
internal/ui/worldcup/bracket_sym.go

Shape

Function 658
Method 232
Struct 123
TypeAlias 9
FuncType 7
Interface 4

Languages

Go100%

Modules by API surface

internal/app/update.go33 symbols
internal/fotmob/types.go26 symbols
internal/ui/logo/animated.go24 symbols
internal/fotmob/client.go24 symbols
internal/ui/dialog.go20 symbols
internal/reddit/client.go19 symbols
internal/fotmob/worldcup_test.go19 symbols
internal/fotmob/worldcup.go17 symbols
internal/ui/match_details.go16 symbols
internal/ui/logo/logo.go16 symbols
internal/reddit/matcher_test.go16 symbols
internal/fotmob/types_test.go16 symbols

For agents

$ claude mcp add golazo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page