kalshi-trading-bot-cli 2.1.1 → 2.1.2

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 CHANGED
@@ -8,9 +8,17 @@ Integrates with the [Octagon Research API](https://app.octagonai.co) for AI-gene
8
8
 
9
9
  ![Kalshi Trading Bot CLI](assets/screenshot.png)
10
10
 
11
- ## Quick Start
11
+ ## Prerequisites
12
+
13
+ - **[Bun](https://bun.com/) ≥ 1.1** (required — the bot uses `bun:sqlite` and runs `.tsx` directly; Node.js won't work)
14
+ ```bash
15
+ curl -fsSL https://bun.com/install | bash
16
+ ```
17
+ - A **Kalshi** account with API access (API key + RSA private key)
18
+ - One **LLM provider key** (OpenAI / Anthropic / Google / xAI / OpenRouter / Ollama). The setup wizard collects these on first run.
19
+ - Optional: an **[Octagon](https://app.octagonai.co)** key for AI edge analysis, and a **Tavily** key for web research.
12
20
 
13
- Install [Bun](https://bun.com/), then run:
21
+ ## Quick Start
14
22
 
15
23
  ```bash
16
24
  bunx kalshi-trading-bot-cli
@@ -29,8 +37,6 @@ bun install
29
37
  bun start
30
38
  ```
31
39
 
32
- > Don't have Bun? Install it with `curl -fsSL https://bun.com/install | bash`
33
-
34
40
  ### Where things live
35
41
 
36
42
  - **Config, cache, SQLite DB:** `~/.kalshi-bot/`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kalshi-trading-bot-cli",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "Kalshi Trading Bot CLI - AI-powered prediction market terminal.",
5
5
  "license": "MIT",
6
6
  "author": "Octagon AI, Inc.",
package/src/cli.ts CHANGED
@@ -922,7 +922,7 @@ export async function runCli(options?: { forceSetup?: boolean }) {
922
922
  editor.addToHistory(msg);
923
923
  }
924
924
 
925
- // Auto-launch setup wizard if credentials are missing or `bun start init` was used
925
+ // Auto-launch setup wizard if credentials are missing or `kalshi init` was used
926
926
  if (!hasKalshiCreds || options?.forceSetup) {
927
927
  setupWizard.start();
928
928
  }
@@ -109,12 +109,12 @@ from the snapshot when available, else current Kalshi lifetime volume.
109
109
  ROI is capital-weighted: sum(pnl) / sum(capital) across edge signals, where capital
110
110
  is kp/100 for YES edges and (100-kp)/100 for NO edges (matches Supabase methodology).`,
111
111
 
112
- 'clear-cache': `**${ctx === 'cli' ? '' : 'bun start '}clear-cache** — Delete local cache
112
+ 'clear-cache': `**${ctx === 'cli' ? '' : 'kalshi '}clear-cache** — Delete local cache
113
113
 
114
- ${ctx === 'cli' ? `${p}` : 'bun start '}clear-cache Delete the local SQLite database (~/.kalshi-bot/kalshi-bot.db)
114
+ ${ctx === 'cli' ? `${p}` : 'kalshi '}clear-cache Delete the local SQLite database (~/.kalshi-bot/kalshi-bot.db)
115
115
  A fresh database will be created on next command.
116
116
 
117
- Use this when the local cache is corrupted or you want to start fresh.${ctx !== 'cli' ? '\nRun from terminal: bun start clear-cache' : ''}`,
117
+ Use this when the local cache is corrupted or you want to start fresh.${ctx !== 'cli' ? '\nRun from terminal: kalshi clear-cache' : ''}`,
118
118
 
119
119
  init: `**${p}init** — Re-run setup wizard
120
120
 
@@ -211,8 +211,8 @@ Account:
211
211
  System:
212
212
  /model Change LLM model/provider
213
213
  /setup Re-run setup wizard
214
- init Launch with setup wizard (run: bun start init)
215
- clear-cache Delete local cache (run: bun start clear-cache)
214
+ init Launch with setup wizard (run: kalshi init)
215
+ clear-cache Delete local cache (run: kalshi clear-cache)
216
216
  /help [command] Show help for a command
217
217
  /quit Quit
218
218
 
@@ -202,13 +202,13 @@ export class SetupWizardController {
202
202
  if (this.configWritten) {
203
203
  lines.push('');
204
204
  lines.push(theme.muted(' Default thresholds (to customize, run the command shown):'));
205
- lines.push(` min_edge_threshold = 5% ${theme.muted('e.g. bun start config risk.min_edge_threshold 0.10')}`);
206
- lines.push(` kelly_multiplier = 0.5 ${theme.muted('e.g. bun start config risk.kelly_multiplier 0.25')}`);
207
- lines.push(` max_position_pct = 10% ${theme.muted('e.g. bun start config risk.max_position_pct 0.05')}`);
208
- lines.push(` daily_loss_limit = $200 ${theme.muted('e.g. bun start config risk.daily_loss_limit 100')}`);
209
- lines.push(` max_positions = 10 ${theme.muted('e.g. bun start config risk.max_positions 5')}`);
205
+ lines.push(` min_edge_threshold = 5% ${theme.muted('e.g. kalshi config risk.min_edge_threshold 0.10')}`);
206
+ lines.push(` kelly_multiplier = 0.5 ${theme.muted('e.g. kalshi config risk.kelly_multiplier 0.25')}`);
207
+ lines.push(` max_position_pct = 10% ${theme.muted('e.g. kalshi config risk.max_position_pct 0.05')}`);
208
+ lines.push(` daily_loss_limit = $200 ${theme.muted('e.g. kalshi config risk.daily_loss_limit 100')}`);
209
+ lines.push(` max_positions = 10 ${theme.muted('e.g. kalshi config risk.max_positions 5')}`);
210
210
  lines.push('');
211
- lines.push(theme.muted(' Run "bun start config" to see all settings.'));
211
+ lines.push(theme.muted(' Run "kalshi config" to see all settings.'));
212
212
  }
213
213
  return lines;
214
214
  }