Skip to content

Conversation

@sairon
Copy link
Member

@sairon sairon commented Jan 22, 2026

Rename all occurrences of add-ons and its variations in commands and flags to apps, with old commands/flags still available for backward compatibility.

The Supervisor API still uses addons, so these occurrences are kept for now, along with the related variables which process them. When/if this API is changed, we can also rename these.

Summary by CodeRabbit

  • New Features

    • Backup/restore commands now accept --app / --apps for selecting apps (deprecated --addons/--addons flag still merged).
  • Documentation

    • Terminology updated across README, help text and templates from “add-on(s)” to “app(s)”.
    • Debug info labels updated (e.g., “SSH Addon type” → “SSH App type”; “Add-on” → “App”).
  • Chores

    • Added deprecation warnings for legacy addon aliases and commands.

Rename all occurrences of add-ons and its variations in commands and
flags to apps, with old commands/flags still available for backward
compatibility.

The Supervisor API still uses addons, so these occurrences are kept for
now, along with the related variables which process them. When/if this
API is changed, we can also rename these.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

Warning

Rate limit exceeded

@sairon has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 33 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Terminology was changed from "add-on(s)" / "addon(s)" to "app(s)" across documentation and CLI commands. Command variables, flags, completion functions, help text, examples, and some init wiring were renamed; deprecation aliases and merging logic were added for backward compatibility (notably for store and apps commands and backup flags).

Changes

Cohort / File(s) Summary
GitHub & Docs
\.github/ISSUE_TEMPLATE/bug_report.md, \.github/copilot-instructions.md, README.md
Replaced "add-on"/"addon"/"addons" wording with "app"/"apps" across templates, contributor instructions, README text and examples.
Top-level apps command & subcommands
cmd/apps.go, cmd/apps_changelog.go, cmd/apps_info.go, cmd/apps_install.go, cmd/apps_logs.go, cmd/apps_rebuild.go, cmd/apps_restart.go, cmd/apps_start.go, cmd/apps_stats.go, cmd/apps_stop.go, cmd/apps_uninstall.go, cmd/apps_update.go
Renamed commands/variables from addons*apps*; updated Use/Short/Long/Example strings, completion references (addonsCompletionsappsCompletions), Run log messages, and parent registrations. Added PersistentPreRun deprecation scan in apps.go to detect deprecated addon aliases.
Store commands
cmd/store.go, cmd/store_apps.go, cmd/store_apps_install.go, cmd/store_apps_update.go, cmd/store_reload.go, cmd/store_repositories_add.go, cmd/store_repositories_delete.go, cmd/store_repositories_repair.go
Renamed store addon commands to apps variants (storeAddonsCmdstoreAppsCmd), updated help text and API path strings (addonsapps), renamed completions (storeAddonCompletionsstoreAppCompletions), and added a PersistentPreRun deprecation warning in store_apps.go.
Backup commands
cmd/backups.go, cmd/backups_freeze.go, cmd/backups_new.go, cmd/backups_restore.go
Updated help text to "apps"; renamed completions (backupsAddonsCompletionsbackupsAppsCompletions). Introduced new --app / --apps flags (short -a) for partial backup/restore, kept --addons as hidden deprecated alias and merged its values into apps at runtime.
Other command docs/strings
cmd/os_datadisk_wipe.go, cmd/refresh_updates.go, cmd/supervisor.go
Minor help-text updates changing "add-on(s)" to "app(s)" without logic changes.
Misc completions & helpers
cmd/... (completion function renames across affected files)
Multiple completion helper functions and references renamed to align with apps naming (e.g., addonsCompletionsappsCompletions, storeAddonCompletionsstoreAppCompletions).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ 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 'Rename add-ons to apps with deprecated backward compatibility' accurately and specifically describes the main change: renaming add-ons terminology to apps while maintaining backward compatibility with deprecation warnings.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch addons-to-apps

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.

Copy link
Contributor

@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: 6

🤖 Fix all issues with AI agents
In @.github/ISSUE_TEMPLATE/bug_report.md:
- Line 12: Update the UI label "SSH App type" to use sentence-style
capitalization and bold formatting by changing it to "**SSH app type**" (keep
the acronym SSH uppercase), and apply the same treatment (bold + sentence-style
capitalization) to the other UI labels referenced on lines 21-22 so all UI
strings in this template use bold and sentence-style capitalization.

In `@cmd/apps_stop.go`:
- Around line 13-15: The Long description for the stop command is wrong (it says
"start a stopped" app); update the Cobra command's Long string in
cmd/apps_stop.go (the stop command variable—e.g., the apps stop command
declaration's Long field) to correctly describe stopping a running Home
Assistant app (for example: "This command allows you to manually stop a running
Home Assistant app"). Ensure the text clearly references "stop" instead of
"start" and mirrors phrasing used by other app commands.

In `@cmd/store_reload.go`:
- Around line 12-17: Update the Long help string for the store reload command to
fix the grammar: change "This commands allows you to..." to "This command allows
you to...". Locate the Long field on the command definition (the Long string in
the store reload cobra command, e.g., the Long property in the command struct
for store_reload) and replace "commands" with "command" so the sentence reads
correctly.

In `@cmd/store_repositories_repair.go`:
- Line 14: Update the help/description text that currently reads "Repair/reset a
repository of apps that is missing from store, showing" to include the definite
article and read "missing from the store"; locate and modify the string literal
containing that sentence in cmd/store_repositories_repair.go (the help/usage or
description text for the repair/reset command) so the sentence becomes
grammatically correct.

In `@cmd/store.go`:
- Around line 14-18: Update the Long description for the store command in
cmd/store.go to replace the awkward phrase "later apps" with clearer wording
such as "additional apps" (or "latest apps") and adjust surrounding phrasing for
grammar; locate the Long string in the store command definition and edit the
sentence "It also provides functionality for managing stores that provide later
apps." to something like "It also provides functionality for managing stores
that provide additional apps." to improve clarity.

In `@README.md`:
- Around line 62-64: The installation text in README.md should use bold for UI
strings: wrap UI labels like "SSH app", "app store", and "Visual Studio Code
app" in bold formatting (e.g., **SSH app**, **app store**, **Visual Studio Code
app**) to comply with the documentation guideline; update the sentence that
currently reads "the SSH app (available in the app store) provides access to
this tool and several community apps provide it as well (e.g., the Visual Studio
Code app)" to use the bolded UI strings while keeping the existing wording and
punctuation intact.
🧹 Nitpick comments (2)
cmd/backups_new.go (1)

42-48: Deduplicate merged --apps and deprecated --addons values.
If both flags are used, duplicates can be sent in the payload. Consider de-duplication to avoid redundant entries.

♻️ Suggested tweak
 apps, err := cmd.Flags().GetStringArray("apps")
 addonsDeprecated, _ := cmd.Flags().GetStringArray("addons")
 apps = append(apps, addonsDeprecated...)
 log.WithField("apps", apps).Debug("apps")
+if len(apps) > 1 {
+	uniq := make([]string, 0, len(apps))
+	seen := map[string]struct{}{}
+	for _, app := range apps {
+		if app == "" {
+			continue
+		}
+		if _, ok := seen[app]; ok {
+			continue
+		}
+		seen[app] = struct{}{}
+		uniq = append(uniq, app)
+	}
+	apps = uniq
+}
cmd/apps_changelog.go (1)

19-21: Minor: Example formatting inconsistent with other commands.

The examples lack the leading two-space indentation used in other command files (e.g., apps_stats.go, apps_start.go). This is a minor consistency nit.

Proposed fix for consistency
 	Example: `
-ha apps changelog core_ssh
-ha apps changelog core_mosquitto`,
+  ha apps changelog core_ssh
+  ha apps changelog core_mosquitto`,

## Debug information

1. SSH Addon type
1. SSH App type
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Bold UI labels and use sentence-style capitalization.

Apply bold to UI labels and use sentence-style capitalization for consistency.

Proposed fix
-1. SSH App type
+1. **SSH app type**
 
- App:
- App version:
+ **App**:
+ **App version**:

As per coding guidelines, use bold for UI strings and sentence-style capitalization.

Also applies to: 21-22

🤖 Prompt for AI Agents
In @.github/ISSUE_TEMPLATE/bug_report.md at line 12, Update the UI label "SSH
App type" to use sentence-style capitalization and bold formatting by changing
it to "**SSH app type**" (keep the acronym SSH uppercase), and apply the same
treatment (bold + sentence-style capitalization) to the other UI labels
referenced on lines 21-22 so all UI strings in this template use bold and
sentence-style capitalization.

Comment on lines +62 to +64
Furthermore, the SSH app (available in the app store) provides
access to this tool and several community apps provide it as well (e.g.,
the Visual Studio Code app).
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Bold UI strings in the installation text.

Mark UI strings in bold to align with documentation guidance.

Proposed fix
-Furthermore, the SSH app (available in the app store) provides
-access to this tool and several community apps provide it as well (e.g.,
-the Visual Studio Code app).
+Furthermore, the **SSH app** (available in the **app store**) provides
+access to this tool and several community apps provide it as well (for example,
+the **Visual Studio Code app**).

As per coding guidelines, use bold for UI strings.

📝 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
Furthermore, the SSH app (available in the app store) provides
access to this tool and several community apps provide it as well (e.g.,
the Visual Studio Code app).
Furthermore, the **SSH app** (available in the **app store**) provides
access to this tool and several community apps provide it as well (for example,
the **Visual Studio Code app**).
🤖 Prompt for AI Agents
In `@README.md` around lines 62 - 64, The installation text in README.md should
use bold for UI strings: wrap UI labels like "SSH app", "app store", and "Visual
Studio Code app" in bold formatting (e.g., **SSH app**, **app store**, **Visual
Studio Code app**) to comply with the documentation guideline; update the
sentence that currently reads "the SSH app (available in the app store) provides
access to this tool and several community apps provide it as well (e.g., the
Visual Studio Code app)" to use the bolded UI strings while keeping the existing
wording and punctuation intact.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Renames CLI-facing “add-ons” terminology to “apps” across commands, flags, and documentation while keeping deprecated aliases/flags for backward compatibility (Supervisor API paths remain addons).

Changes:

  • Introduces apps / store apps as the primary commands while keeping addons aliases with deprecation warnings.
  • Renames backup partial-selection flag from --addons to --apps, preserving --addons as hidden+deprecated.
  • Updates help text and documentation to use “apps” wording.

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
cmd/supervisor.go Updates Supervisor command help text to say “apps”.
cmd/store_repositories_repair.go Updates store repository repair help text terminology.
cmd/store_repositories_delete.go Updates store repository delete help text terminology.
cmd/store_repositories_add.go Updates store repository add help text terminology.
cmd/store_reload.go Renames store reload help text to “app store”.
cmd/store_apps_update.go Renames store “addons update” subcommand to “apps update” (API path unchanged).
cmd/store_apps_install.go Renames store “addons install” subcommand to “apps install” (API path unchanged).
cmd/store_apps.go Introduces ha store apps with addons* aliases + deprecation warning + updated completions name.
cmd/store.go Updates store command help/examples to prefer store apps.
cmd/refresh_updates.go Updates refresh-updates help text to refer to “app repositories”.
cmd/os_datadisk_wipe.go Updates OS datadisk wipe help text to say “apps”.
cmd/backups_restore.go Adds --apps flag and preserves --addons as hidden+deprecated, mapping to API addons.
cmd/backups_new.go Adds --apps flag and preserves --addons as hidden+deprecated, mapping to API addons.
cmd/backups_freeze.go Updates backups freeze help text to say “apps”.
cmd/backups.go Renames backup add-on completion helper to backupsAppsCompletions.
cmd/apps_update.go Renames addons update command to apps update (API path unchanged).
cmd/apps_uninstall.go Renames addons uninstall command to apps uninstall (API path unchanged).
cmd/apps_stop.go Renames addons stop command to apps stop (API path unchanged).
cmd/apps_stats.go Renames addons stats command to apps stats (API path unchanged).
cmd/apps_start.go Renames addons start command to apps start (API path unchanged).
cmd/apps_restart.go Renames addons restart command to apps restart (API path unchanged).
cmd/apps_rebuild.go Renames addons rebuild command to apps rebuild (API path unchanged).
cmd/apps_logs.go Renames addons logs command to apps logs (API path unchanged).
cmd/apps_install.go Renames addons install command to apps install (API path unchanged).
cmd/apps_info.go Renames addons info command to apps info (API path unchanged).
cmd/apps_changelog.go Renames addons changelog command to apps changelog (API path unchanged).
cmd/apps.go Introduces ha apps with addons* aliases + deprecation warning + updated completions name.
README.md Updates documentation to prefer apps terminology and command listing.
.github/copilot-instructions.md Updates repo instructions to reflect apps terminology.
.github/ISSUE_TEMPLATE/bug_report.md Updates issue template wording from add-on to app.
Comments suppressed due to low confidence (3)

cmd/apps_stop.go:15

  • The long description for the stop command says it will "manually start" a stopped app, which contradicts the command’s purpose. Please update the Long text to describe stopping a running app.
    cmd/store_apps.go:18
  • Help text grammar reads awkwardly: "commands for installing or update them" should be "commands for installing or updating them".
    cmd/apps.go:19
  • Help text grammar: "commands for installing, removing, configure and control them" should use consistent verb forms (e.g., "installing, removing, configuring, and controlling them").

Short: "Reloads/Refreshes the Home Assistant app store",
Long: `
This commands allows you to force a reload/refresh of the Home Assistant add-on
This commands allows you to force a reload/refresh of the Home Assistant app
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

Grammar in the help text: "This commands allows" should be "This command allows".

Suggested change
This commands allows you to force a reload/refresh of the Home Assistant app
This command allows you to force a reload/refresh of the Home Assistant app

Copilot uses AI. Check for mistakes.
cmd/store.go Outdated
Comment on lines 16 to 18
The store command allows you to manage Home Assistant apps by exposing
commands for installing or update them. It also provides functionality
for managing stores that provide later add-ons.`,
for managing stores that provide later apps.`,
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

Help text grammar reads awkwardly: "commands for installing or update them" should be "commands for installing or updating them", and "stores that provide later apps" should be rephrased (e.g., "stores that provide those apps" / "additional apps").

Copilot uses AI. Check for mistakes.

The CLI can interact remotely with the Home Assistant Supervisor using the
`remote_api` add-on from the [developer add-ons repository](https://github.com/home-assistant/addons-development).
`remote_api` app from the [developer app repository](https://github.com/home-assistant/addons-development).
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The link points to addons-development, but the surrounding text now calls it a "developer app repository". Consider keeping the link text consistent with the repository name (or updating the link if a renamed repository exists) to avoid confusion.

Suggested change
`remote_api` app from the [developer app repository](https://github.com/home-assistant/addons-development).
`remote_api` app from the [Home Assistant add-ons development repository](https://github.com/home-assistant/addons-development).

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@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: 2

🤖 Fix all issues with AI agents
In `@cmd/backups_new.go`:
- Line 113: The completion is registered for the wrong flag:
backupsNewCmd.RegisterFlagCompletionFunc currently uses "apps" but the actual
flag is named "app"; update the RegisterFlagCompletionFunc call to use "app" so
backupsAppsCompletions is wired to the correct --app flag (verify backupsNewCmd
and the flag definition for "app" if needed).
- Around line 47-50: The condition checking flag changes uses
cmd.Flags().Changed("apps") but the actual flag is defined as "app", so the
check never succeeds; update the flag check in the conditional that references
apps/err (the block that sets options["addons"] = apps and command =
"new/partial") to call cmd.Flags().Changed("app") instead of "apps" so the --app
flag triggers the partial backup path.

@sairon sairon requested a review from agners February 2, 2026 17:20
Copy link
Member

@agners agners left a comment

Choose a reason for hiding this comment

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

LGTM

@sairon sairon merged commit 3297ab0 into master Feb 2, 2026
9 checks passed
@sairon sairon deleted the addons-to-apps branch February 2, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants