copy(tools): shorter, jargon-free descriptions across all per-app tools

Tool descriptions were leaking internal vocabulary (Django superuser,
Postgres bcrypt update, htpasswd in protectionauth.yml, gitea admin
user change-password CLI, trusted_domains list, …) and repeating the
label as a full sentence. Beginners don't care, and even experienced
users don't need the CLI name to know what a button does.

Rewrites every tool description to a single short sentence plain
enough that a first-time installer can read it without context.

Conventions applied across the board:
  - One sentence, sentence-case
  - Plain English: "Set a new password", "Add a new user",
    "Permanently remove a user", "List every user"
  - "Leave blank to generate one" only where it's actually useful
    (password fields), and matches the field placeholder text
  - No CLI names, no schema field names, no internal file paths
  - Destructive actions stop saying "permanently" twice (the action
    label + the confirm modal already cover that)
  - Field placeholders harmonised: "Leave blank for random" /
    "Leave blank to generate" → consistently "Leave blank to generate"

Touched files (descriptions only — no logic, no fields removed):
  containers/adguard/tools/adguard.tools.json
  containers/bookstack/tools/bookstack.tools.json
  containers/dashy/tools/dashy.tools.json
  containers/focalboard/tools/focalboard.tools.json
  containers/gitea/tools/gitea.tools.json
  containers/gluetun/tools/gluetun.tools.json
  containers/invidious/tools/invidious.tools.json
  containers/linkding/tools/linkding.tools.json
  containers/nextcloud/tools/nextcloud.tools.json
  containers/pihole/tools/pihole.tools.json
  containers/traefik/tools/traefik.tools.json

Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-05-28 01:27:53 +01:00
parent eebfcc74a8
commit 61b40c96aa
11 changed files with 73 additions and 70 deletions

View File

@ -3,16 +3,16 @@
{ {
"id": "reset_password", "id": "reset_password",
"label": "Reset Admin Password", "label": "Reset Admin Password",
"description": "Reset the AdGuard Home admin password. Leave the field blank to generate a random one — the new password is saved to the config so you can see it after.", "description": "Set a new admin password. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ "name": "password", "label": "New password (leave blank to generate)", "type": "password", "placeholder": "Leave blank for random" } { "name": "password", "label": "New password", "type": "password", "placeholder": "Leave blank to generate" }
] ]
}, },
{ {
"id": "apply_dns_updater", "id": "apply_dns_updater",
"label": "Apply DNS Updater", "label": "Apply DNS Updater",
"description": "Rewrite this server's /etc/resolv.conf to use AdGuard as its DNS resolver right now. Same action that runs automatically when the global DNS Updater requirement is enabled.", "description": "Point this server's DNS at AdGuard now.",
"icon": "🌐", "icon": "🌐",
"fields": [] "fields": []
} }

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset an existing Bookstack user's password. Leave the password field blank to generate a random one — it is shown in the task log.", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -16,9 +16,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -26,7 +26,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Bookstack user. Tick \"Make admin\" to grant full admin rights; otherwise the new user gets the default registration role. Leave the password blank to generate a random one.", "description": "Add a new user. Tick \"Make admin\" for full rights.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -44,9 +44,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -60,7 +60,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Bookstack user with their roles.", "description": "List every user and their role.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -68,7 +68,7 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a user account.", "description": "Permanently remove a user.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone.", "confirm": "This cannot be undone.",
@ -85,7 +85,7 @@
"id": "set_admin", "id": "set_admin",
"category": "users", "category": "users",
"label": "Set Admin Status", "label": "Set Admin Status",
"description": "Promote a user to admin or demote them to a normal user.", "description": "Promote or demote a user.",
"icon": "👑", "icon": "👑",
"fields": [ "fields": [
{ {

View File

@ -3,12 +3,12 @@
{ {
"id": "manage_shortcuts", "id": "manage_shortcuts",
"label": "Manage Shortcuts", "label": "Manage Shortcuts",
"description": "Pick which service URLs appear as shortcuts on the Dashy dashboard.", "description": "Pick which apps appear on the Dashy dashboard.",
"icon": "🧩", "icon": "🧩",
"fields": [ "fields": [
{ {
"name": "selected", "name": "selected",
"label": "URLs to show on the dashboard", "label": "Apps to show on the dashboard",
"type": "app_urls_multi", "type": "app_urls_multi",
"prefillFromCfgKey": "CFG_DASHY_SHORTCUTS", "prefillFromCfgKey": "CFG_DASHY_SHORTCUTS",
"excludeApps": [ "excludeApps": [

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset an existing Focalboard user's password.", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -15,9 +15,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -25,7 +25,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Focalboard user. Leave password blank to generate one.", "description": "Add a new user. Tick \"Make admin\" for full rights.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -42,8 +42,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password" "type": "password",
"placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -57,7 +58,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Focalboard user account.", "description": "List every user.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -65,7 +66,7 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a user account.", "description": "Permanently remove a user.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone.", "confirm": "This cannot be undone.",

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset a Gitea user's password using the built-in `gitea admin user change-password` CLI. Leave the password blank to generate a random one.", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -15,9 +15,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -25,7 +25,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Gitea user via the built-in `gitea admin user create` CLI. Tick \"Make admin\" for full admin rights. Leave the password blank to generate a random one. The account starts ready to log in (no forced password change).", "description": "Add a new user. Tick \"Make admin\" for full rights.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -43,9 +43,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -59,7 +59,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Gitea user account.", "description": "List every user.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -67,7 +67,7 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a user account.", "description": "Permanently remove a user.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone.", "confirm": "This cannot be undone.",
@ -84,7 +84,7 @@
"id": "set_admin", "id": "set_admin",
"category": "users", "category": "users",
"label": "Set Admin Status", "label": "Set Admin Status",
"description": "Promote a user to admin or demote them to a normal user.", "description": "Promote or demote a user.",
"icon": "👑", "icon": "👑",
"fields": [ "fields": [
{ {

View File

@ -3,7 +3,7 @@
{ {
"id": "refresh_providers", "id": "refresh_providers",
"label": "Refresh VPN Providers", "label": "Refresh VPN Providers",
"description": "Re-scan VPN providers and country lists, regenerating the snapshot used by the country picker.", "description": "Refresh the VPN provider and country lists.",
"icon": "🔄", "icon": "🔄",
"fields": [] "fields": []
} }

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset an Invidious user's password (Postgres bcrypt update).", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -15,8 +15,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password" "type": "password",
"placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -24,7 +25,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Invidious user (Invidious uses email as username).", "description": "Add a new user. Sign-in uses the email address.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -35,8 +36,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password" "type": "password",
"placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -50,7 +52,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Invidious user account.", "description": "List every user.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -58,7 +60,7 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a user account.", "description": "Permanently remove a user.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone.", "confirm": "This cannot be undone.",

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset an existing Linkding user's password. Leave the password field blank to generate a random one — it is shown in the task log.", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -16,9 +16,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -26,7 +26,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Linkding user. Tick \"Make admin\" to grant full admin (Django superuser) rights. Leave the password blank to generate a random one.", "description": "Add a new user. Tick \"Make admin\" for full rights.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -44,9 +44,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -60,7 +60,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Linkding user with their admin status.", "description": "List every user with their admin status.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -68,10 +68,10 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a Linkding user account and all of their bookmarks.", "description": "Permanently remove a user and all their bookmarks.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone — the user and all of their bookmarks will be removed.", "confirm": "This cannot be undone.",
"fields": [ "fields": [
{ {
"name": "username", "name": "username",
@ -85,7 +85,7 @@
"id": "set_admin", "id": "set_admin",
"category": "users", "category": "users",
"label": "Set Admin Status", "label": "Set Admin Status",
"description": "Promote a user to admin (Django is_superuser + is_staff) or demote them to a normal user.", "description": "Promote or demote a user.",
"icon": "👑", "icon": "👑",
"fields": [ "fields": [
{ {

View File

@ -4,7 +4,7 @@
"id": "reset_password", "id": "reset_password",
"category": "users", "category": "users",
"label": "Reset User Password", "label": "Reset User Password",
"description": "Reset an existing Nextcloud user's password. Leave the password field blank to generate a random one — it is shown in the task log.", "description": "Set a new password for an existing user. Leave blank to generate one.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
@ -16,9 +16,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
}, },
@ -26,7 +26,7 @@
"id": "create_account", "id": "create_account",
"category": "users", "category": "users",
"label": "Create User Account", "label": "Create User Account",
"description": "Create a new Nextcloud user. Tick \"Make admin\" to add them to the admin group. Leave the password blank to generate a random one.", "description": "Add a new user. Tick \"Make admin\" for full rights.",
"icon": "👤", "icon": "👤",
"fields": [ "fields": [
{ {
@ -44,9 +44,9 @@
}, },
{ {
"name": "password", "name": "password",
"label": "Password (leave blank to generate)", "label": "Password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
}, },
{ {
"name": "admin", "name": "admin",
@ -60,7 +60,7 @@
"id": "list_users", "id": "list_users",
"category": "users", "category": "users",
"label": "List Users", "label": "List Users",
"description": "Show every Nextcloud user with their display name and admin flag.", "description": "List every user.",
"icon": "📋", "icon": "📋",
"fields": [] "fields": []
}, },
@ -68,10 +68,10 @@
"id": "delete_user", "id": "delete_user",
"category": "users", "category": "users",
"label": "Delete User Account", "label": "Delete User Account",
"description": "Permanently delete a user and all their files.", "description": "Permanently remove a user and all their files.",
"icon": "🗑", "icon": "🗑",
"destructive": true, "destructive": true,
"confirm": "This cannot be undone. The user's files will be removed.", "confirm": "This cannot be undone.",
"fields": [ "fields": [
{ {
"name": "username", "name": "username",
@ -85,7 +85,7 @@
"id": "set_admin", "id": "set_admin",
"category": "users", "category": "users",
"label": "Set Admin Status", "label": "Set Admin Status",
"description": "Add a user to (or remove from) the admin group.", "description": "Promote or demote a user.",
"icon": "👑", "icon": "👑",
"fields": [ "fields": [
{ {
@ -106,7 +106,7 @@
"id": "toggle_maintenance", "id": "toggle_maintenance",
"category": "maintenance", "category": "maintenance",
"label": "Toggle Maintenance Mode", "label": "Toggle Maintenance Mode",
"description": "Lock all users out and show a maintenance notice — required before running upgrades or repairs from the CLI.", "description": "Lock users out so you can run upgrades or repairs safely.",
"icon": "🚧", "icon": "🚧",
"fields": [ "fields": [
{ {
@ -121,7 +121,7 @@
"id": "rescan_files", "id": "rescan_files",
"category": "maintenance", "category": "maintenance",
"label": "Rescan Files", "label": "Rescan Files",
"description": "Re-index Nextcloud's file metadata. Run this after files were added or removed on disk outside Nextcloud (rsync, restore, manual copy). Leave the username blank to scan every user.", "description": "Pick up files added or removed outside Nextcloud. Leave blank to scan everyone.",
"icon": "🔄", "icon": "🔄",
"fields": [ "fields": [
{ {
@ -136,7 +136,7 @@
"id": "add_trusted_domain", "id": "add_trusted_domain",
"category": "system", "category": "system",
"label": "Add Trusted Domain", "label": "Add Trusted Domain",
"description": "Append a hostname to Nextcloud's trusted_domains list so requests to that host are accepted.", "description": "Let Nextcloud answer at a new hostname.",
"icon": "🌐", "icon": "🌐",
"fields": [ "fields": [
{ {
@ -152,7 +152,7 @@
"id": "system_status", "id": "system_status",
"category": "system", "category": "system",
"label": "System Status", "label": "System Status",
"description": "Show Nextcloud's version, install state, and maintenance flag.", "description": "Show version and current state.",
"icon": "", "icon": "",
"fields": [] "fields": []
}, },
@ -160,7 +160,7 @@
"id": "tail_logs", "id": "tail_logs",
"category": "system", "category": "system",
"label": "Tail Logs", "label": "Tail Logs",
"description": "Show the most recent lines of nextcloud.log.", "description": "Show the last few log lines.",
"icon": "📜", "icon": "📜",
"fields": [ "fields": [
{ {

View File

@ -3,7 +3,7 @@
{ {
"id": "apply_dns_updater", "id": "apply_dns_updater",
"label": "Apply DNS Updater", "label": "Apply DNS Updater",
"description": "Rewrite this server's /etc/resolv.conf to use Pi-hole as its DNS resolver right now. Same action that runs automatically when the global DNS Updater requirement is enabled.", "description": "Point this server's DNS at Pi-hole now.",
"icon": "🌐", "icon": "🌐",
"fields": [] "fields": []
} }

View File

@ -3,20 +3,20 @@
{ {
"id": "reset_password", "id": "reset_password",
"label": "Reset Dashboard Login", "label": "Reset Dashboard Login",
"description": "Reset the Traefik dashboard credentials (CFG_TRAEFIK_USER / CFG_TRAEFIK_PASS) and regenerate the htpasswd entry in protectionauth.yml. Leave fields blank to keep the current username and/or generate a new random password.", "description": "Set new dashboard login credentials. Leave fields blank to keep the username or generate a new password.",
"icon": "🔑", "icon": "🔑",
"fields": [ "fields": [
{ {
"name": "username", "name": "username",
"label": "Username (leave blank to keep current)", "label": "Username",
"type": "text", "type": "text",
"placeholder": "admin" "placeholder": "admin"
}, },
{ {
"name": "password", "name": "password",
"label": "New password (leave blank to generate)", "label": "New password",
"type": "password", "type": "password",
"placeholder": "Leave blank for random" "placeholder": "Leave blank to generate"
} }
] ]
} }