Skip to content

Rebranding#6

Merged
napmany merged 3 commits intomainfrom
rebranding
Nov 21, 2025
Merged

Rebranding#6
napmany merged 3 commits intomainfrom
rebranding

Conversation

@napmany
Copy link
Copy Markdown
Owner

@napmany napmany commented Nov 21, 2025

It is llmsnap from now on:)

Summary by CodeRabbit

  • Chores

    • Rebranded project naming throughout codebase, documentation, and configuration files
    • Updated repository and Docker image references to new namespace
    • Migrated module paths and service names
  • Bug Fixes

    • Fixed build script control flow
    • Added validation for missing configuration files on startup
    • Improved process lifecycle management with existence checks

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Nov 21, 2025

Walkthrough

This pull request rebands the project from "llama-swap" to "llmsnap", including updates to the Go module path from mostlygeek/llama-swap to napmany/llmsnap, all import statements, configuration files, documentation, build scripts, installation tools, and UI components. Functional logic remains unchanged.

Changes

Cohort / File(s) Summary
Go Module & Import Updates
go.mod, proxy/helpers_test.go, proxy/logMonitor.go, proxy/metrics_monitor.go, proxy/metrics_monitor_test.go, proxy/process_test.go, proxy/processgroup.go, proxy/processgroup_test.go, proxy/proxymanager_api.go, proxy/proxymanager_test.go
Module path changed from github.com/mostlygeek/llama-swap to github.com/napmany/llmsnap; all affected import paths updated consistently.
Core Source & Startup Messages
llama-swap.go, proxy/process.go, proxy/proxymanager.go
Import paths updated to new module; startup log messages and owned_by field in model records updated from "llama-swap" to "llmsnap".
Command-Line Tools
cmd/misc/benchmark-chatcompletion/main.go, cmd/simple-responder/simple-responder.go
Inline comments updated to reference "llmsnap" instead of "llama-swap".
Documentation & README Files
README.md, CLAUDE.md, docs/configuration.md, docs/examples/README.md, docs/examples/aider-qwq-coder/README.md, docs/examples/aider-qwq-coder/aider.model.settings.dualgpu.yml, docs/examples/benchmark-snakegame/README.md, docs/examples/speculative-decoding/README.md, cmd/wol-proxy/README.md
Project name and references updated from "llama-swap" to "llmsnap" across all documentation; URLs and asset references updated to reflect new repository owner (napmany).
Enhanced Example Script
docs/examples/restart-on-config-change/README.md
Rebranding updates plus control-flow enhancements: added usage validation, process existence verification before SIGTERM, and sleep interval after config changes.
Configuration & Schema
config-schema.json, config.example.yaml, .gitignore, ai-plans/issue-264-add-metadata.md
Schema IDs and descriptions updated to "llmsnap"; example config YAML modeline and comments updated; ignore rules added for config\*.yaml with exception for config.example.yaml; metadata key renamed from llamaswap\_meta to llmsnap\_meta in design docs.
Build & Deployment
Makefile, .github/workflows/release.yml, docker/build-container.sh, docker/llmsnap.Containerfile, .github/ISSUE_TEMPLATE/bug-report.md
APP\_NAME updated in Makefile; repository dispatch reference updated; Docker build script updated to use llmsnap.Containerfile and added missing fi; Dockerfile updated to pull llmsnap binary from napmany/llmsnap; issue template updated.
Installation & Service Scripts
scripts/install.sh, scripts/uninstall.sh
User/group names, systemd service names, binary names, config paths, and related installation logic updated from llama-swap to llmsnap throughout.
User Interface
ui/index.html, ui/public/site.webmanifest, ui/src/components/Header.tsx, ui/src/contexts/ThemeProvider.tsx
Page title, manifest name/short\_name, default header title, and theme provider storage key updated to reflect "llmsnap" branding.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • High-volume homogeneous changes across 50+ files, but primarily straightforward name/path replacements reduce individual file review burden.
  • Import path consistency verification required after module path change from mostlygeek to napmany; verify all import statements resolve correctly.
  • Functional logic changes in docs/examples/restart-on-config-change/README.md (process existence check, sleep interval, usage validation) require separate reasoning.
  • Schema & ownership field updates in config-schema.json and proxy/proxymanager.go need verification to ensure field changes are intentional.
  • Docker script fix (missing fi statement in build-container.sh) should be reviewed for correctness.

Possibly related PRs

  • Fix containers build action #5 — Modifies docker/build-container.sh for container and repository reference updates, overlapping with this PR's Docker build changes.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Rebranding' directly and accurately reflects the main objective of this pull request, which comprehensively renames the project from llama-swap to llmsnap across all files, configurations, and documentation.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rebranding

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

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

23-24: Update issue/PR references to the new repository.

Several links still reference the old repository mostlygeek/llama-swap and should be updated to napmany/llmsnap for consistency.

The following lines contain old repository references:

  • Line 23: github.com/mostlygeek/llama-swap/issues/36
  • Line 24: github.com/mostlygeek/llama-swap/issues/41#issuecomment-2722637867
  • Line 31: github.com/mostlygeek/llama-swap/pull/31
  • Line 32: github.com/mostlygeek/llama-swap/issues/58
  • Line 34: github.com/mostlygeek/llama-swap/issues/61
  • Line 38: github.com/mostlygeek/llama-swap/issues/107
  • Line 42: github.com/mostlygeek/llama-swap/pull/235
  • Line 159: github.com/mostlygeek/llama-swap/issues/236

Apply this diff:

-  - `v1/audio/speech` ([#36](https://github.com/mostlygeek/llama-swap/issues/36))
-  - `v1/audio/transcriptions` ([docs](https://github.com/mostlygeek/llama-swap/issues/41#issuecomment-2722637867))
+  - `v1/audio/speech` ([#36](https://github.com/napmany/llmsnap/issues/36))
+  - `v1/audio/transcriptions` ([docs](https://github.com/napmany/llmsnap/issues/41#issuecomment-2722637867))
-  - `/upstream/:model_id` - direct access to upstream server ([demo](https://github.com/mostlygeek/llama-swap/pull/31))
-  - `/models/unload` - manually unload running models ([#58](https://github.com/mostlygeek/llama-swap/issues/58))
+  - `/upstream/:model_id` - direct access to upstream server ([demo](https://github.com/napmany/llmsnap/pull/31))
+  - `/models/unload` - manually unload running models ([#58](https://github.com/napmany/llmsnap/issues/58))
-  - `/running` - list currently running models ([#61](https://github.com/mostlygeek/llama-swap/issues/61))
+  - `/running` - list currently running models ([#61](https://github.com/napmany/llmsnap/issues/61))
-  - Run multiple models at once with `Groups` ([#107](https://github.com/mostlygeek/llama-swap/issues/107))
+  - Run multiple models at once with `Groups` ([#107](https://github.com/napmany/llmsnap/issues/107))
-  - Preload models on startup with `hooks` ([#235](https://github.com/mostlygeek/llama-swap/pull/235))
+  - Preload models on startup with `hooks` ([#235](https://github.com/napmany/llmsnap/pull/235))
-If you deploy llmsnap behind nginx, disable response buffering for streaming endpoints. By default, nginx buffers responses which breaks Server‑Sent Events (SSE) and streaming chat completion. ([#236](https://github.com/mostlygeek/llama-swap/issues/236))
+If you deploy llmsnap behind nginx, disable response buffering for streaming endpoints. By default, nginx buffers responses which breaks Server‑Sent Events (SSE) and streaming chat completion. ([#236](https://github.com/napmany/llmsnap/issues/236))

Also applies to: 31-34, 38-38, 42-42, 159-159

🧹 Nitpick comments (5)
CLAUDE.md (1)

5-5: Minor grammar suggestion: hyphenate compound adjective.

Consider hyphenating "OpenAI-compatible" as it's a compound adjective modifying "servers."

Apply this diff:

-llmsnap is a light weight, transparent proxy server that provides automatic model swapping to vllm, llama.cpp and other OpenAI compatible servers.
+llmsnap is a light weight, transparent proxy server that provides automatic model swapping to vllm, llama.cpp and other OpenAI-compatible servers.
docs/examples/README.md (1)

3-3: Minor spelling suggestion: "use cases" should be two words.

The project name has been correctly updated to "llmsnap". Consider changing "usecases" to "use cases" (two words) for proper spelling.

Apply this diff:

-A collections of usecases and examples for getting the most out of llmsnap.
+A collections of use cases and examples for getting the most out of llmsnap.
README.md (1)

1-1: Address the TODO comment for header image redesign.

The TODO indicates the header image needs to be redesigned with llmsnap branding.

Do you want me to create an issue to track this task, or would you prefer to address it in this PR?

ui/src/contexts/ThemeProvider.tsx (1)

25-25: Persistent key rename drops previously stored titles (probably fine for rebrand)

Switching the key to "appTitle" with default "llmsnap" means any custom title previously stored under "app-title" will no longer be read and users will see the new default until they change it again. If you want to preserve existing custom titles across the rebrand, consider a one-time migration (e.g., on mount, read "app-title" if "appTitle" is unset and then write it under the new key); otherwise the current change is a reasonable clean break.

proxy/proxymanager.go (1)

412-432: owned_by rebranded to llmsnap—consider aligning the meta namespace too

Setting "owned_by": "llmsnap" matches the new branding. The nested meta block still uses the "llamaswap" key for namespacing metadata; if this response is considered public and you want a clean external rename, you may want to either change that key to "llmsnap" or expose both old and new keys for backward compatibility.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 77c34d8 and 09fd759.

⛔ Files ignored due to path filters (2)
  • header.jpeg is excluded by !**/*.jpeg
  • header2.png is excluded by !**/*.png
📒 Files selected for processing (40)
  • .github/ISSUE_TEMPLATE/bug-report.md (1 hunks)
  • .github/workflows/release.yml (1 hunks)
  • .gitignore (1 hunks)
  • CLAUDE.md (1 hunks)
  • Makefile (1 hunks)
  • README.md (9 hunks)
  • ai-plans/issue-264-add-metadata.md (6 hunks)
  • cmd/misc/benchmark-chatcompletion/main.go (1 hunks)
  • cmd/simple-responder/simple-responder.go (1 hunks)
  • cmd/wol-proxy/README.md (1 hunks)
  • config-schema.json (2 hunks)
  • config.example.yaml (5 hunks)
  • docker/build-container.sh (1 hunks)
  • docker/llmsnap.Containerfile (1 hunks)
  • docs/configuration.md (10 hunks)
  • docs/examples/README.md (1 hunks)
  • docs/examples/aider-qwq-coder/README.md (4 hunks)
  • docs/examples/aider-qwq-coder/aider.model.settings.dualgpu.yml (1 hunks)
  • docs/examples/benchmark-snakegame/README.md (2 hunks)
  • docs/examples/restart-on-config-change/README.md (3 hunks)
  • docs/examples/speculative-decoding/README.md (1 hunks)
  • go.mod (1 hunks)
  • llama-swap.go (2 hunks)
  • proxy/helpers_test.go (1 hunks)
  • proxy/logMonitor.go (1 hunks)
  • proxy/metrics_monitor.go (1 hunks)
  • proxy/metrics_monitor_test.go (1 hunks)
  • proxy/process.go (3 hunks)
  • proxy/process_test.go (1 hunks)
  • proxy/processgroup.go (1 hunks)
  • proxy/processgroup_test.go (1 hunks)
  • proxy/proxymanager.go (2 hunks)
  • proxy/proxymanager_api.go (1 hunks)
  • proxy/proxymanager_test.go (2 hunks)
  • scripts/install.sh (7 hunks)
  • scripts/uninstall.sh (2 hunks)
  • ui/index.html (1 hunks)
  • ui/public/site.webmanifest (1 hunks)
  • ui/src/components/Header.tsx (1 hunks)
  • ui/src/contexts/ThemeProvider.tsx (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (4)
scripts/uninstall.sh (1)
scripts/install.sh (3)
  • status (12-12)
  • available (16-16)
  • configure_systemd (104-192)
ui/src/contexts/ThemeProvider.tsx (1)
ui/src/hooks/usePersistentState.ts (1)
  • usePersistentState (3-39)
scripts/install.sh (1)
scripts/uninstall.sh (1)
  • status (10-10)
proxy/processgroup_test.go (2)
proxy/config/config.go (1)
  • ml (27-53)
proxy/config/macro_in_macro_test.go (1)
  • TestConfig_MacroInMacroLIFOOrder (30-47)
🪛 LanguageTool
docs/examples/restart-on-config-change/README.md

[grammar] ~3-~3: Ensure spelling is correct
Context: ...he configuration file can take a bit of trail and error to get a model configuration ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

docs/configuration.md

[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... config.yaml llmsnap is designed to be very simple: one binary, one configuration file. #...

(EN_WEAK_ADJECTIVE)


[grammar] ~44-~44: Use a hyphen to join words.
Context: ... server llmsnap supports any OpenAI API compatible server. If you can run it on ...

(QB_NEW_EN_HYPHEN)

CLAUDE.md

[grammar] ~5-~5: Use a hyphen to join words.
Context: ...ping to vllm, llama.cpp and other OpenAI compatible servers. ## Tech stack - go...

(QB_NEW_EN_HYPHEN)

README.md

[style] ~9-~9: Consider replacing ‘giving’ with a different word to let your writing stand out.
Context: ... with any OpenAI API-compatible server, giving you the flexibility to switch models withou...

(GIVE_TIME_STYLE)


[grammar] ~46-~46: Use a hyphen to join words.
Context: ...5)) ### Web UI llmsnap includes a real time web interface for monitoring logs a...

(QB_NEW_EN_HYPHEN)


[style] ~66-~66: In American English, abbreviations like “etc.” require a period.
Context: ...ultiple platforms (cuda, vulkan, intel, etc). ```shell $ docker pull ghcr.io/napma...

(ETC_PERIOD)


[grammar] ~153-~153: Use a hyphen to join words.
Context: ...rk? When a request is made to an OpenAI compatible endpoint, llmsnap will extrac...

(QB_NEW_EN_HYPHEN)


[grammar] ~205-~205: Use a hyphen to join words.
Context: ...cpp's server (llama-server)? Any OpenAI compatible server would work. For Pytho...

(QB_NEW_EN_HYPHEN)

docs/examples/README.md

[grammar] ~3-~3: Ensure spelling is correct
Context: ...Configs and Use Cases A collections of usecases and examples for getting the most out o...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 Shellcheck (0.11.0)
scripts/uninstall.sh

[warning] 38-38: Quote this to prevent word splitting.

(SC2046)

⏰ 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). (1)
  • GitHub Check: run-tests
🔇 Additional comments (42)
docs/examples/aider-qwq-coder/aider.model.settings.dualgpu.yml (1)

1-1: Correct rebranding of project reference in comment.

The comment has been updated to reflect the new project name "llmsnap" as part of the rebranding effort. No functional changes to the YAML configuration.

cmd/simple-responder/simple-responder.go (1)

126-126: Comment update correctly reflects the rebranding.

The documentation comment has been appropriately updated from "llama-swap" to "llmsnap" to reflect the project's new name. This accurately documents that the endpoint is proxied by the llmsnap service.

proxy/processgroup_test.go (1)

10-10: LGTM! Import path updated correctly.

The import path has been successfully updated to reflect the new module name. This aligns with the repository-wide rebranding from llama-swap to llmsnap.

cmd/misc/benchmark-chatcompletion/main.go (1)

4-4: LGTM! Comment updated for rebranding.

The comment correctly reflects the new project name.

CLAUDE.md (1)

1-1: LGTM! Project name updated.

The project title correctly reflects the new branding.

cmd/wol-proxy/README.md (1)

3-5: LGTM! Documentation updated for rebranding.

The references to llmsnap are consistent with the project-wide rebranding.

docs/examples/speculative-decoding/README.md (1)

14-14: LGTM! Documentation updated for rebranding.

The project name has been correctly updated in the documentation.

.gitignore (1)

8-9: LGTM! Sensible configuration file ignore pattern.

The pattern correctly ignores all config*.yaml files (which may contain sensitive user-specific configurations) while explicitly including config.example.yaml for documentation purposes. This is a good practice for managing configuration files.

proxy/metrics_monitor_test.go (1)

12-12: LGTM! Import path correctly updated.

The import path has been successfully updated to reflect the new module namespace.

Makefile (1)

2-2: LGTM! Binary name updated correctly.

The APP_NAME variable has been updated to "llmsnap", which will correctly update all generated binary names throughout the build targets.

go.mod (1)

1-1: LGTM! Module path updated correctly.

The Go module path has been successfully updated to reflect the new repository namespace. This change is correctly propagated to import statements throughout the codebase.

proxy/helpers_test.go (1)

12-12: LGTM! Import path correctly updated.

The import path for the config package has been successfully updated to match the new module namespace.

docs/examples/benchmark-snakegame/README.md (2)

1-1: LGTM! Documentation title updated.

The title has been correctly updated to reflect the new project name.


108-108: LGTM! Command example updated correctly.

The command example has been updated to use the new binary name "llmsnap".

config.example.yaml (2)

2-2: LGTM! Schema URL updated correctly.

The YAML schema reference has been updated to point to the new repository location.


4-5: LGTM! Configuration documentation updated consistently.

All references to the project name in comments and documentation have been correctly updated from "llama-swap" to "llmsnap".

Also applies to: 15-15, 145-145, 252-252, 356-357

ai-plans/issue-264-add-metadata.md (1)

88-89: LGTM! Planning document updated consistently.

All references to the metadata field name and branding have been correctly updated from "llamaswap_meta"/"llama-swap" to "llmsnap_meta"/"llmsnap" throughout this design document.

Also applies to: 103-103, 106-106, 183-184, 233-234, 260-260, 277-280

ui/public/site.webmanifest (1)

2-3: LGTM! Web manifest updated correctly.

Both the name and short_name fields have been updated to reflect the new branding.

llama-swap.go (2)

17-19: LGTM! Import paths updated correctly.

The module imports have been properly updated to reflect the new namespace.


196-200: LGTM! Startup messages updated correctly.

The log messages now correctly reference the new project name.

scripts/uninstall.sh (1)

2-3: LGTM! Uninstall script updated correctly.

All references to the service name, binary, configuration paths, and user/group have been properly updated to llmsnap.

Also applies to: 26-30, 36-67

.github/ISSUE_TEMPLATE/bug-report.md (1)

10-10: LGTM! Bug report template updated correctly.

The guidance text now correctly references llmsnap.

docs/configuration.md (1)

3-3: LGTM! Configuration documentation updated consistently.

All references to the project name have been properly updated throughout the documentation. The configuration examples and explanations remain clear and accurate.

Also applies to: 13-13, 29-29, 44-44, 73-73, 93-94, 104-104, 212-212, 315-315, 419-420

docs/examples/aider-qwq-coder/README.md (1)

1-1: LGTM! Example documentation updated correctly.

All references to the project name and repository URLs have been properly updated to llmsnap.

Also applies to: 3-3, 9-9, 27-27, 35-35, 65-65, 98-100

docs/examples/restart-on-config-change/README.md (1)

1-1: LGTM! Example script documentation updated correctly.

All references to the project name have been properly updated throughout the example.

Also applies to: 8-34, 41-50

README.md (1)

2-12: LGTM! Main README updated correctly.

The project name, repository URLs, badge links, installation instructions, and feature descriptions have been properly updated to reflect the llmsnap rebranding.

Also applies to: 29-30, 46-47, 57-58, 64-115, 153-156, 160-180, 205-214

config-schema.json (1)

3-5: LGTM! Configuration schema updated correctly.

The schema metadata ($id, title, description) and field descriptions have been properly updated to reference llmsnap.

Also applies to: 167-167

scripts/install.sh (1)

1-213: LGTM! Rebranding changes are consistent.

All references to llama-swap have been successfully updated to llmsnap throughout the installation script, including environment variables, GitHub URLs, system user/group names, file paths, and systemd service names. The script logic remains unchanged.

ui/src/components/Header.tsx (1)

11-11: LGTM! Default title updated consistently.

The default application title has been correctly updated to "llmsnap" to align with the rebranding effort.

ui/index.html (1)

11-11: LGTM! Page title updated.

The HTML page title has been correctly updated to "llmsnap" to match the rebranding.

proxy/processgroup.go (1)

9-9: LGTM! Import path updated correctly.

The config package import path has been updated to reflect the new module path github.com/napmany/llmsnap, consistent with the repository rebranding.

proxy/process_test.go (1)

13-13: LGTM! Test import path updated.

The import path for the config package has been correctly updated to the new module path, maintaining test consistency with the rebranding.

proxy/logMonitor.go (1)

12-12: LGTM! Event package import updated.

The import path for the event package has been correctly updated to reflect the new module namespace.

docker/build-container.sh (1)

51-55: LGTM! Containerfile reference updated.

The Docker build command now correctly references llmsnap.Containerfile, and the conditional block is properly closed with fi. All changes are consistent with the rebranding.

proxy/proxymanager_test.go (2)

18-19: LGTM! Import paths updated correctly.

Both event and config package imports have been updated to the new module path github.com/napmany/llmsnap, maintaining consistency with the repository rebranding.


289-289: LGTM! Test assertion updated to match new branding.

The test expectation for the owned_by field has been correctly updated to "llmsnap", ensuring tests will pass with the rebranded implementation.

proxy/metrics_monitor.go (1)

13-16: Import path rename to llmsnap looks correct

The switch to github.com/napmany/llmsnap/event is consistent with the module rebranding and keeps event.Emit usage intact.

proxy/proxymanager_api.go (1)

11-13: Event import switched to internal llmsnap module as expected

Updating the event import to github.com/napmany/llmsnap/event matches the project rename and should preserve the existing event.On wiring.

proxy/proxymanager.go (1)

17-22: Module import paths updated consistently to llmsnap

Using github.com/napmany/llmsnap/event and github.com/napmany/llmsnap/proxy/config is consistent with the project rename and should be a no-op behavior-wise.

proxy/process.go (2)

21-23: Process dependencies now import from llmsnap module

The event and config imports have been correctly switched to the new github.com/napmany/llmsnap/... paths with no functional impact.


449-449: Shutdown doc and loading banner updated to llmsnap

The Shutdown comment and the user-facing "llmsnap loading model: %s" banner are both aligned with the new project name; no behavioral changes introduced.

Also applies to: 967-967

docker/llmsnap.Containerfile (1)

31-33: Container now pulls and runs llmsnap binary from the new repo

The updated curl URL, tarball name, and ENTRYPOINT (/app/llmsnap) all line up with the new project name; as long as release artifacts are published under llmsnap_${LS_VER}_linux_amd64.tar.gz containing a llmsnap binary, this Dockerfile should continue to work as before.

Also applies to: 38-38

with:
token: ${{ secrets.TAP_REPO_PAT }}
repository: mostlygeek/homebrew-llama-swap
repository: napmany/homebrew-llmsnap
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Nov 21, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

❓ Verification inconclusive

Verify the new Homebrew tap repository exists and is accessible.

The repository reference has been updated from mostlygeek/homebrew-llama-swap to napmany/homebrew-llmsnap. Ensure that:

  1. The new repository exists at napmany/homebrew-llmsnap
  2. The TAP_REPO_PAT secret has appropriate permissions for the new repository
  3. The repository is properly configured to receive repository dispatch events

Run the following script to verify the repository exists:


🏁 Script executed:

#!/bin/bash
# Description: Verify the new Homebrew tap repository exists

# Check if the repository exists and is accessible
gh repo view napmany/homebrew-llmsnap --json name,owner,visibility

Length of output: 97


The new Homebrew tap repository does not exist and must be created or the reference must be corrected.

The repository napmany/homebrew-llmsnap referenced at line 72 cannot be found on GitHub. The release workflow will fail when attempting to deploy to this non-existent repository. Either:

  1. Create the repository at napmany/homebrew-llmsnap with proper access configuration before merging this change, or
  2. Update the repository reference to point to an existing Homebrew tap repository that is properly configured to receive releases
🤖 Prompt for AI Agents
.github/workflows/release.yml around line 72: the workflow references a
non-existent Homebrew tap repo "napmany/homebrew-llmsnap", which will cause
releases to fail; either create the GitHub repository "napmany/homebrew-llmsnap"
with appropriate write access for the workflow runner, or change the repository
field to an existing, correctly configured Homebrew tap (e.g.,
org/user/existing-tap) and ensure the workflow has permission (PAT or
actions/checkout/write) to push there before merging.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

napmany/homebrew-llmsnap repo is on the way

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@napmany, great! Thanks for confirming that you're setting up the napmany/homebrew-llmsnap repository.

Just a reminder: once the repository is created, please make sure that the TAP_REPO_PAT secret in this repository has the necessary permissions to dispatch events to the new Homebrew tap repository. The workflow will need write access to trigger the tap update successfully.

# Restart llmsnap on config change

Sometimes editing the configuration file can take a bit of trail and error to get a model configuration tuned just right. The `watch-and-restart.sh` script can be used to watch `config.yaml` for changes and restart `llama-swap` when it detects a change.
Sometimes editing the configuration file can take a bit of trail and error to get a model configuration tuned just right. The `watch-and-restart.sh` script can be used to watch `config.yaml` for changes and restart `llmsnap` when it detects a change.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix typo: "trail and error" should be "trial and error".

Apply this diff:

-Sometimes editing the configuration file can take a bit of trail and error to get a model configuration tuned just right.
+Sometimes editing the configuration file can take a bit of trial and error to get a model configuration tuned just right.
📝 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
Sometimes editing the configuration file can take a bit of trail and error to get a model configuration tuned just right. The `watch-and-restart.sh` script can be used to watch `config.yaml` for changes and restart `llmsnap` when it detects a change.
Sometimes editing the configuration file can take a bit of trial and error to get a model configuration tuned just right. The `watch-and-restart.sh` script can be used to watch `config.yaml` for changes and restart `llmsnap` when it detects a change.
🧰 Tools
🪛 LanguageTool

[grammar] ~3-~3: Ensure spelling is correct
Context: ...he configuration file can take a bit of trail and error to get a model configuration ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In docs/examples/restart-on-config-change/README.md around line 3, there is a
typo "trail and error" that should read "trial and error"; update the sentence
to replace "trail and error" with "trial and error" so the paragraph reads
correctly mentioning that editing the configuration file can take a bit of trial
and error and the watch-and-restart.sh script can be used to watch config.yaml
for changes and restart llmsnap when it detects a change.

$SUDO rm $(which llama-swap)
if available llmsnap; then
status "Removing llmsnap binary..."
$SUDO rm $(which llmsnap)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Quote the command substitution to prevent word splitting.

The output of which llmsnap should be quoted to handle paths with spaces correctly.

Apply this diff:

-    $SUDO rm $(which llmsnap)
+    $SUDO rm "$(which llmsnap)"
📝 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
$SUDO rm $(which llmsnap)
$SUDO rm "$(which llmsnap)"
🧰 Tools
🪛 Shellcheck (0.11.0)

[warning] 38-38: Quote this to prevent word splitting.

(SC2046)

🤖 Prompt for AI Agents
In scripts/uninstall.sh around line 38, the line calling rm with command
substitution is not quoting the output of which llmsnap, which can break on
paths with spaces; update that invocation to wrap the command-substitution
result in double quotes so rm receives a single pathname token (i.e., quote the
output of which llmsnap) and keep the use of $SUDO as-is.

@napmany napmany merged commit 6279062 into main Nov 21, 2025
4 checks passed
@napmany napmany deleted the rebranding branch November 21, 2025 18:40
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.

1 participant