diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f8c84..95854d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Product-scoped directory layout: examples now live under `//`, with placeholder `/console/local/` directories for NetApp Console +- Publication-ready Console (local) prompt catalog + (`docs/console-local-prompt-catalog.md`, sourced from + `ai/console/local/prompt-catalog.md`) - `product` field in `catalog.yaml` (and optional `deployment`), enforced by `scripts/validate_catalog.py` to agree with each variant's path - `ontap` and `console` PR labels diff --git a/README.md b/README.md index c722347..125d808 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,7 @@ Once CA-signed certificates are in place, we recommend turning it on. | [Project website](https://netapp.github.io/pace/) | Guided tour, prompts, full contribution guide | | [Choosing an approach](docs/choosing-an-approach.md) | Decision guide and feature matrix | | [AI prompt catalog](docs/ai-prompt-catalog.md) | Prompts for planning, generating, reviewing | +| [Console prompt catalog](docs/console-local-prompt-catalog.md) | Console (local) observability and provisioning | | [Platform API patterns](docs/ontap-api-patterns.md) | REST conventions, auth, async jobs | | [Troubleshooting](docs/troubleshooting.md) | Common errors and fixes | | [Testing](TESTING.md) | What to run and capture in the PR Test Report | diff --git a/ai/README.md b/ai/README.md index 1734c96..3a4d187 100644 --- a/ai/README.md +++ b/ai/README.md @@ -24,7 +24,8 @@ ai/ │ ├── conventions.md # kind: product - attached under **/ontap/** │ └── generate-python.md # kind: task - /ontap-generate-python └── console/local/ - └── conventions.md # kind: product - attached under **/console/local/** + ├── conventions.md # kind: product - attached under **/console/local/** + └── prompt-catalog.md # kind: doc - docs/console-local-prompt-catalog.md ``` ## Frontmatter diff --git a/ai/console/local/prompt-catalog.md b/ai/console/local/prompt-catalog.md new file mode 100644 index 0000000..a771491 --- /dev/null +++ b/ai/console/local/prompt-catalog.md @@ -0,0 +1,55 @@ +--- +kind: doc +output: docs/console-local-prompt-catalog.md +description: "NetApp Console (local) prompt library" +--- + +# Console (local) prompt catalog + +These are the prompts for NetApp Console local deployment. +They cover the same observability and provisioning use cases as the working +draft list, with wording normalized and near-duplicate phrasings collapsed. + +This catalog is a library of Console chat prompts, not Copilot or Cursor slash +commands. The assistant prompts that generate code in this repository live in +[`ai/shared/prompt-catalog.md`](ai/shared/prompt-catalog.md). + +Environment-specific identifiers such as cluster, SVM, volume, node, and +initiator names use angle-bracket placeholders. Substitute them with values +from your environment. Sizes, throughput limits, and built-in ONTAP policy +names are illustrative examples. + +## Prompts + +| # | Prompt | Category | +|---|--------|----------| +| 1 | Open the health dashboard | Observability | +| 2 | Give me an overall health summary for my organization | Observability | +| 3 | Is anything in my infrastructure currently unhealthy? | Observability | +| 4 | Summarize storage capacity and performance across my environment | Observability | +| 5 | Which critical alerts are active right now? | Observability | +| 6 | List every volume in my organization | Observability | +| 7 | Show me the details of volume `` | Observability | +| 8 | What is the capacity utilization of volume ``? | Observability | +| 9 | How is volume `` performing? | Observability | +| 10 | Is volume `` healthy? | Observability | +| 11 | Are any alerts raised against volume ``? | Observability | +| 12 | Give me a status report for fleet `` | Observability | +| 13 | What is the capacity utilization of fleet ``? | Observability | +| 14 | How is fleet `` performing? | Observability | +| 15 | Is fleet `` healthy? | Observability | +| 16 | Are any alerts raised against fleet ``? | Observability | +| 17 | On cluster ``, create an igroup named `` on SVM `` with OS type linux and protocol iscsi, add initiator ``, and map LUN `` to it | Provisioning | +| 18 | On cluster ``, enable the FCP service on SVM `` and create an FC interface named `` on port `` of node `` using the fcp data protocol | Provisioning | +| 19 | On cluster ``, create a cron schedule named `` with the expression `0 0,4,8,12,16,20 * * *`, then create a snapshot policy named `` on SVM `` that uses this schedule and retains 5 snapshots | Provisioning | +| 20 | On cluster ``, create an NFS export policy named `` on SVM `` with a rule that matches clients `0.0.0.0/0` and allows read-only and read-write access to any | Provisioning | +| 21 | On cluster ``, create a fixed QoS policy named `` on SVM `` with a maximum throughput of 5000 IOPS and apply it to volume `` | Provisioning | +| 22 | On cluster ``, create a SnapMirror relationship from SVM `` volume `` to SVM `` volume `` using the MirrorAllSnapshots policy, then initialize it | Provisioning | +| 23 | On cluster ``, resize volume `` on SVM `` to 50 MB and then take a snapshot named `` | Provisioning | +| 24 | On cluster ``, create the NVMe service on SVM ``, add subsystem `` with linux OS, register host NQN `` against it, create a 20 MB namespace at `/vol//` with linux OS, and map subsystem `` to that namespace | Provisioning | +| 25 | On cluster ``, create a qtree named `` inside volume `` on SVM `` and apply the performance QoS policy to that volume | Provisioning | +| 26 | Provision a 20 GB LUN for my database server, create an igroup named `` for linux iscsi, and map the LUN to that igroup | Provisioning | +| 27 | I need block storage for a VMware ESXi host: provision a LUN, create a vmware igroup named `` with initiator ``, and map the LUN to it | Provisioning | +| 28 | Provision a 500 GB NFS volume for the finance team and attach an hourly snapshot policy that retains 5 snapshots | Provisioning | +| 29 | Create a 1 TB volume for production data and replicate it to SVM `` as volume `` using the XDPDefault policy | Provisioning | +| 30 | Provision a 100 GB LUN for an Oracle database and apply a fixed QoS policy capped at 3000 IOPS to the volume that hosts it | Provisioning | diff --git a/docs/console-local-prompt-catalog.md b/docs/console-local-prompt-catalog.md new file mode 100644 index 0000000..0c7e0fb --- /dev/null +++ b/docs/console-local-prompt-catalog.md @@ -0,0 +1,51 @@ + + +# Console (local) prompt catalog + +These are the publication-ready prompts for NetApp Console local deployment. +They cover the same observability and provisioning use cases as the working +draft list, with wording normalized and near-duplicate phrasings collapsed. + +This catalog is a library of Console chat prompts, not Copilot or Cursor slash +commands. The assistant prompts that generate code in this repository live in +[`ai/shared/prompt-catalog.md`](../ai/shared/prompt-catalog.md). + +Environment-specific identifiers such as cluster, SVM, volume, node, and +initiator names use angle-bracket placeholders. Substitute them with values +from your environment. Sizes, throughput limits, and built-in ONTAP policy +names are illustrative examples. + +## Prompts + +| # | Prompt | Category | +|---|--------|----------| +| 1 | Open the health dashboard | Observability | +| 2 | Give me an overall health summary for my organization | Observability | +| 3 | Is anything in my infrastructure currently unhealthy? | Observability | +| 4 | Summarize storage capacity and performance across my environment | Observability | +| 5 | Which critical alerts are active right now? | Observability | +| 6 | List every volume in my organization | Observability | +| 7 | Show me the details of volume `` | Observability | +| 8 | What is the capacity utilization of volume ``? | Observability | +| 9 | How is volume `` performing? | Observability | +| 10 | Is volume `` healthy? | Observability | +| 11 | Are any alerts raised against volume ``? | Observability | +| 12 | Give me a status report for fleet `` | Observability | +| 13 | What is the capacity utilization of fleet ``? | Observability | +| 14 | How is fleet `` performing? | Observability | +| 15 | Is fleet `` healthy? | Observability | +| 16 | Are any alerts raised against fleet ``? | Observability | +| 17 | On cluster ``, create an igroup named `` on SVM `` with OS type linux and protocol iscsi, add initiator ``, and map LUN `` to it | Provisioning | +| 18 | On cluster ``, enable the FCP service on SVM `` and create an FC interface named `` on port `` of node `` using the fcp data protocol | Provisioning | +| 19 | On cluster ``, create a cron schedule named `` with the expression `0 0,4,8,12,16,20 * * *`, then create a snapshot policy named `` on SVM `` that uses this schedule and retains 5 snapshots | Provisioning | +| 20 | On cluster ``, create an NFS export policy named `` on SVM `` with a rule that matches clients `0.0.0.0/0` and allows read-only and read-write access to any | Provisioning | +| 21 | On cluster ``, create a fixed QoS policy named `` on SVM `` with a maximum throughput of 5000 IOPS and apply it to volume `` | Provisioning | +| 22 | On cluster ``, create a SnapMirror relationship from SVM `` volume `` to SVM `` volume `` using the MirrorAllSnapshots policy, then initialize it | Provisioning | +| 23 | On cluster ``, resize volume `` on SVM `` to 50 MB and then take a snapshot named `` | Provisioning | +| 24 | On cluster ``, create the NVMe service on SVM ``, add subsystem `` with linux OS, register host NQN `` against it, create a 20 MB namespace at `/vol//` with linux OS, and map subsystem `` to that namespace | Provisioning | +| 25 | On cluster ``, create a qtree named `` inside volume `` on SVM `` and apply the performance QoS policy to that volume | Provisioning | +| 26 | Provision a 20 GB LUN for my database server, create an igroup named `` for linux iscsi, and map the LUN to that igroup | Provisioning | +| 27 | I need block storage for a VMware ESXi host: provision a LUN, create a vmware igroup named `` with initiator ``, and map the LUN to it | Provisioning | +| 28 | Provision a 500 GB NFS volume for the finance team and attach an hourly snapshot policy that retains 5 snapshots | Provisioning | +| 29 | Create a 1 TB volume for production data and replicate it to SVM `` as volume `` using the XDPDefault policy | Provisioning | +| 30 | Provision a 100 GB LUN for an Oracle database and apply a fixed QoS policy capped at 3000 IOPS to the volume that hosts it | Provisioning | diff --git a/scripts/generate_ai_assets.py b/scripts/generate_ai_assets.py index 05e7651..7eeda18 100644 --- a/scripts/generate_ai_assets.py +++ b/scripts/generate_ai_assets.py @@ -19,6 +19,7 @@ ai/ontap/conventions.md kind: product -> globs **/ontap/** ai/ontap/generate-python.md kind: task -> /ontap-generate-python ai/console/local/conventions.md kind: product -> globs **/console/local/** + ai/console/local/prompt-catalog.md kind: doc -> docs/console-local-prompt-catalog.md Product subfolders are preserved in the instruction and rule trees, which both support recursive discovery. They are flattened into ``-`` names @@ -336,6 +337,7 @@ def self_test() -> int: ".github/instructions/ontap/conventions.instructions.md": "../../../", ".cursor/rules/console/local/conventions.mdc": "../../../../", "docs/ai-prompt-catalog.md": "../", + "docs/console-local-prompt-catalog.md": "../", } failures = 0 for path, want in cases.items():