Skip to content

feat(changelog): add 50% discount and config updates - #892

Merged
steebchen merged 4 commits into
mainfrom
feat/change
Sep 19, 2025
Merged

steebchen merged 4 commits into
mainfrom
feat/change

Conversation

@steebchen

@steebchen steebchen commented Sep 19, 2025 •

Copy link
Copy Markdown
Member

Add a new changelog entry highlighting the 50% discount on Claude Code via RouteWay. Update configuration examples for optional model selection with clarified defaults. Remove outdated tool support note for cleanliness.

Summary by CodeRabbit

  • Documentation
    • Published a changelog announcing a limited‑time 50% discount on Claude Code via RouteWay, with unified‑API setup instructions.
    • Published the Claude Code configuration changelog (draft status removed).
    • Updated examples to show an optional model override (example switched to gpt‑5) and note the default via the unified API.
    • Removed the “Tool Support” and provider‑specific models sections.
    • Added a “now run claude!” example command in docs and blog.

Add a new changelog entry highlighting the 50% discount on Claude Code via RouteWay. Update configuration examples for optional model selection with clarified defaults. Remove outdated tool support note for cleanliness.
@coderabbitai

coderabbitai Bot commented Sep 19, 2025 •

Copy link
Copy Markdown
Contributor

Walkthrough

Updated several documentation and changelog files: finalized a draft changelog, added a new promo changelog, updated Anthropic docs example model reference, and modified a blog post to remove provider-specific model examples and add an explicit "now run claude" example.

Changes

Cohort / File(s) Summary of Changes
Finalize changelog
apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md
Removed draft: true front matter; changed example ANTHROPIC_MODEL from glm-4.5v to gpt-5; added comment about optional model selection and an explicit # now run claude! / claude run line in examples; removed the "Tool Support" bullet from Key Benefits.
New changelog entry (promo)
apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md
Added new post with front matter (id, slug, date, title, summary, image) announcing 50% off Claude Code via RouteWay/LLMGateway; includes env setup (ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN), optional ANTHROPIC_MODEL (example gpt-5), image reference, and promo closing.
Docs example update
apps/docs/content/features/anthropic-endpoint.mdx
Updated Basic Usage snippet to use openai/gpt-5 (was openai/gpt-4o) and added explicit # now run claude! / claude command plus minor spacing for readability.
Blog post update
apps/ui/src/content/blog/2025-09-08-how-configure-claude-code-with-llmgateway.md
Removed the "Provider-Specific Models" subsection (provider-specific env examples); added # now run claude! and an immediate claude invocation; retained generic ANTHROPIC_MODEL guidance.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • smakosh

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title concisely and accurately summarizes the primary changes in the PR: it adds a changelog entry about a 50% discount and notes related configuration/example updates, making it relevant and clear for reviewers scanning history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/change

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@steebchen steebchen changed the title feat(docs): add changelog for 50% discount and config updates feat(changelog): add 50% discount and config updates Sep 19, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (3)
apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md (1)

7-11: Brand naming consistency in alt text.

Alt uses “LLM Gateway” while the rest of the page uses “LLMGateway”. Standardize to one form.

-  alt: "Claude Code configuration support on LLM Gateway"
+  alt: "Claude Code configuration support on LLMGateway"
apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md (2)

22-26: Consider inlining the optional model line with the primary setup block.

Reduces friction: users copy one block and are done.

 export ANTHROPIC_BASE_URL=https://api.llmgateway.io
 export ANTHROPIC_AUTH_TOKEN=llmgtwy_.... # your llmgateway.io api key here
-
-```
-
-### Optional Variable
-
-```shell
-# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
-export ROUTEWAY_MODEL=gpt-5
+# optionally, choose your model (provider/model); otherwise the default Claude model via LLMGateway is used
+export ANTHROPIC_MODEL=openai/gpt-5

14-17: Add an explicit end date/timezone for the discount.

Clarifies eligibility and avoids support churn.

-🎉 **Limited Time: 50% Off Claude Code via RouteWay!**
+🎉 **Limited Time: 50% Off Claude Code via RouteWay!** (valid until 2025-10-05 23:59 UTC)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2098a39 and 0518833.

📒 Files selected for processing (2)
  • apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md (1 hunks)
  • apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build / run
  • GitHub Check: test / run
  • GitHub Check: autofix
🔇 Additional comments (1)
apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md (1)

51-51: Verified — blog route exists.
Content file apps/ui/src/content/blog/2025-09-08-how-configure-claude-code-with-llmgateway.md exists (slug: how-to-configure-claude-code-with-llmgateway); changelog link /blog/how-to-configure-claude-code-with-llmgateway is correct.

Comment on lines +23 to 25
# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
export ANTHROPIC_MODEL=gpt-5 # choose your model with tool support
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Align model value format with the “Popular Model Options” list (provider/model).

Example list items use provider-qualified names (e.g., openai/gpt-5), but the snippet sets ANTHROPIC_MODEL=gpt-5. This can confuse users and may not route as intended if aliases aren’t supported. Prefer a fully qualified value or explicitly document alias support.

Apply this diff:

-# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
-export ANTHROPIC_MODEL=gpt-5 # choose your model with tool support
+# optionally, choose your model (provider/model); otherwise the default Claude model via LLMGateway is used
+export ANTHROPIC_MODEL=openai/gpt-5 # choose your model with tool support

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md
around lines 23 to 25, the example sets ANTHROPIC_MODEL=gpt-5 which is
inconsistent with the "Popular Model Options" that use provider-qualified names;
update the snippet to use a fully-qualified provider/model value (e.g.,
anthropic/gpt-5) or add a short note stating that unqualified aliases like
"gpt-5" are supported by the system, and ensure the example and surrounding text
consistently use the provider-qualified format.

Comment on lines +2 to +4
id: "20"
slug: "claude-code-50-percent-off"
date: "2025-09-19"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

🧩 Analysis chain

Ensure id/slug uniqueness across changelog entries.

Conflicts can break listings or routes.


🏁 Script executed:

#!/bin/bash
# Check duplicate ids
rg -n '^id:\s*"[0-9]+"' apps/ui/src/content/changelog | awk -F'"' '{print $2}' | sort | uniq -d

# Check duplicate slugs
rg -n '^slug:\s*"' apps/ui/src/content/changelog | awk -F'"' '{print $2}' | sort | uniq -d

Length of output: 2


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "Searching for files with id \"19\" under apps/ui/src/content/changelog..."
rg -n -S '^id:\s*"19"' apps/ui/src/content/changelog || true

echo
echo "Unique files containing id \"19\":"
rg -l -S '^id:\s*"19"' apps/ui/src/content/changelog || true

echo
echo "Showing id/slug lines for each matched file:"
rg -l -S '^id:\s*"19"' apps/ui/src/content/changelog || true | while IFS= read -r f; do
  echo "---- $f ----"
  rg -n -S '^(id|slug):' "$f" || true
done

Length of output: 599


Duplicate changelog id "19" found — fix required

id "19" appears in:

  • apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md
  • apps/ui/src/content/changelog/2025-09-11-alibaba-qwen-models.md

Assign a unique id to one of these entries (and verify slugs) to avoid broken listings/routes.

🤖 Prompt for AI Agents
In apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md around
lines 2–4, there are duplicate changelog ids (id "19" already used in
2025-09-08-claude-code-configuration-support.md and
2025-09-11-alibaba-qwen-models.md); pick a unique id value (one not present in
any other changelog file), update the id field in the appropriate file to that
unique number, and verify the corresponding slug(s) remain correct so
routes/listings are not broken.

Comment on lines +8 to +11
src: "/changelog/claude-code-50-percent-off-09-19.png"
alt: "Claude Code 50% off limited time offer"
width: 1768
height: 677

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

🧩 Analysis chain

Verify image asset exists and dimensions are correct.

Prevent broken images on the changelog page.


🏁 Script executed:

#!/bash
# Check image exists anywhere in the repo
fd -a 'claude-code-50-percent-off-09-19.png'

# Optional: spot-check other changelog images referenced by this PR
rg -n '\/changelog\/.*\.png' apps/ui/src/content/changelog -n

Length of output: 86


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "Searching for exact image filename..."
if command -v fd >/dev/null 2>&1; then
  fd -HI --hidden --follow 'claude-code-50-percent-off-09-19.png' || true
else
  rg --files | rg -n 'claude-code-50-percent-off-09-19.png' || true
fi

echo
echo "Listing PNG references under apps/ui/src/content/changelog..."
rg -n --hidden -S '/changelog/.*\.png' apps/ui/src/content/changelog || true

# If the file is found, attempt to print filesystem info and image dimensions
file_path=$(fd -HI --hidden --follow 'claude-code-50-percent-off-09-19.png' -0 2>/dev/null | tr '\0' '\n' | head -n1 || true)
if [ -n "$file_path" ]; then
  echo
  echo "Found image at: $file_path"
  ls -l "$file_path" || true

  if command -v identify >/dev/null 2>&1; then
    identify -format "identify: %w %h\n" "$file_path" || true
  else
    python - <<'PY' || true
import sys
p = sys.argv[1]
try:
    from PIL import Image
except Exception as e:
    print("Pillow not installed; skipping dimension check:", e)
    raise SystemExit(0)
try:
    img = Image.open(p)
    print("PIL dims: {}x{}".format(img.width, img.height))
except Exception as e:
    print("Failed to read image dimensions:", e)
PY "$file_path"
  fi
else
  echo
  echo "Image not found in repo."
fi

Length of output: 3436


Missing changelog image — file not in repo; add or fix path

  • apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md (lines 8–11) references /changelog/claude-code-50-percent-off-09-19.png but the image asset is not present in the repository — add the image to the appropriate static/changelog directory or update the src to an existing asset.
  • Frontmatter sets width: 1768 and height: 677 — ensure the committed image matches these dimensions or update the width/height values.
🤖 Prompt for AI Agents
In apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md around
lines 8 to 11 the frontmatter references
/changelog/claude-code-50-percent-off-09-19.png which is missing from the repo;
add the PNG to the app's static/changelog directory (e.g.
apps/ui/public/static/changelog/) using the exact filename and case, or update
the src to point to an existing asset path; ensure the committed image matches
the frontmatter width: 1768 and height: 677 (or update those values to the
image's actual pixel dimensions), then commit the image and frontmatter change
so the path resolves in production.

Comment on lines +30 to +33
```shell
# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
export ROUTEWAY_MODEL=gpt-5
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

ROUTEWAY_MODEL likely not read by Claude Code; use ANTHROPIC_MODEL for consistency.

Claude Code typically reads ANTHROPIC_* vars. Introducing ROUTEWAY_MODEL risks copy‑paste breakage. Recommend using ANTHROPIC_MODEL with provider/model values, matching the 2025‑09‑08 post.

-# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
-export ROUTEWAY_MODEL=gpt-5
+# optionally, choose your model (provider/model); otherwise the default Claude model via LLMGateway is used
+export ANTHROPIC_MODEL=openai/gpt-5
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```shell
# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
export ROUTEWAY_MODEL=gpt-5
```
🤖 Prompt for AI Agents
In apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md around
lines 30 to 33, the snippet sets ROUTEWAY_MODEL which Claude Code likely won't
read; change the environment variable to ANTHROPIC_MODEL and provide the
provider/model format used elsewhere (e.g.
ANTHROPIC_MODEL="anthropic/claude-2.1" or similar) so the runtime reads the
correct variable consistently with the 2025-09-08 post.

smakosh and others added 3 commits September 19, 2025 23:21
Corrected example configuration to use "ANTHROPIC_MODEL" instead of the outdated "ROUTEWAY_MODEL" in the changelog.
Added the missing "claude" command to examples across docs, blog,
and changelog. Removed outdated model examples for clarity.
@steebchen
steebchen enabled auto-merge September 19, 2025 21:30
@steebchen
steebchen added this pull request to the merge queue Sep 19, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (6)
apps/ui/src/content/blog/2025-09-08-how-configure-claude-code-with-llmgateway.md (6)

33-35: Good addition; add a quick “installed?” sanity check before running.

A one-liner helps users who haven’t installed the Claude CLI yet.

 # now run claude!
+# (optional) verify the CLI is installed and on PATH
+claude --version || echo "Claude CLI not found. See the official install docs."
 claude

31-33: Align the example model with the rest of the doc or omit it to use the default.

You show gpt-5 here, but later examples use OpenAI gpt‑4o* and Anthropic Sonnet variants. Pick one canonical example or omit to rely on the default to avoid confusion.

Option A (prefer consistency with later Anthropic example):

-# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
-export ANTHROPIC_MODEL=gpt-5 # choose your model on llmgateway which supports tool calls
+# optionally, choose your model (omit to use the default Claude model via LLMGateway)
+export ANTHROPIC_MODEL=anthropic/claude-sonnet-4-20250514  # must support tool calls

Option B (omit to lean on default and reduce churn):

-# optionally, choose your model, otherwise it will use the default Claude model via LLMGateway
-export ANTHROPIC_MODEL=gpt-5 # choose your model on llmgateway which supports tool calls
+# omit ANTHROPIC_MODEL to use LLMGateway’s default Claude model for tool calls

Also confirm the exact default model identifier used by LLMGateway and document it here.


19-21: “50% off for a limited time” needs timeframe or link to terms.

Add an effective/expiry date or a link to promo terms to avoid stale or non‑compliant claims.


48-64: Model identifier consistency.

You mix “openai/gpt-5”, “openai/gpt‑4o‑mini”, “anthropic/claude‑3‑5‑sonnet‑20241022”, and “anthropic/claude‑sonnet‑4‑20250514”. Standardize or add a note that identifiers evolve and to consult the Models page for the latest.


28-33: Clarify the default behavior.

You say “otherwise it will use the default Claude model,” but the exact default isn’t named. Document the concrete default identifier to make behavior predictable.


73-77: API key handling: add a brief security note.

Suggest warning users not to commit shell profiles and to rotate tokens if exposed. Consider pointing to using .env files or a secrets manager.

 echo 'export ANTHROPIC_AUTH_TOKEN=llmgtwy_your_key_here' >> ~/.zshrc
 echo 'export ANTHROPIC_MODEL=openai/gpt-4o' >> ~/.zshrc
 source ~/.zshrc
+# Security tip: never commit shell profiles; rotate tokens if leaked; consider a .env file or a secrets manager.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between de8110d and 57a79f2.

📒 Files selected for processing (4)
  • apps/docs/content/features/anthropic-endpoint.mdx (1 hunks)
  • apps/ui/src/content/blog/2025-09-08-how-configure-claude-code-with-llmgateway.md (1 hunks)
  • apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md (1 hunks)
  • apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/docs/content/features/anthropic-endpoint.mdx
🚧 Files skipped from review as they are similar to previous changes (2)
  • apps/ui/src/content/changelog/2025-09-08-claude-code-configuration-support.md
  • apps/ui/src/content/changelog/2025-09-19-claude-code-50-percent-off.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: build / run
  • GitHub Check: test / run
  • GitHub Check: generate / run
  • GitHub Check: lint / run
  • GitHub Check: autofix

Merged via the queue into main with commit 6fc7626 Sep 19, 2025
10 checks passed
@steebchen
steebchen deleted the feat/change branch September 19, 2025 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants