> For the complete documentation index, see [llms.txt](https://asus-isg-aidc.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asus-isg-aidc.gitbook.io/guide/latest/cli/commandreference/hardwarespec.md).

# Hardware Specification

| Developer | Last modified |
| --------- | ------------- |
| AIDC Team | 2026/07/06    |

## Table of Contents

* [1. Overview](#overview)
* [2. Views](#views)
* [3. Component Focuses](#component-focuses)
* [4. Common Flags](#common-flags)
* [5. Usage Examples](#usage-examples)

***

## 1. Overview <a href="#overview" id="overview"></a>

{% hint style="warning" %}
**⚠️ Prerequisite: `aidc-cli init` required first**

This command depends on settings saved by [`aidc-cli init`](/guide/latest/cli/commandreference/init.md). Before running it, make sure you have completed:

* [`aidc-cli init inventory`](/guide/latest/cli/commandreference/init.md#inventory) — render the node inventory from `aidc.csv`
* SSH access to the nodes — [`aidc-cli deploy install`](/guide/latest/cli/commandreference/deploy.md) sets this up during OS deployment; for nodes that already have an OS, run [`aidc-cli deploy access-key`](/guide/latest/cli/commandreference/deploy.md) or fill the `password` column in `aidc.csv`

For the full setup sequence, see the [Getting Started](/guide/latest/cli/gettingstarted.md) guide.
{% endhint %}

The `hwspec` command collects normalized in-band hardware specification data from target nodes. It provides two summary views and focused component-specific reports.

```bash
aidc-cli hwspec <subcommand> [flags]
```

{% hint style="info" %}
The current `hwspec` command does not use the older `-m` mode selection model. Choose a view or component focus directly through the subcommand name.
{% endhint %}

***

## 2. Views <a href="#views" id="views"></a>

| Subcommand | Description                                                 |
| ---------- | ----------------------------------------------------------- |
| `brief`    | Collect a compact hardware specification                    |
| `summary`  | Collect a normalized in-band hardware specification summary |

***

## 3. Component Focuses <a href="#component-focuses" id="component-focuses"></a>

| Subcommand  | Aliases          | Description                                          |
| ----------- | ---------------- | ---------------------------------------------------- |
| `system`    | —                | Collect focused system identity specification        |
| `baseboard` | —                | Collect focused baseboard specification              |
| `cpu`       | —                | Collect focused CPU specification                    |
| `memory`    | —                | Collect focused memory specification                 |
| `storage`   | `disk`           | Collect focused disk and NVMe specification          |
| `host-net`  | `nic`, `network` | Collect focused host network interface specification |
| `raid`      | —                | Collect focused RAID controller specification        |
| `pcie`      | —                | Collect focused PCIe topology specification          |
| `gpu`       | —                | Collect focused GPU specification                    |

{% hint style="info" %}
Aliases are interchangeable with their primary subcommands. For example, `aidc-cli hwspec storage` and `aidc-cli hwspec disk` run the same focused storage report.
{% endhint %}

***

## 4. Common Flags <a href="#common-flags" id="common-flags"></a>

All `hwspec` subcommands support the following flag:

| Flag       | Short | Required | Description                                                                                        |
| ---------- | :---: | :------: | -------------------------------------------------------------------------------------------------- |
| `--stdout` |   —   |     ❌    | Output the raw hardware specification JSON to stdout instead of only saving the generated artifact |

***

## 5. Usage Examples <a href="#usage-examples" id="usage-examples"></a>

```bash
# Collect the compact hardware specification view
aidc-cli hwspec brief

# Collect the normalized summary view
aidc-cli hwspec summary

# Collect CPU and memory specifications for selected nodes
aidc-cli hwspec cpu -l node01,node02
aidc-cli hwspec memory -l node01,node02

# Output focused storage data as raw JSON
aidc-cli hwspec storage --stdout

# Use aliases for focused reports
aidc-cli hwspec disk
aidc-cli hwspec nic -l node03
```
