Package Exports
- @claudinho/core
Readme
@claudinho/core ⚽
Shared domain model, data-provider adapters, a read-only market-signal sidecar,
and helpers for Claudinho — the 2026 men's football tournament in your dev
environment. This is the engine behind
@claudinho/cli and
@claudinho/mcp.
⚠️ Not affiliated with, endorsed by, or connected to FIFA or Anthropic. An independent, open-source fan project. Facts + emoji flags only.
Install
npm i @claudinho/coreWhat's inside
- Domain model —
Match(incl.venue/city/country),Team,Stage,Status,PunditPick,LedgerRow ProviderAdapter— the swappable data-vendor interface;EspnAdapterincluded- Static schedule — all 104 fixtures (groups, venues, host cities, kickoffs) bundled; query with
allFixtures,fixturesByDate(groups by your timezone),fixturesByTeam,fixturesByGroup,nextFixtureForTeam,groups - Live overlay —
makeAdapter,getMatchesForDate,getLiveMatches,mergeLive(static base + live state, with graceful degradation) - Standings —
computeStandings(points / GD / GF tiebreak) - Helpers — emoji flags (
nationToFlag), TZ-aware time (formatKickoff,formatDate,formatTime,countdown,localDate), location strings (matchLocation), localized commentary flair (matchFlavor/FlavorLevel), validators (isValidDate,isValidTimeZone) - Prediction-market signals (sidecar) — read-only market signals kept separate from
Match: theMarketSignal/MarketProvidermodel, thePolymarketProvider(public Gamma data only — no auth/trading/links; event slugs auto-derived per fixture, validation fails closed), aFakeMarketProvider,makeMarketProvider,getMarketSignal/getMarketSignals, theisReliableMarketSignalgate, and approved-copy formatters (marketFavoriteText,marketProbabilityText,marketBlock). Informational only — never betting advice. - Shareable snippets —
formatShareSnippetbuilds pure, deterministic, plain-text match cards (composingMatch+ the market copy bank) for the CLI'ssharecommand and future MCP/site reuse. The non-affiliation disclaimer is non-optional; market lines come from the approved bank.
Example
import { allFixtures, nextFixtureForTeam, formatKickoff } from '@claudinho/core';
const next = nextFixtureForTeam('MEX');
console.log(next?.home.flag, 'vs', next?.away.flag,
formatKickoff(next!.kickoff, { tz: 'America/Mexico_City', locale: 'es' }));License
MIT © 2026 Arturo Garrido · source & issues
Built while watching the games. #VibingLaVidaLoca ⚽