Просмотр исходного кода

Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide

- Bump version to 2.2.0 in RpkConstants, AssemblyVersion, and the README badge
- Fix generate-docs.sh and the generate-docs workflow to write the real
  cli-commands{,-index}.md files with /docs/cli-commands#... links that
  resolve in the web docs viewer; regenerate the index
- Delete stale pre-rename docs/Commands.md + docs/CommandIndex.md
- Deduplicate versioning.md and correct the nightly branch (staging, not main)
- Refresh overview.md/README prose (drop beta wording, mention discovery + MCP)
- Update install-guide.md download URLs from the 0.0.3 release to 2.2.0
- Update publish workflow dispatch defaults to 2.2.0 / v2.2.0
- Add docs/development/release-guide.md documenting the end-to-end release flow

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tim Jones 14 часов назад
Родитель
Сommit
33a2a1a4cf

+ 1 - 1
.github/workflows/generate-docs.yaml

@@ -35,6 +35,6 @@ jobs:
         run: |
           git config user.name "github-actions"
           git config user.email "github-actions@github.com"
-          git add Shared.Rcl/wwwroot/raw_docs/CommandIndex.md Shared.Rcl/wwwroot/raw_docs/Commands.md
+          git add Shared.Rcl/wwwroot/raw_docs/cli-commands-index.md Shared.Rcl/wwwroot/raw_docs/cli-commands.md
           git commit -m "Update CLI docs" || echo "No changes to commit"
           git push

+ 2 - 2
.github/workflows/publish-cli.yml

@@ -4,9 +4,9 @@ on:
   workflow_dispatch:
     inputs:
       version:
-        description: "RackPeek version (e.g. 0.1.0)"
+        description: "RackPeek version (e.g. 2.2.0)"
         required: true
-        default: "0.0.3"
+        default: "2.2.0"
 
 permissions:
   contents: write

+ 2 - 2
.github/workflows/publish-docker.yaml

@@ -4,9 +4,9 @@ on:
   workflow_dispatch:
     inputs:
       version:
-        description: "RackPeek version (e.g. v1.0.0)"
+        description: "RackPeek version (e.g. v2.2.0)"
         required: true
-        default: "v0.0.12"
+        default: "v2.2.0"
 
 permissions:
   contents: read

+ 3 - 2
AGENTS.md

@@ -207,7 +207,7 @@ When you change persisted YAML shape, the PR **must** include:
 
 ## 7. CLI surface
 
-The full command tree is documented in `docs/Commands.md` and `docs/CommandIndex.md` (auto-generated by `generate-docs.sh`). At a glance:
+The full command tree is documented in `Shared.Rcl/wwwroot/raw_docs/cli-commands.md` and `Shared.Rcl/wwwroot/raw_docs/cli-commands-index.md` (auto-generated by `generate-docs.sh`). At a glance:
 
 ```
 rpk <kind> <verb> [name] [flags]
@@ -311,8 +311,9 @@ Default branches: feature work targets `staging`; releases flow `staging → mai
 | `docs/development/contribution-guidelines.md` | PR process |
 | `docs/development/dev-cheat-sheet.md` | Build / release / Docker / Playwright details |
 | `docs/development/dev-setup.md` | First-time environment setup |
+| `docs/development/release-guide.md` | End-to-end release process (version bump, docs regen, publish workflows) |
 | `docs/development/testing-guidelines.md` | Testing philosophy + examples |
-| `docs/Commands.md` / `docs/CommandIndex.md` | Auto-generated CLI reference |
+| `Shared.Rcl/wwwroot/raw_docs/cli-commands.md` / `cli-commands-index.md` | Auto-generated CLI reference |
 | `schemas/v1,v2,v3/` | Versioned YAML schemas |
 | `README.md` | User-facing overview, Docker install, links |
 | `LICENSE` | License terms |

+ 2 - 2
README.md

@@ -1,11 +1,11 @@
 [![RackPeek demo](./assets/rackpeek_banner_thin.png)](./assets/rackpeek_banner_thin.png)
 
-![Version](https://img.shields.io/badge/Version-2.1.0-2ea44f) ![Status](https://img.shields.io/badge/Status-Stable-success)
+![Version](https://img.shields.io/badge/Version-2.2.0-2ea44f) ![Status](https://img.shields.io/badge/Status-Stable-success)
 [![Join our Discord](https://img.shields.io/badge/Discord-Join%20Us-7289DA?logo=discord&logoColor=white)](https://discord.gg/egXRPdesee) [![Live Demo](https://img.shields.io/badge/Live%20Demo-Try%20RackPeek%20Online-2ea44f?logo=githubpages&logoColor=white)](https://timmoth.github.io/RackPeek/) [![Docker Hub](https://img.shields.io/badge/Docker%20Hub-rackpeek-2496ED?logo=docker&logoColor=white)](https://hub.docker.com/r/aptacode/rackpeek/)
 
 RackPeek is a webui & CLI tool for documenting and managing home lab and small-scale IT infrastructure.
 
-It helps you track hardware, services, networks, and their relationships in a clear, scriptable, and reusable way without enterprise bloat or proprietary lock-in or drowning in unnecessary metadata or process.
+It helps you track hardware, services, networks, and their relationships in a clear, scriptable, and reusable way without enterprise bloat or proprietary lock-in or drowning in unnecessary metadata or process. It can auto-discover what's already running (`rpk discover system / docker / proxmox / network`), and its built-in MCP server lets AI assistants query and manage your inventory.
 
 ### The roadmap for the next wave of features is actively being discussed, please make your voice heard! 
 

+ 1 - 1
RackPeek.Domain/RpkConstants.cs

@@ -1,7 +1,7 @@
 namespace RackPeek.Domain;
 
 public static class RpkConstants {
-    public const string Version = "v2.1.0";
+    public const string Version = "v2.2.0";
 
     public static bool HasGitServices { get; set; }
 }

+ 1 - 1
RackPeek/RackPeek.csproj

@@ -5,7 +5,7 @@
         <TargetFramework>net10.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
-        <AssemblyVersion>2.1.0</AssemblyVersion>
+        <AssemblyVersion>2.2.0</AssemblyVersion>
     </PropertyGroup>
 
     <ItemGroup>

+ 259 - 259
Shared.Rcl/wwwroot/raw_docs/cli-commands-index.md

@@ -1,260 +1,260 @@
 
-- [rpk](docs/Commands.md#rpk)
-  - [summary](docs/Commands.md#rpk-summary) - Show a summarized report of all resources in the system
-  - [servers](docs/Commands.md#rpk-servers) - Manage servers and their components
-    - [summary](docs/Commands.md#rpk-servers-summary) - Show a summarized hardware report for all servers
-    - [add](docs/Commands.md#rpk-servers-add) - Add a new server to the inventory
-    - [get](docs/Commands.md#rpk-servers-get) - List all servers or retrieve a specific server by name
-    - [describe](docs/Commands.md#rpk-servers-describe) - Display detailed information about a specific server
-    - [set](docs/Commands.md#rpk-servers-set) - Update properties of an existing server
-    - [del](docs/Commands.md#rpk-servers-del) - Delete a server from the inventory
-    - [rename](docs/Commands.md#rpk-servers-rename) - Rename a server to a new name
-    - [tree](docs/Commands.md#rpk-servers-tree) - Display the dependency tree of a server
-    - [cpu](docs/Commands.md#rpk-servers-cpu) - Manage CPUs attached to a server
-      - [add](docs/Commands.md#rpk-servers-cpu-add) - Add a CPU to a specific server
-      - [set](docs/Commands.md#rpk-servers-cpu-set) - Update configuration of a server CPU
-      - [del](docs/Commands.md#rpk-servers-cpu-del) - Remove a CPU from a server
-    - [drive](docs/Commands.md#rpk-servers-drive) - Manage drives attached to a server
-      - [add](docs/Commands.md#rpk-servers-drive-add) - Add a storage drive to a server
-      - [set](docs/Commands.md#rpk-servers-drive-set) - Update properties of a server drive
-      - [del](docs/Commands.md#rpk-servers-drive-del) - Remove a drive from a server
-    - [gpu](docs/Commands.md#rpk-servers-gpu) - Manage GPUs attached to a server
-      - [add](docs/Commands.md#rpk-servers-gpu-add) - Add a GPU to a server
-      - [set](docs/Commands.md#rpk-servers-gpu-set) - Update properties of a server GPU
-      - [del](docs/Commands.md#rpk-servers-gpu-del) - Remove a GPU from a server
-    - [nic](docs/Commands.md#rpk-servers-nic) - Manage network interface cards (NICs) for a server
-      - [add](docs/Commands.md#rpk-servers-nic-add) - Add a NIC to a server
-      - [set](docs/Commands.md#rpk-servers-nic-set) - Update properties of a server NIC
-      - [del](docs/Commands.md#rpk-servers-nic-del) - Remove a NIC from a server
-    - [label](docs/Commands.md#rpk-servers-label) - Manage labels on a server
-      - [add](docs/Commands.md#rpk-servers-label-add) - Add a label to a server
-      - [remove](docs/Commands.md#rpk-servers-label-remove) - Remove a label from a server
-    - [tag](docs/Commands.md#rpk-servers-tag) - Manage tags on a server
-      - [add](docs/Commands.md#rpk-servers-tag-add) - Add a tag to a server
-      - [remove](docs/Commands.md#rpk-servers-tag-remove) - Remove a tag from a server
-  - [switches](docs/Commands.md#rpk-switches) - Manage network switches
-    - [summary](docs/Commands.md#rpk-switches-summary) - Show a hardware report for all switches
-    - [add](docs/Commands.md#rpk-switches-add) - Add a new network switch to the inventory
-    - [list](docs/Commands.md#rpk-switches-list) - List all switches in the system
-    - [get](docs/Commands.md#rpk-switches-get) - Retrieve details of a specific switch by name
-    - [describe](docs/Commands.md#rpk-switches-describe) - Show detailed information about a switch
-    - [set](docs/Commands.md#rpk-switches-set) - Update properties of a switch
-    - [del](docs/Commands.md#rpk-switches-del) - Delete a switch from the inventory
-    - [rename](docs/Commands.md#rpk-switches-rename) - Rename a switch to a new name
-    - [port](docs/Commands.md#rpk-switches-port) - Manage ports on a network switch
-      - [add](docs/Commands.md#rpk-switches-port-add) - Add a port to a switch
-      - [set](docs/Commands.md#rpk-switches-port-set) - Update a switch port
-      - [del](docs/Commands.md#rpk-switches-port-del) - Remove a port from a switch
-    - [label](docs/Commands.md#rpk-switches-label) - Manage labels on a switch
-      - [add](docs/Commands.md#rpk-switches-label-add) - Add a label to a switch
-      - [remove](docs/Commands.md#rpk-switches-label-remove) - Remove a label from a switch
-    - [tag](docs/Commands.md#rpk-switches-tag) - Manage tags on a switch
-      - [add](docs/Commands.md#rpk-switches-tag-add) - Add a tag to a switch
-      - [remove](docs/Commands.md#rpk-switches-tag-remove) - Remove a tag from a switch
-  - [routers](docs/Commands.md#rpk-routers) - Manage network routers
-    - [summary](docs/Commands.md#rpk-routers-summary) - Show a hardware report for all routers
-    - [add](docs/Commands.md#rpk-routers-add) - Add a new network router to the inventory
-    - [list](docs/Commands.md#rpk-routers-list) - List all routers in the system
-    - [get](docs/Commands.md#rpk-routers-get) - Retrieve details of a specific router by name
-    - [describe](docs/Commands.md#rpk-routers-describe) - Show detailed information about a router
-    - [set](docs/Commands.md#rpk-routers-set) - Update properties of a router
-    - [del](docs/Commands.md#rpk-routers-del) - Delete a router from the inventory
-    - [rename](docs/Commands.md#rpk-routers-rename) - Rename a router to a new name
-    - [port](docs/Commands.md#rpk-routers-port) - Manage ports on a router
-      - [add](docs/Commands.md#rpk-routers-port-add) - Add a port to a router
-      - [set](docs/Commands.md#rpk-routers-port-set) - Update a router port
-      - [del](docs/Commands.md#rpk-routers-port-del) - Remove a port from a router
-    - [label](docs/Commands.md#rpk-routers-label) - Manage labels on a router
-      - [add](docs/Commands.md#rpk-routers-label-add) - Add a label to a router
-      - [remove](docs/Commands.md#rpk-routers-label-remove) - Remove a label from a router
-    - [tag](docs/Commands.md#rpk-routers-tag) - Manage tags on a router
-      - [add](docs/Commands.md#rpk-routers-tag-add) - Add a tag to a router
-      - [remove](docs/Commands.md#rpk-routers-tag-remove) - Remove a tag from a router
-  - [firewalls](docs/Commands.md#rpk-firewalls) - Manage firewalls
-    - [summary](docs/Commands.md#rpk-firewalls-summary) - Show a hardware report for all firewalls
-    - [add](docs/Commands.md#rpk-firewalls-add) - Add a new firewall to the inventory
-    - [list](docs/Commands.md#rpk-firewalls-list) - List all firewalls in the system
-    - [get](docs/Commands.md#rpk-firewalls-get) - Retrieve details of a specific firewall by name
-    - [describe](docs/Commands.md#rpk-firewalls-describe) - Show detailed information about a firewall
-    - [set](docs/Commands.md#rpk-firewalls-set) - Update properties of a firewall
-    - [del](docs/Commands.md#rpk-firewalls-del) - Delete a firewall from the inventory
-    - [rename](docs/Commands.md#rpk-firewalls-rename) - Rename a firewall to a new name
-    - [port](docs/Commands.md#rpk-firewalls-port) - Manage ports on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-port-add) - Add a port to a firewall
-      - [set](docs/Commands.md#rpk-firewalls-port-set) - Update a firewall port
-      - [del](docs/Commands.md#rpk-firewalls-port-del) - Remove a port from a firewall
-    - [label](docs/Commands.md#rpk-firewalls-label) - Manage labels on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-label-add) - Add a label to a firewall
-      - [remove](docs/Commands.md#rpk-firewalls-label-remove) - Remove a label from a firewall
-    - [tag](docs/Commands.md#rpk-firewalls-tag) - Manage tags on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-tag-add) - Add a tag to a firewall
-      - [remove](docs/Commands.md#rpk-firewalls-tag-remove) - Remove a tag from a firewall
-  - [systems](docs/Commands.md#rpk-systems) - Manage systems and their dependencies
-    - [summary](docs/Commands.md#rpk-systems-summary) - Show a summary report for all systems
-    - [add](docs/Commands.md#rpk-systems-add) - Add a new system to the inventory
-    - [list](docs/Commands.md#rpk-systems-list) - List all systems
-    - [get](docs/Commands.md#rpk-systems-get) - Retrieve a system by name
-    - [describe](docs/Commands.md#rpk-systems-describe) - Display detailed information about a system
-    - [set](docs/Commands.md#rpk-systems-set) - Update properties of a system
-    - [del](docs/Commands.md#rpk-systems-del) - Delete a system from the inventory
-    - [rename](docs/Commands.md#rpk-systems-rename) - Rename a system to a new name
-    - [tree](docs/Commands.md#rpk-systems-tree) - Display the dependency tree for a system
-    - [label](docs/Commands.md#rpk-systems-label) - Manage labels on a system
-      - [add](docs/Commands.md#rpk-systems-label-add) - Add a label to a system
-      - [remove](docs/Commands.md#rpk-systems-label-remove) - Remove a label from a system
-    - [tag](docs/Commands.md#rpk-systems-tag) - Manage tags on a system
-      - [add](docs/Commands.md#rpk-systems-tag-add) - Add a tag to a system
-      - [remove](docs/Commands.md#rpk-systems-tag-remove) - Remove a tag from a system
-  - [accesspoints](docs/Commands.md#rpk-accesspoints) - Manage access points
-    - [summary](docs/Commands.md#rpk-accesspoints-summary) - Show a hardware report for all access points
-    - [add](docs/Commands.md#rpk-accesspoints-add) - Add a new access point
-    - [list](docs/Commands.md#rpk-accesspoints-list) - List all access points
-    - [get](docs/Commands.md#rpk-accesspoints-get) - Retrieve an access point by name
-    - [describe](docs/Commands.md#rpk-accesspoints-describe) - Show detailed information about an access point
-    - [set](docs/Commands.md#rpk-accesspoints-set) - Update properties of an access point
-    - [del](docs/Commands.md#rpk-accesspoints-del) - Delete an access point
-    - [rename](docs/Commands.md#rpk-accesspoints-rename) - Rename an access point to a new name
-    - [label](docs/Commands.md#rpk-accesspoints-label) - Manage labels on an access point
-      - [add](docs/Commands.md#rpk-accesspoints-label-add) - Add a label to an access point
-      - [remove](docs/Commands.md#rpk-accesspoints-label-remove) - Remove a label from an access point
-    - [tag](docs/Commands.md#rpk-accesspoints-tag) - Manage tags on an access point
-      - [add](docs/Commands.md#rpk-accesspoints-tag-add) - Add a tag to an access point
-      - [remove](docs/Commands.md#rpk-accesspoints-tag-remove) - Remove a tag from an access point
-  - [ups](docs/Commands.md#rpk-ups) - Manage UPS units
-    - [summary](docs/Commands.md#rpk-ups-summary) - Show a hardware report for all UPS units
-    - [add](docs/Commands.md#rpk-ups-add) - Add a new UPS unit
-    - [list](docs/Commands.md#rpk-ups-list) - List all UPS units
-    - [get](docs/Commands.md#rpk-ups-get) - Retrieve a UPS unit by name
-    - [describe](docs/Commands.md#rpk-ups-describe) - Show detailed information about a UPS unit
-    - [set](docs/Commands.md#rpk-ups-set) - Update properties of a UPS unit
-    - [del](docs/Commands.md#rpk-ups-del) - Delete a UPS unit
-    - [rename](docs/Commands.md#rpk-ups-rename) - Rename a UPS unit to a new name
-    - [port](docs/Commands.md#rpk-ups-port) - Manage ports on a UPS unit
-      - [add](docs/Commands.md#rpk-ups-port-add) - Add a port to a UPS unit
-      - [set](docs/Commands.md#rpk-ups-port-set) - Update a UPS unit port
-      - [del](docs/Commands.md#rpk-ups-port-del) - Remove a port from a UPS unit
-    - [label](docs/Commands.md#rpk-ups-label) - Manage labels on a UPS unit
-      - [add](docs/Commands.md#rpk-ups-label-add) - Add a label to a UPS unit
-      - [remove](docs/Commands.md#rpk-ups-label-remove) - Remove a label from a UPS unit
-    - [tag](docs/Commands.md#rpk-ups-tag) - Manage tags on a UPS unit
-      - [add](docs/Commands.md#rpk-ups-tag-add) - Add a tag to a UPS unit
-      - [remove](docs/Commands.md#rpk-ups-tag-remove) - Remove a tag from a UPS unit
-  - [other](docs/Commands.md#rpk-other) - Manage other hardware that doesn't fit an existing category
-    - [summary](docs/Commands.md#rpk-other-summary) - Show a hardware report for all other hardware
-    - [add](docs/Commands.md#rpk-other-add) - Add new other hardware
-    - [list](docs/Commands.md#rpk-other-list) - List all other hardware
-    - [get](docs/Commands.md#rpk-other-get) - Retrieve other hardware by name
-    - [describe](docs/Commands.md#rpk-other-describe) - Show detailed information about other hardware
-    - [set](docs/Commands.md#rpk-other-set) - Update properties of other hardware
-    - [del](docs/Commands.md#rpk-other-del) - Delete other hardware
-    - [rename](docs/Commands.md#rpk-other-rename) - Rename other hardware to a new name
-    - [port](docs/Commands.md#rpk-other-port) - Manage ports on other hardware
-      - [add](docs/Commands.md#rpk-other-port-add) - Add a port to other hardware
-      - [set](docs/Commands.md#rpk-other-port-set) - Update an other hardware port
-      - [del](docs/Commands.md#rpk-other-port-del) - Remove a port from other hardware
-    - [label](docs/Commands.md#rpk-other-label) - Manage labels on other hardware
-      - [add](docs/Commands.md#rpk-other-label-add) - Add a label to other hardware
-      - [remove](docs/Commands.md#rpk-other-label-remove) - Remove a label from other hardware
-    - [tag](docs/Commands.md#rpk-other-tag) - Manage tags on other hardware
-      - [add](docs/Commands.md#rpk-other-tag-add) - Add a tag to other hardware
-      - [remove](docs/Commands.md#rpk-other-tag-remove) - Remove a tag from other hardware
-  - [desktops](docs/Commands.md#rpk-desktops) - Manage desktop computers and their components
-    - [add](docs/Commands.md#rpk-desktops-add) - Add a new desktop
-    - [list](docs/Commands.md#rpk-desktops-list) - List all desktops
-    - [get](docs/Commands.md#rpk-desktops-get) - Retrieve a desktop by name
-    - [describe](docs/Commands.md#rpk-desktops-describe) - Show detailed information about a desktop
-    - [set](docs/Commands.md#rpk-desktops-set) - Update properties of a desktop
-    - [del](docs/Commands.md#rpk-desktops-del) - Delete a desktop from the inventory
-    - [rename](docs/Commands.md#rpk-desktops-rename) - Rename a desktop to a new name
-    - [summary](docs/Commands.md#rpk-desktops-summary) - Show a summarized hardware report for all desktops
-    - [tree](docs/Commands.md#rpk-desktops-tree) - Display the dependency tree for a desktop
-    - [cpu](docs/Commands.md#rpk-desktops-cpu) - Manage CPUs attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-cpu-add) - Add a CPU to a desktop
-      - [set](docs/Commands.md#rpk-desktops-cpu-set) - Update a desktop CPU
-      - [del](docs/Commands.md#rpk-desktops-cpu-del) - Remove a CPU from a desktop
-    - [drive](docs/Commands.md#rpk-desktops-drive) - Manage storage drives attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-drive-add) - Add a drive to a desktop
-      - [set](docs/Commands.md#rpk-desktops-drive-set) - Update a desktop drive
-      - [del](docs/Commands.md#rpk-desktops-drive-del) - Remove a drive from a desktop
-    - [gpu](docs/Commands.md#rpk-desktops-gpu) - Manage GPUs attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-gpu-add) - Add a GPU to a desktop
-      - [set](docs/Commands.md#rpk-desktops-gpu-set) - Update a desktop GPU
-      - [del](docs/Commands.md#rpk-desktops-gpu-del) - Remove a GPU from a desktop
-    - [nic](docs/Commands.md#rpk-desktops-nic) - Manage network interface cards (NICs) for desktops
-      - [add](docs/Commands.md#rpk-desktops-nic-add) - Add a NIC to a desktop
-      - [set](docs/Commands.md#rpk-desktops-nic-set) - Update a desktop NIC
-      - [del](docs/Commands.md#rpk-desktops-nic-del) - Remove a NIC from a desktop
-    - [label](docs/Commands.md#rpk-desktops-label) - Manage labels on a desktop
-      - [add](docs/Commands.md#rpk-desktops-label-add) - Add a label to a desktop
-      - [remove](docs/Commands.md#rpk-desktops-label-remove) - Remove a label from a desktop
-    - [tag](docs/Commands.md#rpk-desktops-tag) - Manage tags on a desktop
-      - [add](docs/Commands.md#rpk-desktops-tag-add) - Add a tag to a desktop
-      - [remove](docs/Commands.md#rpk-desktops-tag-remove) - Remove a tag from a desktop
-  - [laptops](docs/Commands.md#rpk-laptops) - Manage Laptop computers and their components
-    - [add](docs/Commands.md#rpk-laptops-add) - Add a new Laptop
-    - [list](docs/Commands.md#rpk-laptops-list) - List all Laptops
-    - [get](docs/Commands.md#rpk-laptops-get) - Retrieve a Laptop by name
-    - [describe](docs/Commands.md#rpk-laptops-describe) - Show detailed information about a Laptop
-    - [set](docs/Commands.md#rpk-laptops-set) - Update properties of a laptop
-    - [del](docs/Commands.md#rpk-laptops-del) - Delete a Laptop from the inventory
-    - [rename](docs/Commands.md#rpk-laptops-rename) - Rename a Laptop to a new name
-    - [summary](docs/Commands.md#rpk-laptops-summary) - Show a summarized hardware report for all Laptops
-    - [tree](docs/Commands.md#rpk-laptops-tree) - Display the dependency tree for a Laptop
-    - [cpu](docs/Commands.md#rpk-laptops-cpu) - Manage CPUs attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-cpu-add) - Add a CPU to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-cpu-set) - Update a Laptop CPU
-      - [del](docs/Commands.md#rpk-laptops-cpu-del) - Remove a CPU from a Laptop
-    - [drive](docs/Commands.md#rpk-laptops-drive) - Manage storage drives attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-drive-add) - Add a drive to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-drive-set) - Update a Laptop drive
-      - [del](docs/Commands.md#rpk-laptops-drive-del) - Remove a drive from a Laptop
-    - [gpu](docs/Commands.md#rpk-laptops-gpu) - Manage GPUs attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-gpu-add) - Add a GPU to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-gpu-set) - Update a Laptop GPU
-      - [del](docs/Commands.md#rpk-laptops-gpu-del) - Remove a GPU from a Laptop
-    - [nic](docs/Commands.md#rpk-laptops-nic) - Manage network interface cards (NICs) for Laptops
-      - [add](docs/Commands.md#rpk-laptops-nic-add) - Add a NIC to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-nic-set) - Update a Laptop NIC
-      - [del](docs/Commands.md#rpk-laptops-nic-del) - Remove a NIC from a Laptop
-    - [label](docs/Commands.md#rpk-laptops-label) - Manage labels on a laptop
-      - [add](docs/Commands.md#rpk-laptops-label-add) - Add a label to a laptop
-      - [remove](docs/Commands.md#rpk-laptops-label-remove) - Remove a label from a laptop
-    - [tag](docs/Commands.md#rpk-laptops-tag) - Manage tags on a laptop
-      - [add](docs/Commands.md#rpk-laptops-tag-add) - Add a tag to a laptop
-      - [remove](docs/Commands.md#rpk-laptops-tag-remove) - Remove a tag from a laptop
-  - [services](docs/Commands.md#rpk-services) - Manage services and their configurations
-    - [summary](docs/Commands.md#rpk-services-summary) - Show a summary report for all services
-    - [add](docs/Commands.md#rpk-services-add) - Add a new service
-    - [list](docs/Commands.md#rpk-services-list) - List all services
-    - [get](docs/Commands.md#rpk-services-get) - Retrieve a service by name
-    - [describe](docs/Commands.md#rpk-services-describe) - Show detailed information about a service
-    - [set](docs/Commands.md#rpk-services-set) - Update properties of a service
-    - [del](docs/Commands.md#rpk-services-del) - Delete a service
-    - [rename](docs/Commands.md#rpk-services-rename) - Rename a service to a new name
-    - [subnets](docs/Commands.md#rpk-services-subnets) - List subnets associated with a service, optionally filtered by CIDR
-    - [label](docs/Commands.md#rpk-services-label) - Manage labels on a service
-      - [add](docs/Commands.md#rpk-services-label-add) - Add a label to a service
-      - [remove](docs/Commands.md#rpk-services-label-remove) - Remove a label from a service
-    - [tag](docs/Commands.md#rpk-services-tag) - Manage tags on a service
-      - [add](docs/Commands.md#rpk-services-tag-add) - Add a tag to a service
-      - [remove](docs/Commands.md#rpk-services-tag-remove) - Remove a tag from a service
-  - [discover](docs/Commands.md#rpk-discover) - Read infrastructure and emit it as RackPeek YAML
-    - [system](docs/Commands.md#rpk-discover-system) - Inspect this machine and emit it as a System resource
-    - [docker](docs/Commands.md#rpk-discover-docker) - Read the Docker API and emit each published container as a Service on this
-    - [proxmox](docs/Commands.md#rpk-discover-proxmox) - Read a Proxmox cluster and emit its nodes and guests as Systems
-    - [network](docs/Commands.md#rpk-discover-network) - Sweep a subnet and emit every answering host as a System resource
-  - [ansible](docs/Commands.md#rpk-ansible) - Generate and manage Ansible inventory
-    - [inventory](docs/Commands.md#rpk-ansible-inventory) - Generate an Ansible inventory
-  - [ssh](docs/Commands.md#rpk-ssh) - Generate SSH configuration from infrastructure
-    - [export](docs/Commands.md#rpk-ssh-export) - Generate an SSH config file
-  - [hosts](docs/Commands.md#rpk-hosts) - Generate a hosts file from infrastructure
-    - [export](docs/Commands.md#rpk-hosts-export) - Generate a /etc/hosts compatible file
-  - [graph](docs/Commands.md#rpk-graph) - Render inventory as graph diagrams
-    - [topology](docs/Commands.md#rpk-graph-topology) - Emit a Mermaid flowchart of the physical topology (hardware + connections)
-    - [logical](docs/Commands.md#rpk-graph-logical) - Emit a Mermaid flowchart of services & systems grouped by subnet and host
-  - [tags](docs/Commands.md#rpk-tags) - Discover tags across resources
-    - [list](docs/Commands.md#rpk-tags-list) - List all tags in use with usage counts
-    - [show](docs/Commands.md#rpk-tags-show) - List resources carrying a specific tag
-  - [connections](docs/Commands.md#rpk-connections) - Manage physical or logical port connections
-    - [add](docs/Commands.md#rpk-connections-add) - Create a connection between two ports
-    - [remove](docs/Commands.md#rpk-connections-remove) - Remove the connection from a specific port
+- [rpk](/docs/cli-commands#rpk)
+  - [summary](/docs/cli-commands#rpk-summary) - Show a summarized report of all resources in the system
+  - [servers](/docs/cli-commands#rpk-servers) - Manage servers and their components
+    - [summary](/docs/cli-commands#rpk-servers-summary) - Show a summarized hardware report for all servers
+    - [add](/docs/cli-commands#rpk-servers-add) - Add a new server to the inventory
+    - [get](/docs/cli-commands#rpk-servers-get) - List all servers or retrieve a specific server by name
+    - [describe](/docs/cli-commands#rpk-servers-describe) - Display detailed information about a specific server
+    - [set](/docs/cli-commands#rpk-servers-set) - Update properties of an existing server
+    - [del](/docs/cli-commands#rpk-servers-del) - Delete a server from the inventory
+    - [rename](/docs/cli-commands#rpk-servers-rename) - Rename a server to a new name
+    - [tree](/docs/cli-commands#rpk-servers-tree) - Display the dependency tree of a server
+    - [cpu](/docs/cli-commands#rpk-servers-cpu) - Manage CPUs attached to a server
+      - [add](/docs/cli-commands#rpk-servers-cpu-add) - Add a CPU to a specific server
+      - [set](/docs/cli-commands#rpk-servers-cpu-set) - Update configuration of a server CPU
+      - [del](/docs/cli-commands#rpk-servers-cpu-del) - Remove a CPU from a server
+    - [drive](/docs/cli-commands#rpk-servers-drive) - Manage drives attached to a server
+      - [add](/docs/cli-commands#rpk-servers-drive-add) - Add a storage drive to a server
+      - [set](/docs/cli-commands#rpk-servers-drive-set) - Update properties of a server drive
+      - [del](/docs/cli-commands#rpk-servers-drive-del) - Remove a drive from a server
+    - [gpu](/docs/cli-commands#rpk-servers-gpu) - Manage GPUs attached to a server
+      - [add](/docs/cli-commands#rpk-servers-gpu-add) - Add a GPU to a server
+      - [set](/docs/cli-commands#rpk-servers-gpu-set) - Update properties of a server GPU
+      - [del](/docs/cli-commands#rpk-servers-gpu-del) - Remove a GPU from a server
+    - [nic](/docs/cli-commands#rpk-servers-nic) - Manage network interface cards (NICs) for a server
+      - [add](/docs/cli-commands#rpk-servers-nic-add) - Add a NIC to a server
+      - [set](/docs/cli-commands#rpk-servers-nic-set) - Update properties of a server NIC
+      - [del](/docs/cli-commands#rpk-servers-nic-del) - Remove a NIC from a server
+    - [label](/docs/cli-commands#rpk-servers-label) - Manage labels on a server
+      - [add](/docs/cli-commands#rpk-servers-label-add) - Add a label to a server
+      - [remove](/docs/cli-commands#rpk-servers-label-remove) - Remove a label from a server
+    - [tag](/docs/cli-commands#rpk-servers-tag) - Manage tags on a server
+      - [add](/docs/cli-commands#rpk-servers-tag-add) - Add a tag to a server
+      - [remove](/docs/cli-commands#rpk-servers-tag-remove) - Remove a tag from a server
+  - [switches](/docs/cli-commands#rpk-switches) - Manage network switches
+    - [summary](/docs/cli-commands#rpk-switches-summary) - Show a hardware report for all switches
+    - [add](/docs/cli-commands#rpk-switches-add) - Add a new network switch to the inventory
+    - [list](/docs/cli-commands#rpk-switches-list) - List all switches in the system
+    - [get](/docs/cli-commands#rpk-switches-get) - Retrieve details of a specific switch by name
+    - [describe](/docs/cli-commands#rpk-switches-describe) - Show detailed information about a switch
+    - [set](/docs/cli-commands#rpk-switches-set) - Update properties of a switch
+    - [del](/docs/cli-commands#rpk-switches-del) - Delete a switch from the inventory
+    - [rename](/docs/cli-commands#rpk-switches-rename) - Rename a switch to a new name
+    - [port](/docs/cli-commands#rpk-switches-port) - Manage ports on a network switch
+      - [add](/docs/cli-commands#rpk-switches-port-add) - Add a port to a switch
+      - [set](/docs/cli-commands#rpk-switches-port-set) - Update a switch port
+      - [del](/docs/cli-commands#rpk-switches-port-del) - Remove a port from a switch
+    - [label](/docs/cli-commands#rpk-switches-label) - Manage labels on a switch
+      - [add](/docs/cli-commands#rpk-switches-label-add) - Add a label to a switch
+      - [remove](/docs/cli-commands#rpk-switches-label-remove) - Remove a label from a switch
+    - [tag](/docs/cli-commands#rpk-switches-tag) - Manage tags on a switch
+      - [add](/docs/cli-commands#rpk-switches-tag-add) - Add a tag to a switch
+      - [remove](/docs/cli-commands#rpk-switches-tag-remove) - Remove a tag from a switch
+  - [routers](/docs/cli-commands#rpk-routers) - Manage network routers
+    - [summary](/docs/cli-commands#rpk-routers-summary) - Show a hardware report for all routers
+    - [add](/docs/cli-commands#rpk-routers-add) - Add a new network router to the inventory
+    - [list](/docs/cli-commands#rpk-routers-list) - List all routers in the system
+    - [get](/docs/cli-commands#rpk-routers-get) - Retrieve details of a specific router by name
+    - [describe](/docs/cli-commands#rpk-routers-describe) - Show detailed information about a router
+    - [set](/docs/cli-commands#rpk-routers-set) - Update properties of a router
+    - [del](/docs/cli-commands#rpk-routers-del) - Delete a router from the inventory
+    - [rename](/docs/cli-commands#rpk-routers-rename) - Rename a router to a new name
+    - [port](/docs/cli-commands#rpk-routers-port) - Manage ports on a router
+      - [add](/docs/cli-commands#rpk-routers-port-add) - Add a port to a router
+      - [set](/docs/cli-commands#rpk-routers-port-set) - Update a router port
+      - [del](/docs/cli-commands#rpk-routers-port-del) - Remove a port from a router
+    - [label](/docs/cli-commands#rpk-routers-label) - Manage labels on a router
+      - [add](/docs/cli-commands#rpk-routers-label-add) - Add a label to a router
+      - [remove](/docs/cli-commands#rpk-routers-label-remove) - Remove a label from a router
+    - [tag](/docs/cli-commands#rpk-routers-tag) - Manage tags on a router
+      - [add](/docs/cli-commands#rpk-routers-tag-add) - Add a tag to a router
+      - [remove](/docs/cli-commands#rpk-routers-tag-remove) - Remove a tag from a router
+  - [firewalls](/docs/cli-commands#rpk-firewalls) - Manage firewalls
+    - [summary](/docs/cli-commands#rpk-firewalls-summary) - Show a hardware report for all firewalls
+    - [add](/docs/cli-commands#rpk-firewalls-add) - Add a new firewall to the inventory
+    - [list](/docs/cli-commands#rpk-firewalls-list) - List all firewalls in the system
+    - [get](/docs/cli-commands#rpk-firewalls-get) - Retrieve details of a specific firewall by name
+    - [describe](/docs/cli-commands#rpk-firewalls-describe) - Show detailed information about a firewall
+    - [set](/docs/cli-commands#rpk-firewalls-set) - Update properties of a firewall
+    - [del](/docs/cli-commands#rpk-firewalls-del) - Delete a firewall from the inventory
+    - [rename](/docs/cli-commands#rpk-firewalls-rename) - Rename a firewall to a new name
+    - [port](/docs/cli-commands#rpk-firewalls-port) - Manage ports on a firewall
+      - [add](/docs/cli-commands#rpk-firewalls-port-add) - Add a port to a firewall
+      - [set](/docs/cli-commands#rpk-firewalls-port-set) - Update a firewall port
+      - [del](/docs/cli-commands#rpk-firewalls-port-del) - Remove a port from a firewall
+    - [label](/docs/cli-commands#rpk-firewalls-label) - Manage labels on a firewall
+      - [add](/docs/cli-commands#rpk-firewalls-label-add) - Add a label to a firewall
+      - [remove](/docs/cli-commands#rpk-firewalls-label-remove) - Remove a label from a firewall
+    - [tag](/docs/cli-commands#rpk-firewalls-tag) - Manage tags on a firewall
+      - [add](/docs/cli-commands#rpk-firewalls-tag-add) - Add a tag to a firewall
+      - [remove](/docs/cli-commands#rpk-firewalls-tag-remove) - Remove a tag from a firewall
+  - [systems](/docs/cli-commands#rpk-systems) - Manage systems and their dependencies
+    - [summary](/docs/cli-commands#rpk-systems-summary) - Show a summary report for all systems
+    - [add](/docs/cli-commands#rpk-systems-add) - Add a new system to the inventory
+    - [list](/docs/cli-commands#rpk-systems-list) - List all systems
+    - [get](/docs/cli-commands#rpk-systems-get) - Retrieve a system by name
+    - [describe](/docs/cli-commands#rpk-systems-describe) - Display detailed information about a system
+    - [set](/docs/cli-commands#rpk-systems-set) - Update properties of a system
+    - [del](/docs/cli-commands#rpk-systems-del) - Delete a system from the inventory
+    - [rename](/docs/cli-commands#rpk-systems-rename) - Rename a system to a new name
+    - [tree](/docs/cli-commands#rpk-systems-tree) - Display the dependency tree for a system
+    - [label](/docs/cli-commands#rpk-systems-label) - Manage labels on a system
+      - [add](/docs/cli-commands#rpk-systems-label-add) - Add a label to a system
+      - [remove](/docs/cli-commands#rpk-systems-label-remove) - Remove a label from a system
+    - [tag](/docs/cli-commands#rpk-systems-tag) - Manage tags on a system
+      - [add](/docs/cli-commands#rpk-systems-tag-add) - Add a tag to a system
+      - [remove](/docs/cli-commands#rpk-systems-tag-remove) - Remove a tag from a system
+  - [accesspoints](/docs/cli-commands#rpk-accesspoints) - Manage access points
+    - [summary](/docs/cli-commands#rpk-accesspoints-summary) - Show a hardware report for all access points
+    - [add](/docs/cli-commands#rpk-accesspoints-add) - Add a new access point
+    - [list](/docs/cli-commands#rpk-accesspoints-list) - List all access points
+    - [get](/docs/cli-commands#rpk-accesspoints-get) - Retrieve an access point by name
+    - [describe](/docs/cli-commands#rpk-accesspoints-describe) - Show detailed information about an access point
+    - [set](/docs/cli-commands#rpk-accesspoints-set) - Update properties of an access point
+    - [del](/docs/cli-commands#rpk-accesspoints-del) - Delete an access point
+    - [rename](/docs/cli-commands#rpk-accesspoints-rename) - Rename an access point to a new name
+    - [label](/docs/cli-commands#rpk-accesspoints-label) - Manage labels on an access point
+      - [add](/docs/cli-commands#rpk-accesspoints-label-add) - Add a label to an access point
+      - [remove](/docs/cli-commands#rpk-accesspoints-label-remove) - Remove a label from an access point
+    - [tag](/docs/cli-commands#rpk-accesspoints-tag) - Manage tags on an access point
+      - [add](/docs/cli-commands#rpk-accesspoints-tag-add) - Add a tag to an access point
+      - [remove](/docs/cli-commands#rpk-accesspoints-tag-remove) - Remove a tag from an access point
+  - [ups](/docs/cli-commands#rpk-ups) - Manage UPS units
+    - [summary](/docs/cli-commands#rpk-ups-summary) - Show a hardware report for all UPS units
+    - [add](/docs/cli-commands#rpk-ups-add) - Add a new UPS unit
+    - [list](/docs/cli-commands#rpk-ups-list) - List all UPS units
+    - [get](/docs/cli-commands#rpk-ups-get) - Retrieve a UPS unit by name
+    - [describe](/docs/cli-commands#rpk-ups-describe) - Show detailed information about a UPS unit
+    - [set](/docs/cli-commands#rpk-ups-set) - Update properties of a UPS unit
+    - [del](/docs/cli-commands#rpk-ups-del) - Delete a UPS unit
+    - [rename](/docs/cli-commands#rpk-ups-rename) - Rename a UPS unit to a new name
+    - [port](/docs/cli-commands#rpk-ups-port) - Manage ports on a UPS unit
+      - [add](/docs/cli-commands#rpk-ups-port-add) - Add a port to a UPS unit
+      - [set](/docs/cli-commands#rpk-ups-port-set) - Update a UPS unit port
+      - [del](/docs/cli-commands#rpk-ups-port-del) - Remove a port from a UPS unit
+    - [label](/docs/cli-commands#rpk-ups-label) - Manage labels on a UPS unit
+      - [add](/docs/cli-commands#rpk-ups-label-add) - Add a label to a UPS unit
+      - [remove](/docs/cli-commands#rpk-ups-label-remove) - Remove a label from a UPS unit
+    - [tag](/docs/cli-commands#rpk-ups-tag) - Manage tags on a UPS unit
+      - [add](/docs/cli-commands#rpk-ups-tag-add) - Add a tag to a UPS unit
+      - [remove](/docs/cli-commands#rpk-ups-tag-remove) - Remove a tag from a UPS unit
+  - [other](/docs/cli-commands#rpk-other) - Manage other hardware that doesn't fit an existing category
+    - [summary](/docs/cli-commands#rpk-other-summary) - Show a hardware report for all other hardware
+    - [add](/docs/cli-commands#rpk-other-add) - Add new other hardware
+    - [list](/docs/cli-commands#rpk-other-list) - List all other hardware
+    - [get](/docs/cli-commands#rpk-other-get) - Retrieve other hardware by name
+    - [describe](/docs/cli-commands#rpk-other-describe) - Show detailed information about other hardware
+    - [set](/docs/cli-commands#rpk-other-set) - Update properties of other hardware
+    - [del](/docs/cli-commands#rpk-other-del) - Delete other hardware
+    - [rename](/docs/cli-commands#rpk-other-rename) - Rename other hardware to a new name
+    - [port](/docs/cli-commands#rpk-other-port) - Manage ports on other hardware
+      - [add](/docs/cli-commands#rpk-other-port-add) - Add a port to other hardware
+      - [set](/docs/cli-commands#rpk-other-port-set) - Update an other hardware port
+      - [del](/docs/cli-commands#rpk-other-port-del) - Remove a port from other hardware
+    - [label](/docs/cli-commands#rpk-other-label) - Manage labels on other hardware
+      - [add](/docs/cli-commands#rpk-other-label-add) - Add a label to other hardware
+      - [remove](/docs/cli-commands#rpk-other-label-remove) - Remove a label from other hardware
+    - [tag](/docs/cli-commands#rpk-other-tag) - Manage tags on other hardware
+      - [add](/docs/cli-commands#rpk-other-tag-add) - Add a tag to other hardware
+      - [remove](/docs/cli-commands#rpk-other-tag-remove) - Remove a tag from other hardware
+  - [desktops](/docs/cli-commands#rpk-desktops) - Manage desktop computers and their components
+    - [add](/docs/cli-commands#rpk-desktops-add) - Add a new desktop
+    - [list](/docs/cli-commands#rpk-desktops-list) - List all desktops
+    - [get](/docs/cli-commands#rpk-desktops-get) - Retrieve a desktop by name
+    - [describe](/docs/cli-commands#rpk-desktops-describe) - Show detailed information about a desktop
+    - [set](/docs/cli-commands#rpk-desktops-set) - Update properties of a desktop
+    - [del](/docs/cli-commands#rpk-desktops-del) - Delete a desktop from the inventory
+    - [rename](/docs/cli-commands#rpk-desktops-rename) - Rename a desktop to a new name
+    - [summary](/docs/cli-commands#rpk-desktops-summary) - Show a summarized hardware report for all desktops
+    - [tree](/docs/cli-commands#rpk-desktops-tree) - Display the dependency tree for a desktop
+    - [cpu](/docs/cli-commands#rpk-desktops-cpu) - Manage CPUs attached to desktops
+      - [add](/docs/cli-commands#rpk-desktops-cpu-add) - Add a CPU to a desktop
+      - [set](/docs/cli-commands#rpk-desktops-cpu-set) - Update a desktop CPU
+      - [del](/docs/cli-commands#rpk-desktops-cpu-del) - Remove a CPU from a desktop
+    - [drive](/docs/cli-commands#rpk-desktops-drive) - Manage storage drives attached to desktops
+      - [add](/docs/cli-commands#rpk-desktops-drive-add) - Add a drive to a desktop
+      - [set](/docs/cli-commands#rpk-desktops-drive-set) - Update a desktop drive
+      - [del](/docs/cli-commands#rpk-desktops-drive-del) - Remove a drive from a desktop
+    - [gpu](/docs/cli-commands#rpk-desktops-gpu) - Manage GPUs attached to desktops
+      - [add](/docs/cli-commands#rpk-desktops-gpu-add) - Add a GPU to a desktop
+      - [set](/docs/cli-commands#rpk-desktops-gpu-set) - Update a desktop GPU
+      - [del](/docs/cli-commands#rpk-desktops-gpu-del) - Remove a GPU from a desktop
+    - [nic](/docs/cli-commands#rpk-desktops-nic) - Manage network interface cards (NICs) for desktops
+      - [add](/docs/cli-commands#rpk-desktops-nic-add) - Add a NIC to a desktop
+      - [set](/docs/cli-commands#rpk-desktops-nic-set) - Update a desktop NIC
+      - [del](/docs/cli-commands#rpk-desktops-nic-del) - Remove a NIC from a desktop
+    - [label](/docs/cli-commands#rpk-desktops-label) - Manage labels on a desktop
+      - [add](/docs/cli-commands#rpk-desktops-label-add) - Add a label to a desktop
+      - [remove](/docs/cli-commands#rpk-desktops-label-remove) - Remove a label from a desktop
+    - [tag](/docs/cli-commands#rpk-desktops-tag) - Manage tags on a desktop
+      - [add](/docs/cli-commands#rpk-desktops-tag-add) - Add a tag to a desktop
+      - [remove](/docs/cli-commands#rpk-desktops-tag-remove) - Remove a tag from a desktop
+  - [laptops](/docs/cli-commands#rpk-laptops) - Manage Laptop computers and their components
+    - [add](/docs/cli-commands#rpk-laptops-add) - Add a new Laptop
+    - [list](/docs/cli-commands#rpk-laptops-list) - List all Laptops
+    - [get](/docs/cli-commands#rpk-laptops-get) - Retrieve a Laptop by name
+    - [describe](/docs/cli-commands#rpk-laptops-describe) - Show detailed information about a Laptop
+    - [set](/docs/cli-commands#rpk-laptops-set) - Update properties of a laptop
+    - [del](/docs/cli-commands#rpk-laptops-del) - Delete a Laptop from the inventory
+    - [rename](/docs/cli-commands#rpk-laptops-rename) - Rename a Laptop to a new name
+    - [summary](/docs/cli-commands#rpk-laptops-summary) - Show a summarized hardware report for all Laptops
+    - [tree](/docs/cli-commands#rpk-laptops-tree) - Display the dependency tree for a Laptop
+    - [cpu](/docs/cli-commands#rpk-laptops-cpu) - Manage CPUs attached to Laptops
+      - [add](/docs/cli-commands#rpk-laptops-cpu-add) - Add a CPU to a Laptop
+      - [set](/docs/cli-commands#rpk-laptops-cpu-set) - Update a Laptop CPU
+      - [del](/docs/cli-commands#rpk-laptops-cpu-del) - Remove a CPU from a Laptop
+    - [drive](/docs/cli-commands#rpk-laptops-drive) - Manage storage drives attached to Laptops
+      - [add](/docs/cli-commands#rpk-laptops-drive-add) - Add a drive to a Laptop
+      - [set](/docs/cli-commands#rpk-laptops-drive-set) - Update a Laptop drive
+      - [del](/docs/cli-commands#rpk-laptops-drive-del) - Remove a drive from a Laptop
+    - [gpu](/docs/cli-commands#rpk-laptops-gpu) - Manage GPUs attached to Laptops
+      - [add](/docs/cli-commands#rpk-laptops-gpu-add) - Add a GPU to a Laptop
+      - [set](/docs/cli-commands#rpk-laptops-gpu-set) - Update a Laptop GPU
+      - [del](/docs/cli-commands#rpk-laptops-gpu-del) - Remove a GPU from a Laptop
+    - [nic](/docs/cli-commands#rpk-laptops-nic) - Manage network interface cards (NICs) for Laptops
+      - [add](/docs/cli-commands#rpk-laptops-nic-add) - Add a NIC to a Laptop
+      - [set](/docs/cli-commands#rpk-laptops-nic-set) - Update a Laptop NIC
+      - [del](/docs/cli-commands#rpk-laptops-nic-del) - Remove a NIC from a Laptop
+    - [label](/docs/cli-commands#rpk-laptops-label) - Manage labels on a laptop
+      - [add](/docs/cli-commands#rpk-laptops-label-add) - Add a label to a laptop
+      - [remove](/docs/cli-commands#rpk-laptops-label-remove) - Remove a label from a laptop
+    - [tag](/docs/cli-commands#rpk-laptops-tag) - Manage tags on a laptop
+      - [add](/docs/cli-commands#rpk-laptops-tag-add) - Add a tag to a laptop
+      - [remove](/docs/cli-commands#rpk-laptops-tag-remove) - Remove a tag from a laptop
+  - [services](/docs/cli-commands#rpk-services) - Manage services and their configurations
+    - [summary](/docs/cli-commands#rpk-services-summary) - Show a summary report for all services
+    - [add](/docs/cli-commands#rpk-services-add) - Add a new service
+    - [list](/docs/cli-commands#rpk-services-list) - List all services
+    - [get](/docs/cli-commands#rpk-services-get) - Retrieve a service by name
+    - [describe](/docs/cli-commands#rpk-services-describe) - Show detailed information about a service
+    - [set](/docs/cli-commands#rpk-services-set) - Update properties of a service
+    - [del](/docs/cli-commands#rpk-services-del) - Delete a service
+    - [rename](/docs/cli-commands#rpk-services-rename) - Rename a service to a new name
+    - [subnets](/docs/cli-commands#rpk-services-subnets) - List subnets associated with a service, optionally filtered by CIDR
+    - [label](/docs/cli-commands#rpk-services-label) - Manage labels on a service
+      - [add](/docs/cli-commands#rpk-services-label-add) - Add a label to a service
+      - [remove](/docs/cli-commands#rpk-services-label-remove) - Remove a label from a service
+    - [tag](/docs/cli-commands#rpk-services-tag) - Manage tags on a service
+      - [add](/docs/cli-commands#rpk-services-tag-add) - Add a tag to a service
+      - [remove](/docs/cli-commands#rpk-services-tag-remove) - Remove a tag from a service
+  - [discover](/docs/cli-commands#rpk-discover) - Read infrastructure and emit it as RackPeek YAML
+    - [system](/docs/cli-commands#rpk-discover-system) - Inspect this machine and emit it as a System resource
+    - [docker](/docs/cli-commands#rpk-discover-docker) - Read the Docker API and emit each published container as a Service on this
+    - [proxmox](/docs/cli-commands#rpk-discover-proxmox) - Read a Proxmox cluster and emit its nodes and guests as Systems
+    - [network](/docs/cli-commands#rpk-discover-network) - Sweep a subnet and emit every answering host as a System resource
+  - [ansible](/docs/cli-commands#rpk-ansible) - Generate and manage Ansible inventory
+    - [inventory](/docs/cli-commands#rpk-ansible-inventory) - Generate an Ansible inventory
+  - [ssh](/docs/cli-commands#rpk-ssh) - Generate SSH configuration from infrastructure
+    - [export](/docs/cli-commands#rpk-ssh-export) - Generate an SSH config file
+  - [hosts](/docs/cli-commands#rpk-hosts) - Generate a hosts file from infrastructure
+    - [export](/docs/cli-commands#rpk-hosts-export) - Generate a /etc/hosts compatible file
+  - [graph](/docs/cli-commands#rpk-graph) - Render inventory as graph diagrams
+    - [topology](/docs/cli-commands#rpk-graph-topology) - Emit a Mermaid flowchart of the physical topology (hardware + connections)
+    - [logical](/docs/cli-commands#rpk-graph-logical) - Emit a Mermaid flowchart of services & systems grouped by subnet and host
+  - [tags](/docs/cli-commands#rpk-tags) - Discover tags across resources
+    - [list](/docs/cli-commands#rpk-tags-list) - List all tags in use with usage counts
+    - [show](/docs/cli-commands#rpk-tags-show) - List resources carrying a specific tag
+  - [connections](/docs/cli-commands#rpk-connections) - Manage physical or logical port connections
+    - [add](/docs/cli-commands#rpk-connections-add) - Create a connection between two ports
+    - [remove](/docs/cli-commands#rpk-connections-remove) - Remove the connection from a specific port

+ 2 - 2
Shared.Rcl/wwwroot/raw_docs/install-guide.md

@@ -132,13 +132,13 @@ If you prefer running RackPeek directly on Linux:
 ## Download
 
 ```bash
-wget https://github.com/Timmoth/RackPeek/releases/download/RackPeek-0.0.3/rackpeek_0_0_3_linux-x64 -O rackpeek
+wget https://github.com/Timmoth/RackPeek/releases/download/RackPeek-2.2.0/rackpeek_2_2_0_linux-x64 -O rackpeek
 ```
 
 Or:
 
 ```bash
-curl -L https://github.com/Timmoth/RackPeek/releases/download/RackPeek-0.0.3/rackpeek_0_0_3_linux-x64 -o rackpeek
+curl -L https://github.com/Timmoth/RackPeek/releases/download/RackPeek-2.2.0/rackpeek_2_2_0_linux-x64 -o rackpeek
 ```
 
 ---

+ 6 - 5
Shared.Rcl/wwwroot/raw_docs/overview.md

@@ -19,6 +19,8 @@ RackPeek helps you:
 - Keep infrastructure knowledge versionable and portable
 - Treat your lab “as code” using simple YAML
 - Turn documentation into automation (e.g. Ansible inventory)
+- Auto-discover what is already running (`rpk discover system / docker / proxmox / network`)
+- Connect AI assistants to your inventory through the built-in MCP server
 
 It is intentionally focused on homelabs and self-hosted environments, not enterprise CMDBs.
 
@@ -52,17 +54,16 @@ Optimized for real-world home lab use — not corporate documentation workflows.
 
 ## Project Status
 
-RackPeek is actively developed and currently in beta.
+RackPeek is stable and actively developed.
 
 The focus is on:
 
 - Stability
-- Core feature completeness
 - Clean UX
-- Strong automation integrations
-- Community feedback before v1.0.0
+- Strong automation integrations (Ansible, discovery, MCP)
+- Community feedback shaping the roadmap
 
-Post-1.0, expansion areas include deeper automation support, diagramming, and infrastructure integrations.
+Expansion areas include deeper automation support, diagramming, and infrastructure integrations.
 
 ---
 

+ 5 - 48
Shared.Rcl/wwwroot/raw_docs/versioning.md

@@ -9,49 +9,6 @@ Example: 1.2.3
 
 ### MAJOR (X.0.0)
 
-* Sweeping changes to the CLI / WebUi
-* Large schema changes
-* Breaking Changes
-
-### MINOR (1.X.0)
-
-Backward-compatible features:
-
-* New CLI commands or flags
-* New WebUI features
-* New config options
-* Performance improvements
-
-### PATCH (1.0.X)
-
-Backward-compatible fixes:
-
-* Bug fixes
-* Security patches
-* Docs or minor UX improvements
-
-### CLI & Docker
-
-The CLI and Docker image share the **same version number**.
-
-Docker tags:
-
-* `latest` → newest stable
-* `v1.2.3` → Major Minor Patch
-
-For production, pin to a specific version instead of `latest`.
-
-## Versioning
-
-RackPeek follows **Semantic Versioning (SemVer)** for both the CLI and Docker images:
-
-```
-MAJOR.MINOR.PATCH
-Example: 1.2.3
-```
-
-### MAJOR (X.0.0)
-
 Breaking changes:
 
 * CLI command/flag changes
@@ -83,15 +40,15 @@ The CLI binary and Docker image share the **same version number**.
 Docker tags:
 
 * `latest` → newest stable release
-* `1` → latest major
-* `1.2` → latest patch in that minor line
-* `1.2.3` → exact immutable version (recommended for production)
+* `v1.2.3` → exact immutable version (recommended for production)
+
+For production, pin to a specific version instead of `latest`.
 
 ## Nightly Docker Builds
 
-In addition to stable releases, RackPeek publishes a **nightly Docker image** from the `main` branch.
+In addition to stable releases, RackPeek publishes a **nightly Docker image** from the `staging` branch.
 
-* Triggered on every push to `main`
+* Triggered on every push to `staging`
 * Built for `linux/amd64`
 * Tagged as:
 

+ 0 - 243
docs/CommandIndex.md

@@ -1,243 +0,0 @@
-
-- [rpk](docs/Commands.md#rpk)
-  - [summary](docs/Commands.md#rpk-summary) - Show a summarized report of all resources in the system
-  - [servers](docs/Commands.md#rpk-servers) - Manage servers and their components
-    - [summary](docs/Commands.md#rpk-servers-summary) - Show a summarized hardware report for all servers
-    - [add](docs/Commands.md#rpk-servers-add) - Add a new server to the inventory
-    - [get](docs/Commands.md#rpk-servers-get) - List all servers or retrieve a specific server by name
-    - [describe](docs/Commands.md#rpk-servers-describe) - Display detailed information about a specific server
-    - [set](docs/Commands.md#rpk-servers-set) - Update properties of an existing server
-    - [del](docs/Commands.md#rpk-servers-del) - Delete a server from the inventory
-    - [rename](docs/Commands.md#rpk-servers-rename) - Rename a server to a new name
-    - [tree](docs/Commands.md#rpk-servers-tree) - Display the dependency tree of a server
-    - [cpu](docs/Commands.md#rpk-servers-cpu) - Manage CPUs attached to a server
-      - [add](docs/Commands.md#rpk-servers-cpu-add) - Add a CPU to a specific server
-      - [set](docs/Commands.md#rpk-servers-cpu-set) - Update configuration of a server CPU
-      - [del](docs/Commands.md#rpk-servers-cpu-del) - Remove a CPU from a server
-    - [drive](docs/Commands.md#rpk-servers-drive) - Manage drives attached to a server
-      - [add](docs/Commands.md#rpk-servers-drive-add) - Add a storage drive to a server
-      - [set](docs/Commands.md#rpk-servers-drive-set) - Update properties of a server drive
-      - [del](docs/Commands.md#rpk-servers-drive-del) - Remove a drive from a server
-    - [gpu](docs/Commands.md#rpk-servers-gpu) - Manage GPUs attached to a server
-      - [add](docs/Commands.md#rpk-servers-gpu-add) - Add a GPU to a server
-      - [set](docs/Commands.md#rpk-servers-gpu-set) - Update properties of a server GPU
-      - [del](docs/Commands.md#rpk-servers-gpu-del) - Remove a GPU from a server
-    - [nic](docs/Commands.md#rpk-servers-nic) - Manage network interface cards (NICs) for a server
-      - [add](docs/Commands.md#rpk-servers-nic-add) - Add a NIC to a server
-      - [set](docs/Commands.md#rpk-servers-nic-set) - Update properties of a server NIC
-      - [del](docs/Commands.md#rpk-servers-nic-del) - Remove a NIC from a server
-    - [label](docs/Commands.md#rpk-servers-label) - Manage labels on a server
-      - [add](docs/Commands.md#rpk-servers-label-add) - Add a label to a server
-      - [remove](docs/Commands.md#rpk-servers-label-remove) - Remove a label from a server
-    - [tag](docs/Commands.md#rpk-servers-tag) - Manage tags on a server
-      - [add](docs/Commands.md#rpk-servers-tag-add) - Add a tag to a server
-      - [remove](docs/Commands.md#rpk-servers-tag-remove) - Remove a tag from a server
-  - [switches](docs/Commands.md#rpk-switches) - Manage network switches
-    - [summary](docs/Commands.md#rpk-switches-summary) - Show a hardware report for all switches
-    - [add](docs/Commands.md#rpk-switches-add) - Add a new network switch to the inventory
-    - [list](docs/Commands.md#rpk-switches-list) - List all switches in the system
-    - [get](docs/Commands.md#rpk-switches-get) - Retrieve details of a specific switch by name
-    - [describe](docs/Commands.md#rpk-switches-describe) - Show detailed information about a switch
-    - [set](docs/Commands.md#rpk-switches-set) - Update properties of a switch
-    - [del](docs/Commands.md#rpk-switches-del) - Delete a switch from the inventory
-    - [rename](docs/Commands.md#rpk-switches-rename) - Rename a switch to a new name
-    - [port](docs/Commands.md#rpk-switches-port) - Manage ports on a network switch
-      - [add](docs/Commands.md#rpk-switches-port-add) - Add a port to a switch
-      - [set](docs/Commands.md#rpk-switches-port-set) - Update a switch port
-      - [del](docs/Commands.md#rpk-switches-port-del) - Remove a port from a switch
-    - [label](docs/Commands.md#rpk-switches-label) - Manage labels on a switch
-      - [add](docs/Commands.md#rpk-switches-label-add) - Add a label to a switch
-      - [remove](docs/Commands.md#rpk-switches-label-remove) - Remove a label from a switch
-    - [tag](docs/Commands.md#rpk-switches-tag) - Manage tags on a switch
-      - [add](docs/Commands.md#rpk-switches-tag-add) - Add a tag to a switch
-      - [remove](docs/Commands.md#rpk-switches-tag-remove) - Remove a tag from a switch
-  - [routers](docs/Commands.md#rpk-routers) - Manage network routers
-    - [summary](docs/Commands.md#rpk-routers-summary) - Show a hardware report for all routers
-    - [add](docs/Commands.md#rpk-routers-add) - Add a new network router to the inventory
-    - [list](docs/Commands.md#rpk-routers-list) - List all routers in the system
-    - [get](docs/Commands.md#rpk-routers-get) - Retrieve details of a specific router by name
-    - [describe](docs/Commands.md#rpk-routers-describe) - Show detailed information about a router
-    - [set](docs/Commands.md#rpk-routers-set) - Update properties of a router
-    - [del](docs/Commands.md#rpk-routers-del) - Delete a router from the inventory
-    - [rename](docs/Commands.md#rpk-routers-rename) - Rename a router to a new name
-    - [port](docs/Commands.md#rpk-routers-port) - Manage ports on a router
-      - [add](docs/Commands.md#rpk-routers-port-add) - Add a port to a router
-      - [set](docs/Commands.md#rpk-routers-port-set) - Update a router port
-      - [del](docs/Commands.md#rpk-routers-port-del) - Remove a port from a router
-    - [label](docs/Commands.md#rpk-routers-label) - Manage labels on a router
-      - [add](docs/Commands.md#rpk-routers-label-add) - Add a label to a router
-      - [remove](docs/Commands.md#rpk-routers-label-remove) - Remove a label from a router
-    - [tag](docs/Commands.md#rpk-routers-tag) - Manage tags on a router
-      - [add](docs/Commands.md#rpk-routers-tag-add) - Add a tag to a router
-      - [remove](docs/Commands.md#rpk-routers-tag-remove) - Remove a tag from a router
-  - [firewalls](docs/Commands.md#rpk-firewalls) - Manage firewalls
-    - [summary](docs/Commands.md#rpk-firewalls-summary) - Show a hardware report for all firewalls
-    - [add](docs/Commands.md#rpk-firewalls-add) - Add a new firewall to the inventory
-    - [list](docs/Commands.md#rpk-firewalls-list) - List all firewalls in the system
-    - [get](docs/Commands.md#rpk-firewalls-get) - Retrieve details of a specific firewall by name
-    - [describe](docs/Commands.md#rpk-firewalls-describe) - Show detailed information about a firewall
-    - [set](docs/Commands.md#rpk-firewalls-set) - Update properties of a firewall
-    - [del](docs/Commands.md#rpk-firewalls-del) - Delete a firewall from the inventory
-    - [rename](docs/Commands.md#rpk-firewalls-rename) - Rename a firewall to a new name
-    - [port](docs/Commands.md#rpk-firewalls-port) - Manage ports on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-port-add) - Add a port to a firewall
-      - [set](docs/Commands.md#rpk-firewalls-port-set) - Update a firewall port
-      - [del](docs/Commands.md#rpk-firewalls-port-del) - Remove a port from a firewall
-    - [label](docs/Commands.md#rpk-firewalls-label) - Manage labels on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-label-add) - Add a label to a firewall
-      - [remove](docs/Commands.md#rpk-firewalls-label-remove) - Remove a label from a firewall
-    - [tag](docs/Commands.md#rpk-firewalls-tag) - Manage tags on a firewall
-      - [add](docs/Commands.md#rpk-firewalls-tag-add) - Add a tag to a firewall
-      - [remove](docs/Commands.md#rpk-firewalls-tag-remove) - Remove a tag from a firewall
-  - [systems](docs/Commands.md#rpk-systems) - Manage systems and their dependencies
-    - [summary](docs/Commands.md#rpk-systems-summary) - Show a summary report for all systems
-    - [add](docs/Commands.md#rpk-systems-add) - Add a new system to the inventory
-    - [list](docs/Commands.md#rpk-systems-list) - List all systems
-    - [get](docs/Commands.md#rpk-systems-get) - Retrieve a system by name
-    - [describe](docs/Commands.md#rpk-systems-describe) - Display detailed information about a system
-    - [set](docs/Commands.md#rpk-systems-set) - Update properties of a system
-    - [del](docs/Commands.md#rpk-systems-del) - Delete a system from the inventory
-    - [rename](docs/Commands.md#rpk-systems-rename) - Rename a system to a new name
-    - [tree](docs/Commands.md#rpk-systems-tree) - Display the dependency tree for a system
-    - [label](docs/Commands.md#rpk-systems-label) - Manage labels on a system
-      - [add](docs/Commands.md#rpk-systems-label-add) - Add a label to a system
-      - [remove](docs/Commands.md#rpk-systems-label-remove) - Remove a label from a system
-    - [tag](docs/Commands.md#rpk-systems-tag) - Manage tags on a system
-      - [add](docs/Commands.md#rpk-systems-tag-add) - Add a tag to a system
-      - [remove](docs/Commands.md#rpk-systems-tag-remove) - Remove a tag from a system
-  - [accesspoints](docs/Commands.md#rpk-accesspoints) - Manage access points
-    - [summary](docs/Commands.md#rpk-accesspoints-summary) - Show a hardware report for all access points
-    - [add](docs/Commands.md#rpk-accesspoints-add) - Add a new access point
-    - [list](docs/Commands.md#rpk-accesspoints-list) - List all access points
-    - [get](docs/Commands.md#rpk-accesspoints-get) - Retrieve an access point by name
-    - [describe](docs/Commands.md#rpk-accesspoints-describe) - Show detailed information about an access point
-    - [set](docs/Commands.md#rpk-accesspoints-set) - Update properties of an access point
-    - [del](docs/Commands.md#rpk-accesspoints-del) - Delete an access point
-    - [rename](docs/Commands.md#rpk-accesspoints-rename) - Rename an access point to a new name
-    - [label](docs/Commands.md#rpk-accesspoints-label) - Manage labels on an access point
-      - [add](docs/Commands.md#rpk-accesspoints-label-add) - Add a label to an access point
-      - [remove](docs/Commands.md#rpk-accesspoints-label-remove) - Remove a label from an access point
-    - [tag](docs/Commands.md#rpk-accesspoints-tag) - Manage tags on an access point
-      - [add](docs/Commands.md#rpk-accesspoints-tag-add) - Add a tag to an access point
-      - [remove](docs/Commands.md#rpk-accesspoints-tag-remove) - Remove a tag from an access point
-  - [ups](docs/Commands.md#rpk-ups) - Manage UPS units
-    - [summary](docs/Commands.md#rpk-ups-summary) - Show a hardware report for all UPS units
-    - [add](docs/Commands.md#rpk-ups-add) - Add a new UPS unit
-    - [list](docs/Commands.md#rpk-ups-list) - List all UPS units
-    - [get](docs/Commands.md#rpk-ups-get) - Retrieve a UPS unit by name
-    - [describe](docs/Commands.md#rpk-ups-describe) - Show detailed information about a UPS unit
-    - [set](docs/Commands.md#rpk-ups-set) - Update properties of a UPS unit
-    - [del](docs/Commands.md#rpk-ups-del) - Delete a UPS unit
-    - [rename](docs/Commands.md#rpk-ups-rename) - Rename a UPS unit to a new name
-    - [label](docs/Commands.md#rpk-ups-label) - Manage labels on a UPS unit
-      - [add](docs/Commands.md#rpk-ups-label-add) - Add a label to a UPS unit
-      - [remove](docs/Commands.md#rpk-ups-label-remove) - Remove a label from a UPS unit
-    - [tag](docs/Commands.md#rpk-ups-tag) - Manage tags on a UPS unit
-      - [add](docs/Commands.md#rpk-ups-tag-add) - Add a tag to a UPS unit
-      - [remove](docs/Commands.md#rpk-ups-tag-remove) - Remove a tag from a UPS unit
-  - [other](docs/Commands.md#rpk-other) - Manage other hardware that doesn't fit an existing category
-    - [summary](docs/Commands.md#rpk-other-summary) - Show a hardware report for all other hardware
-    - [add](docs/Commands.md#rpk-other-add) - Add new other hardware
-    - [list](docs/Commands.md#rpk-other-list) - List all other hardware
-    - [get](docs/Commands.md#rpk-other-get) - Retrieve other hardware by name
-    - [describe](docs/Commands.md#rpk-other-describe) - Show detailed information about other hardware
-    - [set](docs/Commands.md#rpk-other-set) - Update properties of other hardware
-    - [del](docs/Commands.md#rpk-other-del) - Delete other hardware
-    - [rename](docs/Commands.md#rpk-other-rename) - Rename other hardware to a new name
-    - [label](docs/Commands.md#rpk-other-label) - Manage labels on other hardware
-      - [add](docs/Commands.md#rpk-other-label-add) - Add a label to other hardware
-      - [remove](docs/Commands.md#rpk-other-label-remove) - Remove a label from other hardware
-    - [tag](docs/Commands.md#rpk-other-tag) - Manage tags on other hardware
-      - [add](docs/Commands.md#rpk-other-tag-add) - Add a tag to other hardware
-      - [remove](docs/Commands.md#rpk-other-tag-remove) - Remove a tag from other hardware
-  - [desktops](docs/Commands.md#rpk-desktops) - Manage desktop computers and their components
-    - [add](docs/Commands.md#rpk-desktops-add) - Add a new desktop
-    - [list](docs/Commands.md#rpk-desktops-list) - List all desktops
-    - [get](docs/Commands.md#rpk-desktops-get) - Retrieve a desktop by name
-    - [describe](docs/Commands.md#rpk-desktops-describe) - Show detailed information about a desktop
-    - [set](docs/Commands.md#rpk-desktops-set) - Update properties of a desktop
-    - [del](docs/Commands.md#rpk-desktops-del) - Delete a desktop from the inventory
-    - [rename](docs/Commands.md#rpk-desktops-rename) - Rename a desktop to a new name
-    - [summary](docs/Commands.md#rpk-desktops-summary) - Show a summarized hardware report for all desktops
-    - [tree](docs/Commands.md#rpk-desktops-tree) - Display the dependency tree for a desktop
-    - [cpu](docs/Commands.md#rpk-desktops-cpu) - Manage CPUs attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-cpu-add) - Add a CPU to a desktop
-      - [set](docs/Commands.md#rpk-desktops-cpu-set) - Update a desktop CPU
-      - [del](docs/Commands.md#rpk-desktops-cpu-del) - Remove a CPU from a desktop
-    - [drive](docs/Commands.md#rpk-desktops-drive) - Manage storage drives attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-drive-add) - Add a drive to a desktop
-      - [set](docs/Commands.md#rpk-desktops-drive-set) - Update a desktop drive
-      - [del](docs/Commands.md#rpk-desktops-drive-del) - Remove a drive from a desktop
-    - [gpu](docs/Commands.md#rpk-desktops-gpu) - Manage GPUs attached to desktops
-      - [add](docs/Commands.md#rpk-desktops-gpu-add) - Add a GPU to a desktop
-      - [set](docs/Commands.md#rpk-desktops-gpu-set) - Update a desktop GPU
-      - [del](docs/Commands.md#rpk-desktops-gpu-del) - Remove a GPU from a desktop
-    - [nic](docs/Commands.md#rpk-desktops-nic) - Manage network interface cards (NICs) for desktops
-      - [add](docs/Commands.md#rpk-desktops-nic-add) - Add a NIC to a desktop
-      - [set](docs/Commands.md#rpk-desktops-nic-set) - Update a desktop NIC
-      - [del](docs/Commands.md#rpk-desktops-nic-del) - Remove a NIC from a desktop
-    - [label](docs/Commands.md#rpk-desktops-label) - Manage labels on a desktop
-      - [add](docs/Commands.md#rpk-desktops-label-add) - Add a label to a desktop
-      - [remove](docs/Commands.md#rpk-desktops-label-remove) - Remove a label from a desktop
-    - [tag](docs/Commands.md#rpk-desktops-tag) - Manage tags on a desktop
-      - [add](docs/Commands.md#rpk-desktops-tag-add) - Add a tag to a desktop
-      - [remove](docs/Commands.md#rpk-desktops-tag-remove) - Remove a tag from a desktop
-  - [laptops](docs/Commands.md#rpk-laptops) - Manage Laptop computers and their components
-    - [add](docs/Commands.md#rpk-laptops-add) - Add a new Laptop
-    - [list](docs/Commands.md#rpk-laptops-list) - List all Laptops
-    - [get](docs/Commands.md#rpk-laptops-get) - Retrieve a Laptop by name
-    - [describe](docs/Commands.md#rpk-laptops-describe) - Show detailed information about a Laptop
-    - [set](docs/Commands.md#rpk-laptops-set) - Update properties of a laptop
-    - [del](docs/Commands.md#rpk-laptops-del) - Delete a Laptop from the inventory
-    - [rename](docs/Commands.md#rpk-laptops-rename) - Rename a Laptop to a new name
-    - [summary](docs/Commands.md#rpk-laptops-summary) - Show a summarized hardware report for all Laptops
-    - [tree](docs/Commands.md#rpk-laptops-tree) - Display the dependency tree for a Laptop
-    - [cpu](docs/Commands.md#rpk-laptops-cpu) - Manage CPUs attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-cpu-add) - Add a CPU to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-cpu-set) - Update a Laptop CPU
-      - [del](docs/Commands.md#rpk-laptops-cpu-del) - Remove a CPU from a Laptop
-    - [drive](docs/Commands.md#rpk-laptops-drive) - Manage storage drives attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-drive-add) - Add a drive to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-drive-set) - Update a Laptop drive
-      - [del](docs/Commands.md#rpk-laptops-drive-del) - Remove a drive from a Laptop
-    - [gpu](docs/Commands.md#rpk-laptops-gpu) - Manage GPUs attached to Laptops
-      - [add](docs/Commands.md#rpk-laptops-gpu-add) - Add a GPU to a Laptop
-      - [set](docs/Commands.md#rpk-laptops-gpu-set) - Update a Laptop GPU
-      - [del](docs/Commands.md#rpk-laptops-gpu-del) - Remove a GPU from a Laptop
-    - [label](docs/Commands.md#rpk-laptops-label) - Manage labels on a laptop
-      - [add](docs/Commands.md#rpk-laptops-label-add) - Add a label to a laptop
-      - [remove](docs/Commands.md#rpk-laptops-label-remove) - Remove a label from a laptop
-    - [tag](docs/Commands.md#rpk-laptops-tag) - Manage tags on a laptop
-      - [add](docs/Commands.md#rpk-laptops-tag-add) - Add a tag to a laptop
-      - [remove](docs/Commands.md#rpk-laptops-tag-remove) - Remove a tag from a laptop
-  - [services](docs/Commands.md#rpk-services) - Manage services and their configurations
-    - [summary](docs/Commands.md#rpk-services-summary) - Show a summary report for all services
-    - [add](docs/Commands.md#rpk-services-add) - Add a new service
-    - [list](docs/Commands.md#rpk-services-list) - List all services
-    - [get](docs/Commands.md#rpk-services-get) - Retrieve a service by name
-    - [describe](docs/Commands.md#rpk-services-describe) - Show detailed information about a service
-    - [set](docs/Commands.md#rpk-services-set) - Update properties of a service
-    - [del](docs/Commands.md#rpk-services-del) - Delete a service
-    - [rename](docs/Commands.md#rpk-services-rename) - Rename a service to a new name
-    - [subnets](docs/Commands.md#rpk-services-subnets) - List subnets associated with a service, optionally filtered by CIDR
-    - [label](docs/Commands.md#rpk-services-label) - Manage labels on a service
-      - [add](docs/Commands.md#rpk-services-label-add) - Add a label to a service
-      - [remove](docs/Commands.md#rpk-services-label-remove) - Remove a label from a service
-    - [tag](docs/Commands.md#rpk-services-tag) - Manage tags on a service
-      - [add](docs/Commands.md#rpk-services-tag-add) - Add a tag to a service
-      - [remove](docs/Commands.md#rpk-services-tag-remove) - Remove a tag from a service
-  - [ansible](docs/Commands.md#rpk-ansible) - Generate and manage Ansible inventory
-    - [inventory](docs/Commands.md#rpk-ansible-inventory) - Generate an Ansible inventory
-  - [ssh](docs/Commands.md#rpk-ssh) - Generate SSH configuration from infrastructure
-    - [export](docs/Commands.md#rpk-ssh-export) - Generate an SSH config file
-  - [hosts](docs/Commands.md#rpk-hosts) - Generate a hosts file from infrastructure
-    - [export](docs/Commands.md#rpk-hosts-export) - Generate a /etc/hosts compatible file
-  - [graph](docs/Commands.md#rpk-graph) - Render inventory as graph diagrams
-    - [topology](docs/Commands.md#rpk-graph-topology) - Emit a Mermaid flowchart of the physical topology (hardware + connections)
-    - [logical](docs/Commands.md#rpk-graph-logical) - Emit a Mermaid flowchart of services & systems grouped by subnet and host
-  - [tags](docs/Commands.md#rpk-tags) - Discover tags across resources
-    - [list](docs/Commands.md#rpk-tags-list) - List all tags in use with usage counts
-    - [show](docs/Commands.md#rpk-tags-show) - List resources carrying a specific tag
-  - [connections](docs/Commands.md#rpk-connections) - Manage physical or logical port connections
-    - [add](docs/Commands.md#rpk-connections-add) - Create a connection between two ports
-    - [remove](docs/Commands.md#rpk-connections-remove) - Remove the connection from a specific port

+ 0 - 3999
docs/Commands.md

@@ -1,3999 +0,0 @@
-# CLI Commands
-
-## `rpk`
-```
-USAGE:
-    rpk [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help       Prints help information   
-    -v, --version    Prints version information
-
-COMMANDS:
-    summary         Show a summarized report of all resources in the system    
-    servers         Manage servers and their components                        
-    switches        Manage network switches                                    
-    routers         Manage network routers                                     
-    firewalls       Manage firewalls                                           
-    systems         Manage systems and their dependencies                      
-    accesspoints    Manage access points                                       
-    ups             Manage UPS units                                           
-    other           Manage other hardware that doesn't fit an existing category
-    desktops        Manage desktop computers and their components              
-    laptops         Manage Laptop computers and their components               
-    services        Manage services and their configurations                   
-    ansible         Generate and manage Ansible inventory                      
-    ssh             Generate SSH configuration from infrastructure             
-    hosts           Generate a hosts file from infrastructure                  
-    graph           Render inventory as graph diagrams                         
-    tags            Discover tags across resources                             
-    connections     Manage physical or logical port connections                
-```
-
-## `rpk summary`
-```
-DESCRIPTION:
-Show a summarized report of all resources in the system
-
-USAGE:
-    rpk summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers`
-```
-DESCRIPTION:
-Manage servers and their components
-
-USAGE:
-    rpk servers [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a summarized hardware report for all       
-                                servers                                         
-    add <name>                  Add a new server to the inventory               
-    get <name>                  List all servers or retrieve a specific server  
-                                by name                                         
-    describe <name>             Display detailed information about a specific   
-                                server                                          
-    set <name>                  Update properties of an existing server         
-    del <name>                  Delete a server from the inventory              
-    rename <name> <new-name>    Rename a server to a new name                   
-    tree <name>                 Display the dependency tree of a server         
-    cpu                         Manage CPUs attached to a server                
-    drive                       Manage drives attached to a server              
-    gpu                         Manage GPUs attached to a server                
-    nic                         Manage network interface cards (NICs) for a     
-                                server                                          
-    label                       Manage labels on a server                       
-    tag                         Manage tags on a server                         
-```
-
-## `rpk servers summary`
-```
-DESCRIPTION:
-Show a summarized hardware report for all servers
-
-USAGE:
-    rpk servers summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers add`
-```
-DESCRIPTION:
-Add a new server to the inventory
-
-USAGE:
-    rpk servers add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers get`
-```
-DESCRIPTION:
-List all servers or retrieve a specific server by name
-
-USAGE:
-    rpk servers get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers describe`
-```
-DESCRIPTION:
-Display detailed information about a specific server
-
-USAGE:
-    rpk servers describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers set`
-```
-DESCRIPTION:
-Update properties of an existing server
-
-USAGE:
-    rpk servers set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --ram <GB>                                
-        --ram_mts <MTS>                           
-        --ipmi                                    
-```
-
-## `rpk servers del`
-```
-DESCRIPTION:
-Delete a server from the inventory
-
-USAGE:
-    rpk servers del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers rename`
-```
-DESCRIPTION:
-Rename a server to a new name
-
-USAGE:
-    rpk servers rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers tree`
-```
-DESCRIPTION:
-Display the dependency tree of a server
-
-USAGE:
-    rpk servers tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers cpu`
-```
-DESCRIPTION:
-Manage CPUs attached to a server
-
-USAGE:
-    rpk servers cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a CPU to a specific server      
-    set <name>    Update configuration of a server CPU
-    del <name>    Remove a CPU from a server          
-```
-
-## `rpk servers cpu add`
-```
-DESCRIPTION:
-Add a CPU to a specific server
-
-USAGE:
-    rpk servers cpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu set`
-```
-DESCRIPTION:
-Update configuration of a server CPU
-
-USAGE:
-    rpk servers cpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                 Prints help information
-        --index <INDEX>                               
-        --model <MODEL>                               
-        --cores <CORES>                               
-        --threads <THREADS>                           
-```
-
-## `rpk servers cpu del`
-```
-DESCRIPTION:
-Remove a CPU from a server
-
-USAGE:
-    rpk servers cpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers drive`
-```
-DESCRIPTION:
-Manage drives attached to a server
-
-USAGE:
-    rpk servers drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a storage drive to a server    
-    set <name>    Update properties of a server drive
-    del <name>    Remove a drive from a server       
-```
-
-## `rpk servers drive add`
-```
-DESCRIPTION:
-Add a storage drive to a server
-
-USAGE:
-    rpk servers drive add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help           Prints help information     
-        --type <TYPE>    The drive type e.g hdd / ssd
-        --size <SIZE>    The drive capacity in GB    
-```
-
-## `rpk servers drive set`
-```
-DESCRIPTION:
-Update properties of a server drive
-
-USAGE:
-    rpk servers drive set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --size <SIZE>                             
-```
-
-## `rpk servers drive del`
-```
-DESCRIPTION:
-Remove a drive from a server
-
-USAGE:
-    rpk servers drive del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers gpu`
-```
-DESCRIPTION:
-Manage GPUs attached to a server
-
-USAGE:
-    rpk servers gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a GPU to a server            
-    set <name>    Update properties of a server GPU
-    del <name>    Remove a GPU from a server       
-```
-
-## `rpk servers gpu add`
-```
-DESCRIPTION:
-Add a GPU to a server
-
-USAGE:
-    rpk servers gpu add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu set`
-```
-DESCRIPTION:
-Update properties of a server GPU
-
-USAGE:
-    rpk servers gpu set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --model <MODEL>                           
-        --vram <VRAM>                             
-```
-
-## `rpk servers gpu del`
-```
-DESCRIPTION:
-Remove a GPU from a server
-
-USAGE:
-    rpk servers gpu del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers nic`
-```
-DESCRIPTION:
-Manage network interface cards (NICs) for a server
-
-USAGE:
-    rpk servers nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a NIC to a server            
-    set <name>    Update properties of a server NIC
-    del <name>    Remove a NIC from a server       
-```
-
-## `rpk servers nic add`
-```
-DESCRIPTION:
-Add a NIC to a server
-
-USAGE:
-    rpk servers nic add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic set`
-```
-DESCRIPTION:
-Update properties of a server NIC
-
-USAGE:
-    rpk servers nic set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type <TYPE>                             
-        --speed <SPEED>                           
-        --ports <PORTS>                           
-```
-
-## `rpk servers nic del`
-```
-DESCRIPTION:
-Remove a NIC from a server
-
-USAGE:
-    rpk servers nic del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk servers label`
-```
-DESCRIPTION:
-Manage labels on a server
-
-USAGE:
-    rpk servers label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a server     
-    remove <name>    Remove a label from a server
-```
-
-## `rpk servers label add`
-```
-DESCRIPTION:
-Add a label to a server
-
-USAGE:
-    rpk servers label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk servers label remove`
-```
-DESCRIPTION:
-Remove a label from a server
-
-USAGE:
-    rpk servers label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk servers tag`
-```
-DESCRIPTION:
-Manage tags on a server
-
-USAGE:
-    rpk servers tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a server     
-    remove <name> <tag>    Remove a tag from a server
-```
-
-## `rpk servers tag add`
-```
-DESCRIPTION:
-Add a tag to a server
-
-USAGE:
-    rpk servers tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk servers tag remove`
-```
-DESCRIPTION:
-Remove a tag from a server
-
-USAGE:
-    rpk servers tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches`
-```
-DESCRIPTION:
-Manage network switches
-
-USAGE:
-    rpk switches [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all switches      
-    add <name>                  Add a new network switch to the inventory    
-    list                        List all switches in the system              
-    get <name>                  Retrieve details of a specific switch by name
-    describe <name>             Show detailed information about a switch     
-    set <name>                  Update properties of a switch                
-    del <name>                  Delete a switch from the inventory           
-    rename <name> <new-name>    Rename a switch to a new name                
-    port                        Manage ports on a network switch             
-    label                       Manage labels on a switch                    
-    tag                         Manage tags on a switch                      
-```
-
-## `rpk switches summary`
-```
-DESCRIPTION:
-Show a hardware report for all switches
-
-USAGE:
-    rpk switches summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches add`
-```
-DESCRIPTION:
-Add a new network switch to the inventory
-
-USAGE:
-    rpk switches add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches list`
-```
-DESCRIPTION:
-List all switches in the system
-
-USAGE:
-    rpk switches list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches get`
-```
-DESCRIPTION:
-Retrieve details of a specific switch by name
-
-USAGE:
-    rpk switches get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches describe`
-```
-DESCRIPTION:
-Show detailed information about a switch
-
-USAGE:
-    rpk switches describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches set`
-```
-DESCRIPTION:
-Update properties of a switch
-
-USAGE:
-    rpk switches set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
-```
-
-## `rpk switches del`
-```
-DESCRIPTION:
-Delete a switch from the inventory
-
-USAGE:
-    rpk switches del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches rename`
-```
-DESCRIPTION:
-Rename a switch to a new name
-
-USAGE:
-    rpk switches rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches port`
-```
-DESCRIPTION:
-Manage ports on a network switch
-
-USAGE:
-    rpk switches port [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a port to a switch     
-    set <name>    Update a switch port       
-    del <name>    Remove a port from a switch
-```
-
-## `rpk switches port add`
-```
-DESCRIPTION:
-Add a port to a switch
-
-USAGE:
-    rpk switches port add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The port type (e.g., rj45, sfp+) 
-        --speed    The port speed (e.g., 1, 2.5, 10)
-        --count    Number of ports of this type     
-```
-
-## `rpk switches port set`
-```
-DESCRIPTION:
-Update a switch port
-
-USAGE:
-    rpk switches port set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type                                    
-        --speed                                   
-        --count                                   
-```
-
-## `rpk switches port del`
-```
-DESCRIPTION:
-Remove a port from a switch
-
-USAGE:
-    rpk switches port del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk switches label`
-```
-DESCRIPTION:
-Manage labels on a switch
-
-USAGE:
-    rpk switches label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a switch     
-    remove <name>    Remove a label from a switch
-```
-
-## `rpk switches label add`
-```
-DESCRIPTION:
-Add a label to a switch
-
-USAGE:
-    rpk switches label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk switches label remove`
-```
-DESCRIPTION:
-Remove a label from a switch
-
-USAGE:
-    rpk switches label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk switches tag`
-```
-DESCRIPTION:
-Manage tags on a switch
-
-USAGE:
-    rpk switches tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a switch     
-    remove <name> <tag>    Remove a tag from a switch
-```
-
-## `rpk switches tag add`
-```
-DESCRIPTION:
-Add a tag to a switch
-
-USAGE:
-    rpk switches tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk switches tag remove`
-```
-DESCRIPTION:
-Remove a tag from a switch
-
-USAGE:
-    rpk switches tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers`
-```
-DESCRIPTION:
-Manage network routers
-
-USAGE:
-    rpk routers [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all routers       
-    add <name>                  Add a new network router to the inventory    
-    list                        List all routers in the system               
-    get <name>                  Retrieve details of a specific router by name
-    describe <name>             Show detailed information about a router     
-    set <name>                  Update properties of a router                
-    del <name>                  Delete a router from the inventory           
-    rename <name> <new-name>    Rename a router to a new name                
-    port                        Manage ports on a router                     
-    label                       Manage labels on a router                    
-    tag                         Manage tags on a router                      
-```
-
-## `rpk routers summary`
-```
-DESCRIPTION:
-Show a hardware report for all routers
-
-USAGE:
-    rpk routers summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers add`
-```
-DESCRIPTION:
-Add a new network router to the inventory
-
-USAGE:
-    rpk routers add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers list`
-```
-DESCRIPTION:
-List all routers in the system
-
-USAGE:
-    rpk routers list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers get`
-```
-DESCRIPTION:
-Retrieve details of a specific router by name
-
-USAGE:
-    rpk routers get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers describe`
-```
-DESCRIPTION:
-Show detailed information about a router
-
-USAGE:
-    rpk routers describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers set`
-```
-DESCRIPTION:
-Update properties of a router
-
-USAGE:
-    rpk routers set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
-```
-
-## `rpk routers del`
-```
-DESCRIPTION:
-Delete a router from the inventory
-
-USAGE:
-    rpk routers del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers rename`
-```
-DESCRIPTION:
-Rename a router to a new name
-
-USAGE:
-    rpk routers rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers port`
-```
-DESCRIPTION:
-Manage ports on a router
-
-USAGE:
-    rpk routers port [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a port to a router     
-    set <name>    Update a router port       
-    del <name>    Remove a port from a router
-```
-
-## `rpk routers port add`
-```
-DESCRIPTION:
-Add a port to a router
-
-USAGE:
-    rpk routers port add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --type                            
-        --speed                           
-        --count                           
-```
-
-## `rpk routers port set`
-```
-DESCRIPTION:
-Update a router port
-
-USAGE:
-    rpk routers port set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type                                    
-        --speed                                   
-        --count                                   
-```
-
-## `rpk routers port del`
-```
-DESCRIPTION:
-Remove a port from a router
-
-USAGE:
-    rpk routers port del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk routers label`
-```
-DESCRIPTION:
-Manage labels on a router
-
-USAGE:
-    rpk routers label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a router     
-    remove <name>    Remove a label from a router
-```
-
-## `rpk routers label add`
-```
-DESCRIPTION:
-Add a label to a router
-
-USAGE:
-    rpk routers label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk routers label remove`
-```
-DESCRIPTION:
-Remove a label from a router
-
-USAGE:
-    rpk routers label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk routers tag`
-```
-DESCRIPTION:
-Manage tags on a router
-
-USAGE:
-    rpk routers tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a router     
-    remove <name> <tag>    Remove a tag from a router
-```
-
-## `rpk routers tag add`
-```
-DESCRIPTION:
-Add a tag to a router
-
-USAGE:
-    rpk routers tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk routers tag remove`
-```
-DESCRIPTION:
-Remove a tag from a router
-
-USAGE:
-    rpk routers tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls`
-```
-DESCRIPTION:
-Manage firewalls
-
-USAGE:
-    rpk firewalls [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all firewalls       
-    add <name>                  Add a new firewall to the inventory            
-    list                        List all firewalls in the system               
-    get <name>                  Retrieve details of a specific firewall by name
-    describe <name>             Show detailed information about a firewall     
-    set <name>                  Update properties of a firewall                
-    del <name>                  Delete a firewall from the inventory           
-    rename <name> <new-name>    Rename a firewall to a new name                
-    port                        Manage ports on a firewall                     
-    label                       Manage labels on a firewall                    
-    tag                         Manage tags on a firewall                      
-```
-
-## `rpk firewalls summary`
-```
-DESCRIPTION:
-Show a hardware report for all firewalls
-
-USAGE:
-    rpk firewalls summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls add`
-```
-DESCRIPTION:
-Add a new firewall to the inventory
-
-USAGE:
-    rpk firewalls add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls list`
-```
-DESCRIPTION:
-List all firewalls in the system
-
-USAGE:
-    rpk firewalls list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls get`
-```
-DESCRIPTION:
-Retrieve details of a specific firewall by name
-
-USAGE:
-    rpk firewalls get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls describe`
-```
-DESCRIPTION:
-Show detailed information about a firewall
-
-USAGE:
-    rpk firewalls describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls set`
-```
-DESCRIPTION:
-Update properties of a firewall
-
-USAGE:
-    rpk firewalls set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help       Prints help information
-        --Model                             
-        --managed                           
-        --poe                               
-```
-
-## `rpk firewalls del`
-```
-DESCRIPTION:
-Delete a firewall from the inventory
-
-USAGE:
-    rpk firewalls del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls rename`
-```
-DESCRIPTION:
-Rename a firewall to a new name
-
-USAGE:
-    rpk firewalls rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls port`
-```
-DESCRIPTION:
-Manage ports on a firewall
-
-USAGE:
-    rpk firewalls port [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>    Add a port to a firewall     
-    set <name>    Update a firewall port       
-    del <name>    Remove a port from a firewall
-```
-
-## `rpk firewalls port add`
-```
-DESCRIPTION:
-Add a port to a firewall
-
-USAGE:
-    rpk firewalls port add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --type                            
-        --speed                           
-        --count                           
-```
-
-## `rpk firewalls port set`
-```
-DESCRIPTION:
-Update a firewall port
-
-USAGE:
-    rpk firewalls port set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-        --type                                    
-        --speed                                   
-        --count                                   
-```
-
-## `rpk firewalls port del`
-```
-DESCRIPTION:
-Remove a port from a firewall
-
-USAGE:
-    rpk firewalls port del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --index <INDEX>                           
-```
-
-## `rpk firewalls label`
-```
-DESCRIPTION:
-Manage labels on a firewall
-
-USAGE:
-    rpk firewalls label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a firewall     
-    remove <name>    Remove a label from a firewall
-```
-
-## `rpk firewalls label add`
-```
-DESCRIPTION:
-Add a label to a firewall
-
-USAGE:
-    rpk firewalls label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk firewalls label remove`
-```
-DESCRIPTION:
-Remove a label from a firewall
-
-USAGE:
-    rpk firewalls label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk firewalls tag`
-```
-DESCRIPTION:
-Manage tags on a firewall
-
-USAGE:
-    rpk firewalls tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a firewall     
-    remove <name> <tag>    Remove a tag from a firewall
-```
-
-## `rpk firewalls tag add`
-```
-DESCRIPTION:
-Add a tag to a firewall
-
-USAGE:
-    rpk firewalls tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk firewalls tag remove`
-```
-DESCRIPTION:
-Remove a tag from a firewall
-
-USAGE:
-    rpk firewalls tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems`
-```
-DESCRIPTION:
-Manage systems and their dependencies
-
-USAGE:
-    rpk systems [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a summary report for all systems      
-    add <name>                  Add a new system to the inventory          
-    list                        List all systems                           
-    get <name>                  Retrieve a system by name                  
-    describe <name>             Display detailed information about a system
-    set <name>                  Update properties of a system              
-    del <name>                  Delete a system from the inventory         
-    rename <name> <new-name>    Rename a system to a new name              
-    tree <name>                 Display the dependency tree for a system   
-    label                       Manage labels on a system                  
-    tag                         Manage tags on a system                    
-```
-
-## `rpk systems summary`
-```
-DESCRIPTION:
-Show a summary report for all systems
-
-USAGE:
-    rpk systems summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems add`
-```
-DESCRIPTION:
-Add a new system to the inventory
-
-USAGE:
-    rpk systems add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems list`
-```
-DESCRIPTION:
-List all systems
-
-USAGE:
-    rpk systems list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems get`
-```
-DESCRIPTION:
-Retrieve a system by name
-
-USAGE:
-    rpk systems get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems describe`
-```
-DESCRIPTION:
-Display detailed information about a system
-
-USAGE:
-    rpk systems describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems set`
-```
-DESCRIPTION:
-Update properties of a system
-
-USAGE:
-    rpk systems set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                Prints help information                          
-        --type                                                                 
-        --os                                                                   
-        --cores                                                                
-        --ram                                                                  
-        --runs-on <RUNSON>    The physical machine(s) the service is running on
-        --ip                  The ip address of the system                     
-```
-
-## `rpk systems del`
-```
-DESCRIPTION:
-Delete a system from the inventory
-
-USAGE:
-    rpk systems del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems rename`
-```
-DESCRIPTION:
-Rename a system to a new name
-
-USAGE:
-    rpk systems rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>        The name of the system
-    <new-name>                          
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems tree`
-```
-DESCRIPTION:
-Display the dependency tree for a system
-
-USAGE:
-    rpk systems tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems label`
-```
-DESCRIPTION:
-Manage labels on a system
-
-USAGE:
-    rpk systems label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a system     
-    remove <name>    Remove a label from a system
-```
-
-## `rpk systems label add`
-```
-DESCRIPTION:
-Add a label to a system
-
-USAGE:
-    rpk systems label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk systems label remove`
-```
-DESCRIPTION:
-Remove a label from a system
-
-USAGE:
-    rpk systems label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the system
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk systems tag`
-```
-DESCRIPTION:
-Manage tags on a system
-
-USAGE:
-    rpk systems tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a system     
-    remove <name> <tag>    Remove a tag from a system
-```
-
-## `rpk systems tag add`
-```
-DESCRIPTION:
-Add a tag to a system
-
-USAGE:
-    rpk systems tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk systems tag remove`
-```
-DESCRIPTION:
-Remove a tag from a system
-
-USAGE:
-    rpk systems tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints`
-```
-DESCRIPTION:
-Manage access points
-
-USAGE:
-    rpk accesspoints [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all access points   
-    add <name>                  Add a new access point                         
-    list                        List all access points                         
-    get <name>                  Retrieve an access point by name               
-    describe <name>             Show detailed information about an access point
-    set <name>                  Update properties of an access point           
-    del <name>                  Delete an access point                         
-    rename <name> <new-name>    Rename an access point to a new name           
-    label                       Manage labels on an access point               
-    tag                         Manage tags on an access point                 
-```
-
-## `rpk accesspoints summary`
-```
-DESCRIPTION:
-Show a hardware report for all access points
-
-USAGE:
-    rpk accesspoints summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints add`
-```
-DESCRIPTION:
-Add a new access point
-
-USAGE:
-    rpk accesspoints add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints list`
-```
-DESCRIPTION:
-List all access points
-
-USAGE:
-    rpk accesspoints list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints get`
-```
-DESCRIPTION:
-Retrieve an access point by name
-
-USAGE:
-    rpk accesspoints get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints describe`
-```
-DESCRIPTION:
-Show detailed information about an access point
-
-USAGE:
-    rpk accesspoints describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints set`
-```
-DESCRIPTION:
-Update properties of an access point
-
-USAGE:
-    rpk accesspoints set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information            
-        --model    The access point model name        
-        --speed    The speed of the access point in Gb
-```
-
-## `rpk accesspoints del`
-```
-DESCRIPTION:
-Delete an access point
-
-USAGE:
-    rpk accesspoints del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints rename`
-```
-DESCRIPTION:
-Rename an access point to a new name
-
-USAGE:
-    rpk accesspoints rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>        The access point name
-    <new-name>                         
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints label`
-```
-DESCRIPTION:
-Manage labels on an access point
-
-USAGE:
-    rpk accesspoints label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to an access point     
-    remove <name>    Remove a label from an access point
-```
-
-## `rpk accesspoints label add`
-```
-DESCRIPTION:
-Add a label to an access point
-
-USAGE:
-    rpk accesspoints label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk accesspoints label remove`
-```
-DESCRIPTION:
-Remove a label from an access point
-
-USAGE:
-    rpk accesspoints label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The access point name
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk accesspoints tag`
-```
-DESCRIPTION:
-Manage tags on an access point
-
-USAGE:
-    rpk accesspoints tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to an access point     
-    remove <name> <tag>    Remove a tag from an access point
-```
-
-## `rpk accesspoints tag add`
-```
-DESCRIPTION:
-Add a tag to an access point
-
-USAGE:
-    rpk accesspoints tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk accesspoints tag remove`
-```
-DESCRIPTION:
-Remove a tag from an access point
-
-USAGE:
-    rpk accesspoints tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups`
-```
-DESCRIPTION:
-Manage UPS units
-
-USAGE:
-    rpk ups [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all UPS units  
-    add <name>                  Add a new UPS unit                        
-    list                        List all UPS units                        
-    get <name>                  Retrieve a UPS unit by name               
-    describe <name>             Show detailed information about a UPS unit
-    set <name>                  Update properties of a UPS unit           
-    del <name>                  Delete a UPS unit                         
-    rename <name> <new-name>    Rename a UPS unit to a new name           
-    label                       Manage labels on a UPS unit               
-    tag                         Manage tags on a UPS unit                 
-```
-
-## `rpk ups summary`
-```
-DESCRIPTION:
-Show a hardware report for all UPS units
-
-USAGE:
-    rpk ups summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups add`
-```
-DESCRIPTION:
-Add a new UPS unit
-
-USAGE:
-    rpk ups add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups list`
-```
-DESCRIPTION:
-List all UPS units
-
-USAGE:
-    rpk ups list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups get`
-```
-DESCRIPTION:
-Retrieve a UPS unit by name
-
-USAGE:
-    rpk ups get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups describe`
-```
-DESCRIPTION:
-Show detailed information about a UPS unit
-
-USAGE:
-    rpk ups describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups set`
-```
-DESCRIPTION:
-Update properties of a UPS unit
-
-USAGE:
-    rpk ups set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-        --va                              
-```
-
-## `rpk ups del`
-```
-DESCRIPTION:
-Delete a UPS unit
-
-USAGE:
-    rpk ups del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups rename`
-```
-DESCRIPTION:
-Rename a UPS unit to a new name
-
-USAGE:
-    rpk ups rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups label`
-```
-DESCRIPTION:
-Manage labels on a UPS unit
-
-USAGE:
-    rpk ups label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a UPS unit     
-    remove <name>    Remove a label from a UPS unit
-```
-
-## `rpk ups label add`
-```
-DESCRIPTION:
-Add a label to a UPS unit
-
-USAGE:
-    rpk ups label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk ups label remove`
-```
-DESCRIPTION:
-Remove a label from a UPS unit
-
-USAGE:
-    rpk ups label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk ups tag`
-```
-DESCRIPTION:
-Manage tags on a UPS unit
-
-USAGE:
-    rpk ups tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a UPS unit     
-    remove <name> <tag>    Remove a tag from a UPS unit
-```
-
-## `rpk ups tag add`
-```
-DESCRIPTION:
-Add a tag to a UPS unit
-
-USAGE:
-    rpk ups tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ups tag remove`
-```
-DESCRIPTION:
-Remove a tag from a UPS unit
-
-USAGE:
-    rpk ups tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other`
-```
-DESCRIPTION:
-Manage other hardware that doesn't fit an existing category
-
-USAGE:
-    rpk other [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a hardware report for all other hardware 
-    add <name>                  Add new other hardware                        
-    list                        List all other hardware                       
-    get <name>                  Retrieve other hardware by name               
-    describe <name>             Show detailed information about other hardware
-    set <name>                  Update properties of other hardware           
-    del <name>                  Delete other hardware                         
-    rename <name> <new-name>    Rename other hardware to a new name           
-    label                       Manage labels on other hardware               
-    tag                         Manage tags on other hardware                 
-```
-
-## `rpk other summary`
-```
-DESCRIPTION:
-Show a hardware report for all other hardware
-
-USAGE:
-    rpk other summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other add`
-```
-DESCRIPTION:
-Add new other hardware
-
-USAGE:
-    rpk other add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other list`
-```
-DESCRIPTION:
-List all other hardware
-
-USAGE:
-    rpk other list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other get`
-```
-DESCRIPTION:
-Retrieve other hardware by name
-
-USAGE:
-    rpk other get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other describe`
-```
-DESCRIPTION:
-Show detailed information about other hardware
-
-USAGE:
-    rpk other describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other set`
-```
-DESCRIPTION:
-Update properties of other hardware
-
-USAGE:
-    rpk other set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help           Prints help information
-        --model                                 
-        --description                           
-```
-
-## `rpk other del`
-```
-DESCRIPTION:
-Delete other hardware
-
-USAGE:
-    rpk other del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other rename`
-```
-DESCRIPTION:
-Rename other hardware to a new name
-
-USAGE:
-    rpk other rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other label`
-```
-DESCRIPTION:
-Manage labels on other hardware
-
-USAGE:
-    rpk other label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to other hardware     
-    remove <name>    Remove a label from other hardware
-```
-
-## `rpk other label add`
-```
-DESCRIPTION:
-Add a label to other hardware
-
-USAGE:
-    rpk other label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk other label remove`
-```
-DESCRIPTION:
-Remove a label from other hardware
-
-USAGE:
-    rpk other label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk other tag`
-```
-DESCRIPTION:
-Manage tags on other hardware
-
-USAGE:
-    rpk other tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to other hardware     
-    remove <name> <tag>    Remove a tag from other hardware
-```
-
-## `rpk other tag add`
-```
-DESCRIPTION:
-Add a tag to other hardware
-
-USAGE:
-    rpk other tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk other tag remove`
-```
-DESCRIPTION:
-Remove a tag from other hardware
-
-USAGE:
-    rpk other tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops`
-```
-DESCRIPTION:
-Manage desktop computers and their components
-
-USAGE:
-    rpk desktops [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>                  Add a new desktop                               
-    list                        List all desktops                               
-    get <name>                  Retrieve a desktop by name                      
-    describe <name>             Show detailed information about a desktop       
-    set <name>                  Update properties of a desktop                  
-    del <name>                  Delete a desktop from the inventory             
-    rename <name> <new-name>    Rename a desktop to a new name                  
-    summary                     Show a summarized hardware report for all       
-                                desktops                                        
-    tree <name>                 Display the dependency tree for a desktop       
-    cpu                         Manage CPUs attached to desktops                
-    drive                       Manage storage drives attached to desktops      
-    gpu                         Manage GPUs attached to desktops                
-    nic                         Manage network interface cards (NICs) for       
-                                desktops                                        
-    label                       Manage labels on a desktop                      
-    tag                         Manage tags on a desktop                        
-```
-
-## `rpk desktops add`
-```
-DESCRIPTION:
-Add a new desktop
-
-USAGE:
-    rpk desktops add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops list`
-```
-DESCRIPTION:
-List all desktops
-
-USAGE:
-    rpk desktops list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops get`
-```
-DESCRIPTION:
-Retrieve a desktop by name
-
-USAGE:
-    rpk desktops get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops describe`
-```
-DESCRIPTION:
-Show detailed information about a desktop
-
-USAGE:
-    rpk desktops describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops set`
-```
-DESCRIPTION:
-Update properties of a desktop
-
-USAGE:
-    rpk desktops set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-```
-
-## `rpk desktops del`
-```
-DESCRIPTION:
-Delete a desktop from the inventory
-
-USAGE:
-    rpk desktops del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops rename`
-```
-DESCRIPTION:
-Rename a desktop to a new name
-
-USAGE:
-    rpk desktops rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops summary`
-```
-DESCRIPTION:
-Show a summarized hardware report for all desktops
-
-USAGE:
-    rpk desktops summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops tree`
-```
-DESCRIPTION:
-Display the dependency tree for a desktop
-
-USAGE:
-    rpk desktops tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops cpu`
-```
-DESCRIPTION:
-Manage CPUs attached to desktops
-
-USAGE:
-    rpk desktops cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>            Add a CPU to a desktop     
-    set <desktop> <index>    Update a desktop CPU       
-    del <desktop> <index>    Remove a CPU from a desktop
-```
-
-## `rpk desktops cpu add`
-```
-DESCRIPTION:
-Add a CPU to a desktop
-
-USAGE:
-    rpk desktops cpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The model name           
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu set`
-```
-DESCRIPTION:
-Update a desktop CPU
-
-USAGE:
-    rpk desktops cpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name            
-    <index>      The index of the desktop cpu
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The cpu model            
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk desktops cpu del`
-```
-DESCRIPTION:
-Remove a CPU from a desktop
-
-USAGE:
-    rpk desktops cpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop               
-    <index>      The index of the desktop cpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops drive`
-```
-DESCRIPTION:
-Manage storage drives attached to desktops
-
-USAGE:
-    rpk desktops drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>            Add a drive to a desktop     
-    set <desktop> <index>    Update a desktop drive       
-    del <desktop> <index>    Remove a drive from a desktop
-```
-
-## `rpk desktops drive add`
-```
-DESCRIPTION:
-Add a drive to a desktop
-
-USAGE:
-    rpk desktops drive add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in GB    
-```
-
-## `rpk desktops drive set`
-```
-DESCRIPTION:
-Update a desktop drive
-
-USAGE:
-    rpk desktops drive set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name         
-    <index>      The drive index to update
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk desktops drive del`
-```
-DESCRIPTION:
-Remove a drive from a desktop
-
-USAGE:
-    rpk desktops drive del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop         
-    <index>      The index of the drive to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops gpu`
-```
-DESCRIPTION:
-Manage GPUs attached to desktops
-
-USAGE:
-    rpk desktops gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>            Add a GPU to a desktop     
-    set <desktop> <index>    Update a desktop GPU       
-    del <desktop> <index>    Remove a GPU from a desktop
-```
-
-## `rpk desktops gpu add`
-```
-DESCRIPTION:
-Add a GPU to a desktop
-
-USAGE:
-    rpk desktops gpu add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The name of the desktop
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The Gpu model               
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu set`
-```
-DESCRIPTION:
-Update a desktop GPU
-
-USAGE:
-    rpk desktops gpu set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the gpu to update
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The gpu model name          
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk desktops gpu del`
-```
-DESCRIPTION:
-Remove a GPU from a desktop
-
-USAGE:
-    rpk desktops gpu del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the Gpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops nic`
-```
-DESCRIPTION:
-Manage network interface cards (NICs) for desktops
-
-USAGE:
-    rpk desktops nic [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <desktop>            Add a NIC to a desktop     
-    set <desktop> <index>    Update a desktop NIC       
-    del <desktop> <index>    Remove a NIC from a desktop
-```
-
-## `rpk desktops nic add`
-```
-DESCRIPTION:
-Add a NIC to a desktop
-
-USAGE:
-    rpk desktops nic add <desktop> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The port speed                   
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic set`
-```
-DESCRIPTION:
-Update a desktop NIC
-
-USAGE:
-    rpk desktops nic set <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --type     The nic port type e.g rj45 / sfp+
-        --speed    The speed of the nic in Gb/s     
-        --ports    The number of ports              
-```
-
-## `rpk desktops nic del`
-```
-DESCRIPTION:
-Remove a NIC from a desktop
-
-USAGE:
-    rpk desktops nic del <desktop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <desktop>    The desktop name              
-    <index>      The index of the nic to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops label`
-```
-DESCRIPTION:
-Manage labels on a desktop
-
-USAGE:
-    rpk desktops label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a desktop     
-    remove <name>    Remove a label from a desktop
-```
-
-## `rpk desktops label add`
-```
-DESCRIPTION:
-Add a label to a desktop
-
-USAGE:
-    rpk desktops label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk desktops label remove`
-```
-DESCRIPTION:
-Remove a label from a desktop
-
-USAGE:
-    rpk desktops label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk desktops tag`
-```
-DESCRIPTION:
-Manage tags on a desktop
-
-USAGE:
-    rpk desktops tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a desktop     
-    remove <name> <tag>    Remove a tag from a desktop
-```
-
-## `rpk desktops tag add`
-```
-DESCRIPTION:
-Add a tag to a desktop
-
-USAGE:
-    rpk desktops tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk desktops tag remove`
-```
-DESCRIPTION:
-Remove a tag from a desktop
-
-USAGE:
-    rpk desktops tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops`
-```
-DESCRIPTION:
-Manage Laptop computers and their components
-
-USAGE:
-    rpk laptops [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>                  Add a new Laptop                                
-    list                        List all Laptops                                
-    get <name>                  Retrieve a Laptop by name                       
-    describe <name>             Show detailed information about a Laptop        
-    set <name>                  Update properties of a laptop                   
-    del <name>                  Delete a Laptop from the inventory              
-    rename <name> <new-name>    Rename a Laptop to a new name                   
-    summary                     Show a summarized hardware report for all       
-                                Laptops                                         
-    tree <name>                 Display the dependency tree for a Laptop        
-    cpu                         Manage CPUs attached to Laptops                 
-    drive                       Manage storage drives attached to Laptops       
-    gpu                         Manage GPUs attached to Laptops                 
-    label                       Manage labels on a laptop                       
-    tag                         Manage tags on a laptop                         
-```
-
-## `rpk laptops add`
-```
-DESCRIPTION:
-Add a new Laptop
-
-USAGE:
-    rpk laptops add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops list`
-```
-DESCRIPTION:
-List all Laptops
-
-USAGE:
-    rpk laptops list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops get`
-```
-DESCRIPTION:
-Retrieve a Laptop by name
-
-USAGE:
-    rpk laptops get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops describe`
-```
-DESCRIPTION:
-Show detailed information about a Laptop
-
-USAGE:
-    rpk laptops describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops set`
-```
-DESCRIPTION:
-Update properties of a laptop
-
-USAGE:
-    rpk laptops set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help     Prints help information
-        --model                           
-```
-
-## `rpk laptops del`
-```
-DESCRIPTION:
-Delete a Laptop from the inventory
-
-USAGE:
-    rpk laptops del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops rename`
-```
-DESCRIPTION:
-Rename a Laptop to a new name
-
-USAGE:
-    rpk laptops rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>         
-    <new-name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops summary`
-```
-DESCRIPTION:
-Show a summarized hardware report for all Laptops
-
-USAGE:
-    rpk laptops summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops tree`
-```
-DESCRIPTION:
-Display the dependency tree for a Laptop
-
-USAGE:
-    rpk laptops tree <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops cpu`
-```
-DESCRIPTION:
-Manage CPUs attached to Laptops
-
-USAGE:
-    rpk laptops cpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <Laptop>            Add a CPU to a Laptop     
-    set <Laptop> <index>    Update a Laptop CPU       
-    del <Laptop> <index>    Remove a CPU from a Laptop
-```
-
-## `rpk laptops cpu add`
-```
-DESCRIPTION:
-Add a CPU to a Laptop
-
-USAGE:
-    rpk laptops cpu add <Laptop> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The Laptop name
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The model name           
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk laptops cpu set`
-```
-DESCRIPTION:
-Update a Laptop CPU
-
-USAGE:
-    rpk laptops cpu set <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The Laptop name            
-    <index>     The index of the Laptop cpu
-
-OPTIONS:
-    -h, --help       Prints help information  
-        --model      The cpu model            
-        --cores      The number of cpu cores  
-        --threads    The number of cpu threads
-```
-
-## `rpk laptops cpu del`
-```
-DESCRIPTION:
-Remove a CPU from a Laptop
-
-USAGE:
-    rpk laptops cpu del <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The name of the Laptop               
-    <index>     The index of the Laptop cpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops drive`
-```
-DESCRIPTION:
-Manage storage drives attached to Laptops
-
-USAGE:
-    rpk laptops drive [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <laptop>            Add a drive to a Laptop     
-    set <Laptop> <index>    Update a Laptop drive       
-    del <Laptop> <index>    Remove a drive from a Laptop
-```
-
-## `rpk laptops drive add`
-```
-DESCRIPTION:
-Add a drive to a Laptop
-
-USAGE:
-    rpk laptops drive add <laptop> [OPTIONS]
-
-ARGUMENTS:
-    <laptop>    The name of the Laptop
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in GB:   
-```
-
-## `rpk laptops drive set`
-```
-DESCRIPTION:
-Update a Laptop drive
-
-USAGE:
-    rpk laptops drive set <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The Laptop name          
-    <index>     The drive index to update
-
-OPTIONS:
-    -h, --help    Prints help information     
-        --type    The drive type e.g hdd / ssd
-        --size    The drive capacity in Gb    
-```
-
-## `rpk laptops drive del`
-```
-DESCRIPTION:
-Remove a drive from a Laptop
-
-USAGE:
-    rpk laptops drive del <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The name of the Laptop          
-    <index>     The index of the drive to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops gpu`
-```
-DESCRIPTION:
-Manage GPUs attached to Laptops
-
-USAGE:
-    rpk laptops gpu [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <Laptop>            Add a GPU to a Laptop     
-    set <Laptop> <index>    Update a Laptop GPU       
-    del <Laptop> <index>    Remove a GPU from a Laptop
-```
-
-## `rpk laptops gpu add`
-```
-DESCRIPTION:
-Add a GPU to a Laptop
-
-USAGE:
-    rpk laptops gpu add <Laptop> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The name of the Laptop
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The Gpu model               
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk laptops gpu set`
-```
-DESCRIPTION:
-Update a Laptop GPU
-
-USAGE:
-    rpk laptops gpu set <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The Laptop name               
-    <index>     The index of the gpu to update
-
-OPTIONS:
-    -h, --help     Prints help information     
-        --model    The gpu model name          
-        --vram     The amount of gpu vram in Gb
-```
-
-## `rpk laptops gpu del`
-```
-DESCRIPTION:
-Remove a GPU from a Laptop
-
-USAGE:
-    rpk laptops gpu del <Laptop> <index> [OPTIONS]
-
-ARGUMENTS:
-    <Laptop>    The Laptop name               
-    <index>     The index of the Gpu to remove
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops label`
-```
-DESCRIPTION:
-Manage labels on a laptop
-
-USAGE:
-    rpk laptops label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a laptop     
-    remove <name>    Remove a label from a laptop
-```
-
-## `rpk laptops label add`
-```
-DESCRIPTION:
-Add a label to a laptop
-
-USAGE:
-    rpk laptops label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk laptops label remove`
-```
-DESCRIPTION:
-Remove a label from a laptop
-
-USAGE:
-    rpk laptops label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk laptops tag`
-```
-DESCRIPTION:
-Manage tags on a laptop
-
-USAGE:
-    rpk laptops tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a laptop     
-    remove <name> <tag>    Remove a tag from a laptop
-```
-
-## `rpk laptops tag add`
-```
-DESCRIPTION:
-Add a tag to a laptop
-
-USAGE:
-    rpk laptops tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk laptops tag remove`
-```
-DESCRIPTION:
-Remove a tag from a laptop
-
-USAGE:
-    rpk laptops tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services`
-```
-DESCRIPTION:
-Manage services and their configurations
-
-USAGE:
-    rpk services [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    summary                     Show a summary report for all services          
-    add <name>                  Add a new service                               
-    list                        List all services                               
-    get <name>                  Retrieve a service by name                      
-    describe <name>             Show detailed information about a service       
-    set <name>                  Update properties of a service                  
-    del <name>                  Delete a service                                
-    rename <name> <new-name>    Rename a service to a new name                  
-    subnets                     List subnets associated with a service,         
-                                optionally filtered by CIDR                     
-    label                       Manage labels on a service                      
-    tag                         Manage tags on a service                        
-```
-
-## `rpk services summary`
-```
-DESCRIPTION:
-Show a summary report for all services
-
-USAGE:
-    rpk services summary [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services add`
-```
-DESCRIPTION:
-Add a new service
-
-USAGE:
-    rpk services add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services list`
-```
-DESCRIPTION:
-List all services
-
-USAGE:
-    rpk services list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services get`
-```
-DESCRIPTION:
-Retrieve a service by name
-
-USAGE:
-    rpk services get <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services describe`
-```
-DESCRIPTION:
-Show detailed information about a service
-
-USAGE:
-    rpk services describe <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services set`
-```
-DESCRIPTION:
-Update properties of a service
-
-USAGE:
-    rpk services set <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-
-OPTIONS:
-    -h, --help                Prints help information                
-        --ip                  The ip address of the service          
-        --port                The port the service is running on     
-        --protocol            The service protocol                   
-        --url                 The service URL                        
-        --runs-on <RUNSON>    The system(s) the service is running on
-```
-
-## `rpk services del`
-```
-DESCRIPTION:
-Delete a service
-
-USAGE:
-    rpk services del <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services rename`
-```
-DESCRIPTION:
-Rename a service to a new name
-
-USAGE:
-    rpk services rename <name> <new-name> [OPTIONS]
-
-ARGUMENTS:
-    <name>        The name of the service
-    <new-name>                           
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services subnets`
-```
-DESCRIPTION:
-List subnets associated with a service, optionally filtered by CIDR
-
-USAGE:
-    rpk services subnets [OPTIONS]
-
-OPTIONS:
-    -h, --help               Prints help information
-        --cidr <CIDR>                               
-        --prefix <PREFIX>                           
-```
-
-## `rpk services label`
-```
-DESCRIPTION:
-Manage labels on a service
-
-USAGE:
-    rpk services label [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name>       Add a label to a service     
-    remove <name>    Remove a label from a service
-```
-
-## `rpk services label add`
-```
-DESCRIPTION:
-Add a label to a service
-
-USAGE:
-    rpk services label add <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help             Prints help information
-        --key <KEY>                               
-        --value <VALUE>                           
-```
-
-## `rpk services label remove`
-```
-DESCRIPTION:
-Remove a label from a service
-
-USAGE:
-    rpk services label remove <name> [OPTIONS]
-
-ARGUMENTS:
-    <name>    The name of the service
-
-OPTIONS:
-    -h, --help         Prints help information
-        --key <KEY>                           
-```
-
-## `rpk services tag`
-```
-DESCRIPTION:
-Manage tags on a service
-
-USAGE:
-    rpk services tag [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <name> <tag>       Add a tag to a service     
-    remove <name> <tag>    Remove a tag from a service
-```
-
-## `rpk services tag add`
-```
-DESCRIPTION:
-Add a tag to a service
-
-USAGE:
-    rpk services tag add <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk services tag remove`
-```
-DESCRIPTION:
-Remove a tag from a service
-
-USAGE:
-    rpk services tag remove <name> <tag> [OPTIONS]
-
-ARGUMENTS:
-    <name>     
-    <tag>      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk ansible`
-```
-DESCRIPTION:
-Generate and manage Ansible inventory
-
-USAGE:
-    rpk ansible [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    inventory    Generate an Ansible inventory
-```
-
-## `rpk ansible inventory`
-```
-DESCRIPTION:
-Generate an Ansible inventory
-
-USAGE:
-    rpk ansible inventory [OPTIONS]
-
-OPTIONS:
-                          DEFAULT                                               
-    -h, --help                       Prints help information                    
-        --group-tags                 Comma-separated list of tags to group by   
-                                     (e.g. prod,staging)                        
-        --group-labels               Comma-separated list of label keys to group
-                                     by (e.g. env,site)                         
-        --global-var                 Global variable (repeatable). Format:      
-                                     key=value                                  
-        --format          ini        Inventory format: ini (default) or yaml    
-    -o, --output                     Write inventory to file instead of stdout  
-```
-
-## `rpk ssh`
-```
-DESCRIPTION:
-Generate SSH configuration from infrastructure
-
-USAGE:
-    rpk ssh [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    export    Generate an SSH config file
-```
-
-## `rpk ssh export`
-```
-DESCRIPTION:
-Generate an SSH config file
-
-USAGE:
-    rpk ssh export [OPTIONS]
-
-OPTIONS:
-                              DEFAULT                                           
-    -h, --help                           Prints help information                
-        --include-tags                   Comma-separated list of tags to include
-                                         (e.g. prod,linux)                      
-        --default-user                   Default SSH user if not defined in     
-                                         labels                                 
-        --default-port        22         Default SSH port if not defined in     
-                                         labels (default: 22)                   
-        --default-identity               Default SSH identity file (e.g.        
-                                         ~/.ssh/id_rsa)                         
-    -o, --output                         Write SSH config to file instead of    
-                                         stdout                                 
-```
-
-## `rpk hosts`
-```
-DESCRIPTION:
-Generate a hosts file from infrastructure
-
-USAGE:
-    rpk hosts [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    export    Generate a /etc/hosts compatible file
-```
-
-## `rpk hosts export`
-```
-DESCRIPTION:
-Generate a /etc/hosts compatible file
-
-USAGE:
-    rpk hosts export [OPTIONS]
-
-OPTIONS:
-    -h, --help             Prints help information                              
-        --include-tags     Comma-separated list of tags to include (e.g.        
-                           prod,staging)                                        
-        --domain-suffix    Optional domain suffix to append (e.g. home.local)   
-        --no-localhost     Do not include localhost defaults                    
-    -o, --output           Write hosts file to file instead of stdout           
-```
-
-## `rpk graph`
-```
-DESCRIPTION:
-Render inventory as graph diagrams
-
-USAGE:
-    rpk graph [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    topology    Emit a Mermaid flowchart of the physical topology (hardware +   
-                connections)                                                    
-    logical     Emit a Mermaid flowchart of services & systems grouped by subnet
-                and host                                                        
-```
-
-## `rpk graph topology`
-```
-DESCRIPTION:
-Emit a Mermaid flowchart of the physical topology (hardware + connections)
-
-USAGE:
-    rpk graph topology [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk graph logical`
-```
-DESCRIPTION:
-Emit a Mermaid flowchart of services & systems grouped by subnet and host
-
-USAGE:
-    rpk graph logical [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk tags`
-```
-DESCRIPTION:
-Discover tags across resources
-
-USAGE:
-    rpk tags [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    list          List all tags in use with usage counts
-    show <tag>    List resources carrying a specific tag
-```
-
-## `rpk tags list`
-```
-DESCRIPTION:
-List all tags in use with usage counts
-
-USAGE:
-    rpk tags list [OPTIONS]
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk tags show`
-```
-DESCRIPTION:
-List resources carrying a specific tag
-
-USAGE:
-    rpk tags show <tag> [OPTIONS]
-
-ARGUMENTS:
-    <tag>     
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-
-## `rpk connections`
-```
-DESCRIPTION:
-Manage physical or logical port connections
-
-USAGE:
-    rpk connections [OPTIONS] <COMMAND>
-
-OPTIONS:
-    -h, --help    Prints help information
-
-COMMANDS:
-    add <A_RESOURCE> <A_GROUP> <A_INDEX> <B_RESOURCE> <B_GROUP> <B_INDEX>    Cre
-                                                                             ate
-                                                                             a  
-                                                                             con
-                                                                             nec
-                                                                             tio
-                                                                             n  
-                                                                             bet
-                                                                             wee
-                                                                             n  
-                                                                             two
-                                                                             por
-                                                                             ts 
-    remove <RESOURCE> <PORT_GROUP> <PORT_INDEX>                              Rem
-                                                                             ove
-                                                                             the
-                                                                             con
-                                                                             nec
-                                                                             tio
-                                                                             n  
-                                                                             fro
-                                                                             m a
-                                                                             spe
-                                                                             cif
-                                                                             ic 
-                                                                             por
-                                                                             t  
-```
-
-## `rpk connections add`
-```
-DESCRIPTION:
-Create a connection between two ports
-
-USAGE:
-    rpk connections add <A_RESOURCE> <A_GROUP> <A_INDEX> <B_RESOURCE> <B_GROUP> 
-<B_INDEX> [OPTIONS]
-
-ARGUMENTS:
-    <A_RESOURCE>    Resource name for endpoint A   
-    <A_GROUP>       Port group index for endpoint A
-    <A_INDEX>       Port index for endpoint A      
-    <B_RESOURCE>    Resource name for endpoint B   
-    <B_GROUP>       Port group index for endpoint B
-    <B_INDEX>       Port index for endpoint B      
-
-OPTIONS:
-    -h, --help     Prints help information          
-        --label    Optional label for the connection
-        --notes    Optional notes for the connection
-```
-
-## `rpk connections remove`
-```
-DESCRIPTION:
-Remove the connection from a specific port
-
-USAGE:
-    rpk connections remove <RESOURCE> <PORT_GROUP> <PORT_INDEX> [OPTIONS]
-
-ARGUMENTS:
-    <RESOURCE>      Resource name   
-    <PORT_GROUP>    Port group index
-    <PORT_INDEX>    Port index      
-
-OPTIONS:
-    -h, --help    Prints help information
-```
-

+ 87 - 0
docs/development/release-guide.md

@@ -0,0 +1,87 @@
+# Release Guide
+
+How to cut a RackPeek release, end to end. The flow is:
+features → `staging` (nightly Docker auto-publishes) → `main` → tagged release.
+
+Everything below happens on `staging` until the "Merge & publish" step.
+
+---
+
+## 1. Pre-release checks
+
+- [ ] `staging` CI is green.
+- [ ] Full suite passes locally: `just ci` (CLI + discovery + MCP + E2E; rebuilds the Web image).
+- [ ] Review the release diff: `git diff origin/main...origin/staging --stat`.
+
+## 2. Bump the version
+
+Pick the new version per [versioning.md](../../Shared.Rcl/wwwroot/raw_docs/versioning.md) (SemVer).
+
+The version is declared in **three places** — all must agree:
+
+| File | Format |
+|------|--------|
+| `RackPeek.Domain/RpkConstants.cs` (`Version`) | `v2.2.0` — feeds `rpk --version`, the web UI header chip, and MCP `ServerInfo` |
+| `RackPeek/RackPeek.csproj` (`<AssemblyVersion>`) | `2.2.0` |
+| `README.md` version badge | `2.2.0` |
+
+Also update the version-adjacent extras:
+
+- [ ] `Shared.Rcl/wwwroot/raw_docs/install-guide.md` — pinned release download URLs (tag `RackPeek-X.Y.Z`, asset `rackpeek_X_Y_Z_<rid>`).
+- [ ] `.github/workflows/publish-cli.yml` and `publish-docker.yaml` — `workflow_dispatch` version defaults.
+
+## 3. Regenerate the CLI docs
+
+```bash
+rm -rf RackPeek/publish   # REQUIRED: the script reuses a stale binary if one exists
+./generate-docs.sh
+```
+
+> ⚠ `generate-docs.sh` only publishes the CLI when `RackPeek/publish/RackPeek` is
+> missing. Skipping the `rm` regenerates docs from whatever binary is lying
+> around — this has silently dropped new commands before.
+
+Verify:
+
+- [ ] `git diff Shared.Rcl/wwwroot/raw_docs/cli-commands.md` — only expected command changes.
+- [ ] `grep -c '^## ' Shared.Rcl/wwwroot/raw_docs/cli-commands.md` matches the header count in `cli-commands-index.md`.
+
+## 4. Docs freshness pass
+
+- [ ] New user-facing features are mentioned in `README.md` and `Shared.Rcl/wwwroot/raw_docs/overview.md`.
+- [ ] New doc pages are listed in `Shared.Rcl/wwwroot/raw_docs/docs-index.json` and linked from the README Docs section.
+- [ ] `resource-levels.md` sub-resource matrix reflects any new kinds/sub-resources.
+
+Commit everything to `staging` and let CI run.
+
+## 5. Merge & publish
+
+1. Open a PR `staging` → `main`, wait for CI, merge.
+2. From `main`, dispatch the publish workflows (Actions tab → Run workflow). **The
+   version input formats differ per workflow:**
+
+| Workflow | Version input | Produces |
+|----------|---------------|----------|
+| `publish-cli.yml` | `2.2.0` (no `v`) | **Draft** GitHub Release tagged `RackPeek-2.2.0` with `rackpeek_2_2_0_{win-x64,linux-x64,linux-arm64,osx-x64,osx-arm64}` binaries |
+| `publish-docker.yaml` | `v2.2.0` (`v` required, regex-validated) | `aptacode/rackpeek:v2.2.0` + `:latest` (multi-arch) |
+| `publish-webui.yml` | — | Redeploys the GitHub Pages demo + docs viewer |
+
+3. Edit the draft GitHub Release: write the release notes (features, fixes,
+   breaking changes/migrations), then publish it.
+
+## 6. Post-release verification
+
+- [ ] `docker pull aptacode/rackpeek:v2.2.0 && docker run --rm aptacode/rackpeek:v2.2.0 rpk --version` → `v2.2.0`.
+- [ ] Web UI header shows the new version; `/mcp` still returns 503 without `RPK_API_KEY`.
+- [ ] Release-page binary download runs (`chmod +x`, `./rackpeek --version`).
+- [ ] Docs site reflects the new pages: https://timmoth.github.io/RackPeek/docs/overview
+
+## Gotchas
+
+- The **nightly** Docker image (`:nightly`, `:nightly-<sha>`) builds automatically
+  from every push to `staging` — it is not part of the release flow and is not
+  gated on tests.
+- `workflow_dispatch` runs against the branch you select in the Actions UI —
+  make sure it's `main` for a release.
+- The publish workflows do not read the in-repo version; the operator-typed
+  input is authoritative. Double-check it matches `RpkConstants.Version`.

+ 3 - 3
generate-docs.sh

@@ -136,7 +136,7 @@ fi
   local anchor_link=$(echo "$anchor_text" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
 
   # Format: - [label](link) - Description
-  local tree_entry="${indent}- [${tree_label}](docs/Commands.md#${anchor_link})"
+  local tree_entry="${indent}- [${tree_label}](/docs/cli-commands#${anchor_link})"
   if [[ -n "$description" ]]; then
     tree_entry="${tree_entry} - ${description}"
   fi
@@ -195,12 +195,12 @@ generate_help_recursive ""
 {
   echo ""
   cat "$TREE_TEMP"
-} > "Shared.Rcl/wwwroot/raw_docs/CommandIndex.md"
+} > "Shared.Rcl/wwwroot/raw_docs/cli-commands-index.md"
 
 {
   echo "# CLI Commands"
   echo ""
   cat "$BODY_TEMP"
-} > "Shared.Rcl/wwwroot/raw_docs/Commands.md"
+} > "Shared.Rcl/wwwroot/raw_docs/cli-commands.md"
 
 echo "Generated Successfully."