free-coding-models 0.3.34 โ†’ 0.3.37

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/CHANGELOG.md CHANGED
@@ -1,6 +1,32 @@
1
1
  # Changelog
2
2
  ---
3
3
 
4
+ ## [0.3.37] - 2026-04-07
5
+
6
+ ### Changed
7
+ - **Removed X/Twitter references** โ€” no more `๐Ÿฆ Follow me on X` links in README and TUI footer
8
+ - **Discord link more prominent** in TUI footer (replaced X banner)
9
+ - **README navigation bar** โ€” now links all 10 sections (Why, Quick Start, Providers, Usage, TUI Keys, Features, Contributing, Licensing, Security, Support, License)
10
+ - **Deleted accidental `echo` file** from repo
11
+ - 238 models across 25 providers
12
+
13
+ ## [0.3.35] - 2026-04-07
14
+
15
+ ### Added
16
+ - **OVHcloud AI Endpoints** โ€” new European sovereign AI provider (8 models: Qwen3 Coder 30B MoE, GPT OSS 120B, GPT OSS 20B, Llama 3.3 70B, Qwen3 32B, R1 Distill 70B, Mistral Small 3.2, Llama 3.1 8B)
17
+ - Free sandbox mode: 2 req/min per IP per model (no API key needed), 400 RPM with API key
18
+ - **Now 238 models across 25 providers** (was 230/24)
19
+
20
+ ### SECURITY.md
21
+ - **SECURITY.md** โ€” full security policy with vulnerability reporting, architecture, and supply chain docs
22
+ - **CODEOWNERS** โ€” all changes require @vava-nessa review
23
+ - **Dependabot** โ€” weekly automated dependency + GitHub Actions updates (`.github/dependabot.yml`)
24
+ - **Security Audit CI** โ€” `npm audit` + lockfile lint on every push/PR + weekly schedule (`.github/workflows/security-audit.yml`)
25
+ - **npm Provenance** โ€” release workflow now publishes with `--provenance` (Sigstore-signed)
26
+ - **SBOM generation** โ€” Software Bill of Materials attached to every GitHub Release
27
+ - **README trust badges** โ€” dependency count, provenance, supply chain badges
28
+ - **README ๐Ÿ›ก๏ธ Security section** โ€” what the tool does/doesn't do, supply chain table
29
+
4
30
  ## [0.3.34] - 2026-04-06
5
31
 
6
32
  ### Added
package/README.md CHANGED
@@ -2,19 +2,19 @@
2
2
  <img src="https://img.shields.io/npm/v/free-coding-models?color=76b900&label=npm&logo=npm" alt="npm version">
3
3
  <img src="https://img.shields.io/node/v/free-coding-models?color=76b900&logo=node.js" alt="node version">
4
4
  <img src="https://img.shields.io/npm/l/free-coding-models?color=76b900" alt="license">
5
- <img src="https://img.shields.io/badge/models-230-76b900?logo=nvidia" alt="models count">
6
- <img src="https://img.shields.io/badge/providers-24-blue" alt="providers count">
5
+ <img src="https://img.shields.io/badge/models-238-76b900?logo=nvidia" alt="models count">
6
+ <img src="https://img.shields.io/badge/providers-25-blue" alt="providers count">
7
+ <br>
8
+ <img src="https://img.shields.io/badge/dependencies-1-76b900?logo=npm" alt="1 dependency">
9
+ <img src="https://img.shields.io/badge/provenance-sigstore-blueviolet?logo=signstore" alt="npm provenance">
10
+ <img src="https://img.shields.io/badge/supply_chain-verified-brightgreen" alt="supply chain verified">
7
11
  </p>
8
12
 
9
13
  <h1 align="center">free-coding-models</h1>
10
14
 
11
- <p align="center">
12
- ๐Ÿฆ Follow me on <a href="https://x.com/vavanessadev"><strong>X (@vavanessadev)</strong></a> ๐Ÿ’–
13
- </p>
14
-
15
15
  <p align="center">
16
16
  <strong>Find the fastest free coding model in seconds</strong><br>
17
- <sub>Ping 230 models across 24 AI Free providers in real-time </sub><br><sub> Install Free API endpoints to your favorite AI coding tool: <br>๐Ÿ“ฆ OpenCode, ๐Ÿฆž OpenClaw, ๐Ÿ’˜ Crush, ๐Ÿชฟ Goose, ๐Ÿ›  Aider, ๐Ÿ‰ Qwen Code, ๐Ÿคฒ OpenHands, โšก Amp, ฯ€ Pi, ๐Ÿฆ˜ Rovo or โ™Š Gemini in one keystroke</sub>
17
+ <sub>Ping 238 models across 25 AI Free providers in real-time </sub><br><sub> Install Free API endpoints to your favorite AI coding tool: <br>๐Ÿ“ฆ OpenCode, ๐Ÿฆž OpenClaw, ๐Ÿ’˜ Crush, ๐Ÿชฟ Goose, ๐Ÿ›  Aider, ๐Ÿ‰ Qwen Code, ๐Ÿคฒ OpenHands, โšก Amp, ฯ€ Pi, ๐Ÿฆ˜ Rovo or โ™Š Gemini in one keystroke</sub>
18
18
  </p>
19
19
 
20
20
 
@@ -31,12 +31,17 @@ create a free account on one of the [providers](#-list-of-free-ai-providers)
31
31
  </p>
32
32
 
33
33
  <p align="center">
34
- <a href="#-why-this-tool">Why</a> โ€ข
35
- <a href="#-quick-start">Quick Start</a> โ€ข
36
- <a href="#-list-of-free-ai-providers">Providers</a> โ€ข
37
- <a href="#-usage">Usage</a> โ€ข
38
- <a href="#-tui-keys">TUI Keys</a> โ€ข
39
- <a href="#-contributing">Contributing</a>
34
+ <a href="#-why-this-tool">๐Ÿ’ก Why</a> โ€ข
35
+ <a href="#-quick-start">โšก Quick Start</a> โ€ข
36
+ <a href="#-list-of-free-ai-providers">๐ŸŸข Providers</a> โ€ข
37
+ <a href="#-usage">๐Ÿš€ Usage</a> โ€ข
38
+ <a href="#-tui-keys">โŒจ๏ธ TUI Keys</a> โ€ข
39
+ <a href="#-features">โœจ Features</a> โ€ข
40
+ <a href="#-contributing">๐Ÿ“‹ Contributing</a> โ€ข
41
+ <a href="#๏ธ-model-licensing--commercial-use">โš–๏ธ Licensing</a> โ€ข
42
+ <a href="#๏ธ-security--trust">๐Ÿ›ก๏ธ Security</a> โ€ข
43
+ <a href="#-support">๐Ÿ“ง Support</a> โ€ข
44
+ <a href="#-license">๐Ÿ“„ License</a>
40
45
  </p>
41
46
 
42
47
  <p align="center">
@@ -51,7 +56,7 @@ create a free account on one of the [providers](#-list-of-free-ai-providers)
51
56
 
52
57
  ## ๐Ÿ’ก Why this tool?
53
58
 
54
- There are **230+ free coding models** scattered across 24 providers. Which one is fastest right now? Which one is actually stable versus just lucky on the last ping?
59
+ There are **238+ free coding models** scattered across 25 providers. Which one is fastest right now? Which one is actually stable versus just lucky on the last ping?
55
60
 
56
61
  This CLI pings them all in parallel, shows live latency, and calculates a **live Stability Score (0-100)**. Average latency alone is misleading if a model randomly spikes to 6 seconds; the stability score measures true reliability by combining **p95 latency** (30%), **jitter/variance** (30%), **spike rate** (20%), and **uptime** (20%).
57
62
 
@@ -65,7 +70,7 @@ It then writes the model you pick directly into your coding tool's config โ€” so
65
70
 
66
71
  Create a free account on one provider below to get started:
67
72
 
68
- **230 coding models** across 24 providers, ranked by [SWE-bench Verified](https://www.swebench.com).
73
+ **238 coding models** across 25 providers, ranked by [SWE-bench Verified](https://www.swebench.com).
69
74
 
70
75
  | Provider | Models | Tier range | Free tier | Env var |
71
76
  |----------|--------|-----------|-----------|--------|
@@ -86,6 +91,7 @@ Create a free account on one provider below to get started:
86
91
  | [SiliconFlow](https://cloud.siliconflow.cn/account/ak) | 6 | S+ โ†’ A | Free models: usually 100 RPM, varies by model | `SILICONFLOW_API_KEY` |
87
92
  | [Cerebras](https://cloud.cerebras.ai) | 4 | S+ โ†’ B | Generous free tier (developer tier 10ร— higher limits) | `CEREBRAS_API_KEY` |
88
93
  | [Perplexity API](https://www.perplexity.ai/settings/api) | 4 | A+ โ†’ B | Tiered limits by spend (default ~50 RPM) | `PERPLEXITY_API_KEY` |
94
+ | [OVHcloud AI Endpoints](https://endpoints.ai.cloud.ovh.net) | 8 | S โ†’ B | Free sandbox: 2 req/min/IP (no key). 400 RPM with key | `OVH_AI_ENDPOINTS_ACCESS_TOKEN` |
89
95
  | [Chutes AI](https://chutes.ai) | 4 | S โ†’ A | Free (community GPU-powered, no credit card) | `CHUTES_API_KEY` |
90
96
  | [DeepInfra](https://deepinfra.com/login) | 4 | A- โ†’ B+ | 200 concurrent requests (default) | `DEEPINFRA_API_KEY` |
91
97
  | [Fireworks AI](https://fireworks.ai) | 4 | S โ†’ B+ | $1 credits โ€“ 10 req/min without payment | `FIREWORKS_API_KEY` |
@@ -284,7 +290,7 @@ When a tool mode is active (via `Z`), models incompatible with that tool are hig
284
290
 
285
291
  ## โœจ Features
286
292
 
287
- - **Parallel pings** โ€” all 230 models tested simultaneously via native `fetch`
293
+ - **Parallel pings** โ€” all 238 models tested simultaneously via native `fetch`
288
294
  - **Adaptive monitoring** โ€” 2s burst for 60s โ†’ 10s normal โ†’ 30s idle
289
295
  - **Stability score** โ€” composite 0โ€“100 (p95 latency, jitter, spike rate, uptime)
290
296
  - **Smart ranking** โ€” top 3 highlighted ๐Ÿฅ‡๐Ÿฅˆ๐Ÿฅ‰
@@ -322,7 +328,7 @@ We welcome contributions โ€” issues, PRs, new provider integrations.
322
328
 
323
329
  ## โš–๏ธ Model Licensing & Commercial Use
324
330
 
325
- **Short answer:** All 230 models allow **commercial use of generated output (including code)**. You own what the models generate for you.
331
+ **Short answer:** All 238 models allow **commercial use of generated output (including code)**. You own what the models generate for you.
326
332
 
327
333
  ### Output Ownership
328
334
 
@@ -354,6 +360,40 @@ For every model in this tool, **you own the generated output** โ€” code, text, o
354
360
 
355
361
  ---
356
362
 
363
+ ## ๐Ÿ›ก๏ธ Security & Trust
364
+
365
+ ### Supply Chain
366
+
367
+ | Signal | Status |
368
+ |--------|--------|
369
+ | **npm Provenance** | โœ… Published with Sigstore-signed provenance |
370
+ | **SBOM** | โœ… Software Bill of Materials attached to every GitHub Release |
371
+ | **Dependencies** | โœ… 1 runtime dependency (`chalk`) |
372
+ | **Lockfile** | โœ… `pnpm-lock.yaml` committed and tracked |
373
+ | **Security Policy** | โœ… [`SECURITY.md`](SECURITY.md) |
374
+ | **Code Owners** | โœ… [`CODEOWNERS`](CODEOWNERS) โ€” all changes require maintainer review |
375
+ | **Dependabot** | โœ… Weekly automated dependency + GitHub Actions updates |
376
+ | **Audit CI** | โœ… `npm audit` runs on every push/PR + weekly scheduled scan |
377
+ | **License** | โœ… MIT |
378
+
379
+ ### What This Tool Does
380
+
381
+ - Pings public API endpoints to measure latency and check availability
382
+ - Reads your API keys from `.env` files (only if you configure them)
383
+ - Opens configuration files for editing (with your permission)
384
+ - Reports anonymous usage data (no personal information โ€” see footer)
385
+
386
+ ### What This Tool Does NOT Do
387
+
388
+ - โŒ Does **not** send your API keys, code, or personal data to any third party
389
+ - โŒ Does **not** install or execute arbitrary code beyond `chalk` (the only dependency)
390
+ - โŒ Does **not** modify any files outside its own config directory
391
+ - โŒ Does **not** require `sudo`, root, or elevated permissions
392
+
393
+ > To report a vulnerability, see [`SECURITY.md`](SECURITY.md).
394
+
395
+ ---
396
+
357
397
  ## ๐Ÿ“ง Support
358
398
 
359
399
  [GitHub Issues](https://github.com/vava-nessa/free-coding-models/issues) ยท [Discord](https://discord.gg/ZTNFHvvCkU)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-coding-models",
3
- "version": "0.3.34",
3
+ "version": "0.3.37",
4
4
  "description": "Find the fastest coding LLM models in seconds โ€” ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
5
5
  "keywords": [
6
6
  "nvidia",
package/sources.js CHANGED
@@ -422,6 +422,21 @@ export const chutes = [
422
422
  ['Qwen/Qwen2.5-Coder-32B-Instruct', 'Qwen2.5 Coder 32B', 'A', '46.0%', '32k'],
423
423
  ]
424
424
 
425
+ // ๐Ÿ“– OVHcloud AI Endpoints - https://endpoints.ai.cloud.ovh.net
426
+ // ๐Ÿ“– OpenAI-compatible API with European data sovereignty (GDPR)
427
+ // ๐Ÿ“– Free sandbox: 2 req/min per IP per model (no API key needed), 400 RPM with API key
428
+ // ๐Ÿ“– Env var: OVH_AI_ENDPOINTS_ACCESS_TOKEN
429
+ export const ovhcloud = [
430
+ ['Qwen3-Coder-30B-A3B-Instruct', 'Qwen3 Coder 30B MoE', 'A+', '55.0%', '256k'],
431
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
432
+ ['gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '131k'],
433
+ ['Meta-Llama-3_3-70B-Instruct', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
434
+ ['Qwen3-32B', 'Qwen3 32B', 'A+', '50.0%', '32k'],
435
+ ['DeepSeek-R1-Distill-Llama-70B', 'R1 Distill 70B', 'A-', '40.0%', '131k'],
436
+ ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2', 'B+', '34.0%', '131k'],
437
+ ['Llama-3.1-8B-Instruct', 'Llama 3.1 8B', 'B', '28.8%', '131k'],
438
+ ]
439
+
425
440
  // ๐Ÿ“– Rovo Dev CLI source - https://www.atlassian.com/rovo
426
441
  // ๐Ÿ“– CLI tool only - no API endpoint - requires 'acli rovodev run'
427
442
  // ๐Ÿ“– Install: https://support.atlassian.com/rovo/docs/install-and-run-rovo-dev-cli-on-your-device/
@@ -596,6 +611,11 @@ export const sources = {
596
611
  url: 'https://chutes.ai/v1/chat/completions',
597
612
  models: chutes,
598
613
  },
614
+ ovhcloud: {
615
+ name: 'OVHcloud AI ๐Ÿ†•',
616
+ url: 'https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions',
617
+ models: ovhcloud,
618
+ },
599
619
  }
600
620
 
601
621
  // ๐Ÿ“– Flatten all models from all sources โ€” each entry includes providerKey as 6th element
@@ -60,6 +60,7 @@ export const ENV_VAR_NAMES = {
60
60
  zai: 'ZAI_API_KEY',
61
61
  gemini: 'GEMINI_API_KEY',
62
62
  chutes: 'CHUTES_API_KEY',
63
+ ovhcloud: 'OVH_AI_ENDPOINTS_ACCESS_TOKEN',
63
64
  }
64
65
 
65
66
  // ๐Ÿ“– OPENCODE_MODEL_MAP: sparse table of model IDs that differ between sources.js and OpenCode's
@@ -257,4 +258,11 @@ export const PROVIDER_METADATA = {
257
258
  signupHint: 'Sign up and generate an API key',
258
259
  rateLimits: 'Free (community GPU-powered), no hard cap',
259
260
  },
261
+ ovhcloud: {
262
+ label: 'OVHcloud AI ๐Ÿ†•',
263
+ color: chalk.rgb(100, 149, 205),
264
+ signupUrl: 'https://endpoints.ai.cloud.ovh.net',
265
+ signupHint: 'Manager โ†’ Public Cloud โ†’ AI Endpoints โ†’ API keys (optional: sandbox works without key)',
266
+ rateLimits: 'Free sandbox: 2 req/min per IP per model (no key). With API key: 400 RPM',
267
+ },
260
268
  }
@@ -882,12 +882,6 @@ export function renderTable(results, pendingPings, frame, cursor = null, sortCol
882
882
  ? chalk.rgb(255, 182, 193)(`Last release: ${lastReleaseDate}`)
883
883
  : ''
884
884
 
885
- const xSupportBg = chalk.bgRgb(140, 0, 80).rgb(255, 255, 255).bold('๐Ÿฆ Follow me on X: ') +
886
- '\x1b]8;;https://x.com/vavanessadev\x1b\\' +
887
- chalk.bgRgb(140, 0, 80).rgb(255, 200, 50).bold('@vavanessadev') +
888
- '\x1b]8;;\x1b\\' +
889
- chalk.bgRgb(140, 0, 80).rgb(255, 255, 255).bold(' to check my other projects! ๐Ÿ’–')
890
-
891
885
  lines.push(
892
886
  ' ' + themeColors.hotkey('N') + themeColors.dim(' Changelog') +
893
887
  (filterBadge
@@ -895,8 +889,7 @@ export function renderTable(results, pendingPings, frame, cursor = null, sortCol
895
889
  : '') +
896
890
  themeColors.dim(' โ€ข ') +
897
891
  themeColors.dim('Ctrl+C Exit') +
898
- (releaseLabel ? themeColors.dim(' โ€ข ') + releaseLabel : '') +
899
- themeColors.dim(' โ€ข ') + xSupportBg
892
+ (releaseLabel ? themeColors.dim(' โ€ข ') + releaseLabel : '')
900
893
  )
901
894
 
902
895
  // ๐Ÿ“– Discord link at the very bottom of the TUI