@claudinho/cli 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -3
- package/dist/index.js +991 -44
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @claudinho/cli ⚽
|
|
2
2
|
|
|
3
|
-
**The 2026 men's football tournament, right in your terminal.** Live scores, fixtures,
|
|
3
|
+
**The 2026 men's football tournament, right in your terminal.** Live scores, fixtures, group tables, and market odds — TZ-aware, localized, scriptable.
|
|
4
4
|
|
|
5
5
|
> ⚠️ **Not affiliated with, endorsed by, or connected to FIFA or Anthropic.**
|
|
6
6
|
> Claudinho is an independent, open-source fan project. It shows factual match
|
|
@@ -23,6 +23,8 @@ claudinho live # matches in play right now
|
|
|
23
23
|
claudinho next <TEAM> # a team's next fixture + countdown (e.g. next MEX)
|
|
24
24
|
claudinho table [GROUP] # group standings (default: all groups)
|
|
25
25
|
claudinho match <id> # a single match's detail
|
|
26
|
+
claudinho markets [target] # prediction-market odds: today | <date> | <id> | next <TEAM>
|
|
27
|
+
claudinho share [target] # copy-pasteable match snippet: today | live | <date> | <id> | next <TEAM>
|
|
26
28
|
claudinho prompt # one compact status line (for statusline/tmux/Starship)
|
|
27
29
|
claudinho init-statusline # wire it into the Claude Code statusline
|
|
28
30
|
claudinho hook # live-score context for a Claude Code hook (silent off-match)
|
|
@@ -38,6 +40,7 @@ claudinho next BRA --tz America/Sao_Paulo --lang pt
|
|
|
38
40
|
claudinho table A
|
|
39
41
|
claudinho live --json | jq '.matches[].status'
|
|
40
42
|
claudinho today --flavor off # just the facts, no commentary
|
|
43
|
+
claudinho share next MEX --copy # a shareable card, copied to your clipboard
|
|
41
44
|
```
|
|
42
45
|
|
|
43
46
|
## Global options
|
|
@@ -50,6 +53,7 @@ claudinho today --flavor off # just the facts, no commentary
|
|
|
50
53
|
| `--no-color` | disable ANSI color (also honors `NO_COLOR`; auto-off when piped) |
|
|
51
54
|
| `--source <name>` | live data provider (advanced; sensible default) |
|
|
52
55
|
| `--flavor <level>` | commentary flair: `off`, `subtle`, `full` (default: `full`; also `CLAUDINHO_FLAVOR`) |
|
|
56
|
+
| `--no-markets` | hide prediction-market signals in `today`/`match` (also `CLAUDINHO_MARKETS=off`) |
|
|
53
57
|
|
|
54
58
|
Team codes are 3-letter (FIFA/IOC-style): `MEX`, `BRA`, `USA`, `ENG`, …
|
|
55
59
|
|
|
@@ -64,6 +68,100 @@ localized per `--lang`, and they never affect `--json` output.
|
|
|
64
68
|
- `--flavor subtle` — only goals and full-time
|
|
65
69
|
- `--flavor off` — just the facts
|
|
66
70
|
|
|
71
|
+
## Prediction-market signals
|
|
72
|
+
|
|
73
|
+
`claudinho markets` shows **read-only** prediction-market odds — "who's favored" as
|
|
74
|
+
market-implied percentages — for a date, a match, or a team's next fixture:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
claudinho markets # today's signals
|
|
78
|
+
claudinho markets 2026-06-11 # a specific date
|
|
79
|
+
claudinho markets 760415 # one match by id
|
|
80
|
+
claudinho markets next MEX # a team's next fixture
|
|
81
|
+
claudinho markets today --json # structured sidecar output
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
A short market line is also added under `claudinho today` and `claudinho match`
|
|
85
|
+
when a reliable market is available. It's **informational only — not betting
|
|
86
|
+
advice:** market-implied percentages with attribution, no trading, no links. Data
|
|
87
|
+
comes from Polymarket public market data and is shown
|
|
88
|
+
only when the market maps cleanly to the result and is fresh.
|
|
89
|
+
|
|
90
|
+
Opt out with `--no-markets` (per command) or `CLAUDINHO_MARKETS=off` (global). The
|
|
91
|
+
statusline and hook **never** show market data — it stays off the hot path.
|
|
92
|
+
|
|
93
|
+
> **How matches are matched:** event slugs are derived automatically from each
|
|
94
|
+
> fixture (`fifwc-{home}-{away}-{date}`), so real odds appear for any match with a
|
|
95
|
+
> live Polymarket market — no mapping needed (`mapping.2026.json` is for slug
|
|
96
|
+
> *overrides* only). Matching fails closed, so an unmatched fixture simply shows
|
|
97
|
+
> nothing. For an offline preview, set `CLAUDINHO_MARKETS_SOURCE=fake` to render
|
|
98
|
+
> clearly-labeled synthetic **"demo data"** odds.
|
|
99
|
+
|
|
100
|
+
## Shareable snippets
|
|
101
|
+
|
|
102
|
+
`claudinho share` prints a polished, **copy-pasteable** match card for chats,
|
|
103
|
+
social posts, READMEs, and issue comments — your terminal football, ready to post:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
claudinho share # today's matches
|
|
107
|
+
claudinho share live # matches in play
|
|
108
|
+
claudinho share next MEX # a team's next fixture (+ market read, when reliable)
|
|
109
|
+
claudinho share 760415 # one match by id
|
|
110
|
+
claudinho share next MEX --copy # …and copy it straight to the clipboard
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
Next up for Mexico
|
|
115
|
+
|
|
116
|
+
🇲🇽 Mexico vs South Africa 🇿🇦
|
|
117
|
+
Jun 11 · 13:00 America/Mexico_City
|
|
118
|
+
Estadio Banorte, Mexico City, Mexico
|
|
119
|
+
|
|
120
|
+
Prediction markets slightly favor Mexico.
|
|
121
|
+
Mexico 56% · Draw 25% · South Africa 19%
|
|
122
|
+
Source: Polymarket · informational only
|
|
123
|
+
|
|
124
|
+
#VibingLaVidaLoca · Independent fan project · not affiliated with FIFA or Anthropic.
|
|
125
|
+
Try it: npx @claudinho/cli next MEX
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Snippets are **plain text** (no color codes — they paste cleanly everywhere) and
|
|
129
|
+
carry the non-affiliation disclaimer on every paste. The market line uses the
|
|
130
|
+
same reliable gate as `today`/`match` (**informational only — never betting
|
|
131
|
+
advice**) and disappears when no reliable market exists. Per-command options:
|
|
132
|
+
|
|
133
|
+
| Flag | Description |
|
|
134
|
+
|---|---|
|
|
135
|
+
| `--style <social\|compact>` | `social` (default) is the full card; `compact` is one terse line per match |
|
|
136
|
+
| `--copy` | also copy the snippet to the clipboard (best-effort: `pbcopy`/`clip`/`wl-copy`/`xclip`/`xsel`) |
|
|
137
|
+
| `--no-hashtag` | omit the `#VibingLaVidaLoca` tag |
|
|
138
|
+
| `--no-install-line` | omit the `Try it: …` run cue |
|
|
139
|
+
|
|
140
|
+
`--json` returns the structured snippet (`{ kind, snippet, matches, marketSignals, … }`)
|
|
141
|
+
for scripts and future reuse. No clipboard tool? `claudinho share … | pbcopy` works too.
|
|
142
|
+
|
|
143
|
+
### Want an image?
|
|
144
|
+
|
|
145
|
+
The snippet is plain text, so a **screenshot is your share card** — the disclaimer
|
|
146
|
+
and emoji flags come along automatically. Grab it with your OS screenshot tool, or
|
|
147
|
+
render a crisp terminal image with an existing tool (no Claudinho dependency, no
|
|
148
|
+
account):
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# capture the command's output directly (charmbracelet/freeze)
|
|
152
|
+
freeze --execute "claudinho share next MEX" -o card.png
|
|
153
|
+
|
|
154
|
+
# …or pipe the text into freeze / silicon
|
|
155
|
+
claudinho share next MEX | freeze --language text -o card.png
|
|
156
|
+
claudinho share next MEX | silicon -l txt -o card.png
|
|
157
|
+
|
|
158
|
+
# …or paste it into a web tool like carbon.now.sh or ray.so
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Claudinho stays text-first — it doesn't ship an image renderer, so there's nothing
|
|
162
|
+
extra to install in the CLI and no fonts/licensing to worry about: whatever your
|
|
163
|
+
terminal or the screenshot tool already draws (including the flags) is what you get.
|
|
164
|
+
|
|
67
165
|
## Statusline (Claude Code)
|
|
68
166
|
|
|
69
167
|
```bash
|
|
@@ -111,8 +209,9 @@ statusline/hook cache is keyed to the active competition, so switching with
|
|
|
111
209
|
|
|
112
210
|
The full fixture list (104 matches, groups, venues, host cities, kickoffs) ships **bundled**
|
|
113
211
|
in the package, so the common path is offline and instant. Only live match
|
|
114
|
-
state hits the network.
|
|
115
|
-
|
|
212
|
+
state hits the network. Live scores come from **ESPN's** public scoreboard (a
|
|
213
|
+
swappable provider, attributed in output as `Live data: ESPN`) and market odds
|
|
214
|
+
from Polymarket; provider attribution and rate limits are respected.
|
|
116
215
|
|
|
117
216
|
## License
|
|
118
217
|
|