@claudinho/cli 0.6.0 → 0.6.1
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 +9 -5
- package/dist/index.js +62 -2
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -27,10 +27,12 @@ claudinho markets [target] # prediction-market signals: today | <date> | <id> |
|
|
|
27
27
|
# (next prefers the team's IN-PLAY match while one is live)
|
|
28
28
|
claudinho share [target] # copy-pasteable snippet: today | live | <date> | <id> | next <TEAM> | table <GROUP>
|
|
29
29
|
claudinho prompt # one compact status line (for statusline/tmux/Starship)
|
|
30
|
-
claudinho init-statusline
|
|
31
|
-
claudinho init
|
|
30
|
+
claudinho init cursor # one-step Cursor setup: statusline + MCP paste (--print for snippets)
|
|
31
|
+
claudinho init claude # one-step Claude Code setup: statusline + hook + MCP one-liner
|
|
32
|
+
claudinho init-statusline # (granular) wire just the Claude Code statusline
|
|
33
|
+
claudinho init-cursor-statusline # (granular) wire just the Cursor CLI statusline
|
|
32
34
|
claudinho hook # live-score context for a Claude Code hook (silent off-match)
|
|
33
|
-
claudinho init-hook # make Claude itself score-aware (UserPromptSubmit)
|
|
35
|
+
claudinho init-hook # (granular) make Claude itself score-aware (UserPromptSubmit)
|
|
34
36
|
claudinho vibe # a matchday-coder one-liner (#VibingLaVidaLoca)
|
|
35
37
|
```
|
|
36
38
|
|
|
@@ -185,8 +187,10 @@ claudinho init-cursor-statusline # patches ~/.cursor/cli-config.json (b
|
|
|
185
187
|
claudinho init-cursor-statusline --print # just print the snippet
|
|
186
188
|
```
|
|
187
189
|
|
|
188
|
-
Uses the same `claudinho prompt` hot path as Claude Code
|
|
189
|
-
|
|
190
|
+
Uses the same `claudinho prompt` hot path as Claude Code — so the same
|
|
191
|
+
`CLAUDINHO_TEAM` / `CLAUDINHO_MAX` / `CLAUDINHO_COMPACT` customizations above apply
|
|
192
|
+
here too. Cursor-specific tuning is applied automatically (`updateIntervalMs: 1000`,
|
|
193
|
+
`timeoutMs: 1500`).
|
|
190
194
|
|
|
191
195
|
Optional second line with session meta (model, context %, worktree, vim mode) **below** the score:
|
|
192
196
|
|
package/dist/index.js
CHANGED
|
@@ -4574,6 +4574,50 @@ function cmdInitHook(opts, { cfg }) {
|
|
|
4574
4574
|
function cmdInitCursorStatusline(opts, { cfg }) {
|
|
4575
4575
|
printInitResult(initCursorStatusline({ print: opts.print, command: opts.command }), cfg);
|
|
4576
4576
|
}
|
|
4577
|
+
var CURSOR_MCP_SNIPPET = `{
|
|
4578
|
+
"mcpServers": {
|
|
4579
|
+
"claudinho": { "command": "npx", "args": ["-y", "@claudinho/mcp"] }
|
|
4580
|
+
}
|
|
4581
|
+
}`;
|
|
4582
|
+
var CLAUDE_MCP_ONELINER = "claude mcp add claudinho -- npx -y @claudinho/mcp";
|
|
4583
|
+
function cmdInitCursor(opts, { cfg }) {
|
|
4584
|
+
if (opts.print) {
|
|
4585
|
+
out("# 1) Cursor CLI statusline \u2192 ~/.cursor/cli-config.json");
|
|
4586
|
+
printInitResult(initCursorStatusline({ print: true }), cfg);
|
|
4587
|
+
out("");
|
|
4588
|
+
out("# 2) MCP tools (optional) \u2192 ~/.cursor/mcp.json (or project .cursor/mcp.json)");
|
|
4589
|
+
out(CURSOR_MCP_SNIPPET);
|
|
4590
|
+
return;
|
|
4591
|
+
}
|
|
4592
|
+
printInitResult(initCursorStatusline(), cfg);
|
|
4593
|
+
out("");
|
|
4594
|
+
out("Optional \u2014 live MCP tools in Cursor: add to ~/.cursor/mcp.json (or project .cursor/mcp.json):");
|
|
4595
|
+
out(CURSOR_MCP_SNIPPET);
|
|
4596
|
+
out("");
|
|
4597
|
+
out("Tip: export CLAUDINHO_CURSOR_META=auto for a model + context line below the score.");
|
|
4598
|
+
out("");
|
|
4599
|
+
out("\u2192 Restart your agent session to see it.");
|
|
4600
|
+
}
|
|
4601
|
+
function cmdInitClaude(opts, { cfg }) {
|
|
4602
|
+
if (opts.print) {
|
|
4603
|
+
out("# 1) Claude Code statusline \u2192 ~/.claude/settings.json");
|
|
4604
|
+
printInitResult(initStatusline({ print: true }), cfg);
|
|
4605
|
+
out("");
|
|
4606
|
+
out("# 2) Live-score hook \u2192 ~/.claude/settings.json");
|
|
4607
|
+
printInitResult(initHook({ print: true }), cfg);
|
|
4608
|
+
out("");
|
|
4609
|
+
out("# 3) MCP tools (run this):");
|
|
4610
|
+
out(CLAUDE_MCP_ONELINER);
|
|
4611
|
+
return;
|
|
4612
|
+
}
|
|
4613
|
+
printInitResult(initStatusline(), cfg);
|
|
4614
|
+
printInitResult(initHook(), cfg);
|
|
4615
|
+
out("");
|
|
4616
|
+
out("Next \u2014 add the MCP server:");
|
|
4617
|
+
out(` ${CLAUDE_MCP_ONELINER}`);
|
|
4618
|
+
out("");
|
|
4619
|
+
out("\u2192 Restart Claude Code to see it.");
|
|
4620
|
+
}
|
|
4577
4621
|
async function cmdMatch(id, ctx) {
|
|
4578
4622
|
const { cfg, t } = ctx;
|
|
4579
4623
|
precheck(cfg, t);
|
|
@@ -5003,10 +5047,11 @@ function handlePipeError(stream) {
|
|
|
5003
5047
|
}
|
|
5004
5048
|
handlePipeError(process.stdout);
|
|
5005
5049
|
handlePipeError(process.stderr);
|
|
5006
|
-
var VERSION = "0.6.
|
|
5050
|
+
var VERSION = "0.6.1";
|
|
5007
5051
|
var DISCLAIMER = "Claudinho is an independent fan project. Not affiliated with or endorsed by FIFA or Anthropic.";
|
|
5008
5052
|
function ctxFrom(cmd) {
|
|
5009
|
-
|
|
5053
|
+
let root = cmd;
|
|
5054
|
+
while (root.parent) root = root.parent;
|
|
5010
5055
|
const opts = root.opts();
|
|
5011
5056
|
const cfg = resolveConfig(opts);
|
|
5012
5057
|
return { cfg, t: makeT(cfg.lang) };
|
|
@@ -5077,6 +5122,21 @@ program.command("share").description("print a shareable, copy-pasteable match sn
|
|
|
5077
5122
|
program.command("prompt").description("print a status line (Claude Code / Cursor CLI statusline, tmux, Starship, \u2026)").action((_opts, cmd) => {
|
|
5078
5123
|
cmdPrompt(ctxFrom(cmd));
|
|
5079
5124
|
});
|
|
5125
|
+
var init = program.command("init").description("one-step setup for your agent: `init cursor` or `init claude`");
|
|
5126
|
+
init.command("cursor").description("set up claudinho for the Cursor CLI (statusline + MCP config)").option("--print", "print the config snippets for manual install instead of writing them").action((opts, cmd) => {
|
|
5127
|
+
try {
|
|
5128
|
+
cmdInitCursor(opts, ctxFrom(cmd));
|
|
5129
|
+
} catch (e) {
|
|
5130
|
+
fail(e);
|
|
5131
|
+
}
|
|
5132
|
+
});
|
|
5133
|
+
init.command("claude").description("set up claudinho for Claude Code (statusline + hook + MCP)").option("--print", "print the config snippets for manual install instead of writing them").action((opts, cmd) => {
|
|
5134
|
+
try {
|
|
5135
|
+
cmdInitClaude(opts, ctxFrom(cmd));
|
|
5136
|
+
} catch (e) {
|
|
5137
|
+
fail(e);
|
|
5138
|
+
}
|
|
5139
|
+
});
|
|
5080
5140
|
program.command("init-statusline").description("configure the Claude Code statusline to use claudinho").option("--print", "print the settings snippet instead of writing it").option("--command <cmd>", "command to run (default: claudinho prompt)").action((opts, cmd) => {
|
|
5081
5141
|
try {
|
|
5082
5142
|
cmdInitStatusline(opts, ctxFrom(cmd));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudinho/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Live scores, fixtures, group tables, and read-only prediction-market signals for the 2026 men's football tournament — in your terminal, Claude Code, and Cursor CLI statusline. No API keys. Not affiliated with FIFA or Anthropic.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,7 +45,11 @@
|
|
|
45
45
|
"claude-code",
|
|
46
46
|
"cursor-cli",
|
|
47
47
|
"2026",
|
|
48
|
-
"vibinglavidaloca"
|
|
48
|
+
"vibinglavidaloca",
|
|
49
|
+
"cursor",
|
|
50
|
+
"cursor-agent",
|
|
51
|
+
"mcp",
|
|
52
|
+
"agent"
|
|
49
53
|
],
|
|
50
54
|
"dependencies": {
|
|
51
55
|
"cli-table3": "^0.6.5",
|
|
@@ -57,7 +61,7 @@
|
|
|
57
61
|
"tsup": "^8.0.0",
|
|
58
62
|
"typescript": "^5.7.0",
|
|
59
63
|
"vitest": "^4.1.0",
|
|
60
|
-
"@claudinho/core": "0.6.
|
|
64
|
+
"@claudinho/core": "0.6.1"
|
|
61
65
|
},
|
|
62
66
|
"scripts": {
|
|
63
67
|
"build": "tsup",
|