Skip to content

Claude plugin oadp cli#209

Open
NicholasYancey wants to merge 3 commits into
migtools:oadp-devfrom
NicholasYancey:claude-plugin-oadp-cli
Open

Claude plugin oadp cli#209
NicholasYancey wants to merge 3 commits into
migtools:oadp-devfrom
NicholasYancey:claude-plugin-oadp-cli

Conversation

@NicholasYancey

@NicholasYancey NicholasYancey commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Why the changes were made

Adds a Claude Code plugin under plugins/oadp-cli/ so assistants recommend oc oadp / kubectl oadp for OpenShift backup and restore instead of generic oc/kubectl or manual CRD edits.

How to test the changes made

claude plugin validate ~/git/oadp-cli/plugins/oadp-cli
claude plugin marketplace add ~/git/oadp-cli
claude plugin install oadp-cli@oadp-cli-plugins
claude plugin details oadp-cli

Restart Claude Code or run /reload-plugins, then:

/oadp-cli:backup-restore

Expect responses to point to oc oadp setup and admin or nonadmin commands.

After merge use Claude marketplace

claude plugin marketplace add github:migtools/oadp-cli
claude plugin install oadp-cli@oadp-cli-plugins
claude plugin details oadp-cli

Summary by CodeRabbit

  • New Features
    • Added a new marketplace-listed Claude plugin for OADP CLI guidance.
    • Introduced a plugin manifest, setup instructions, and a backup/restore skill with common command examples.
    • Documented install options, local usage, and verification steps for the plugin.

@NicholasYancey NicholasYancey self-assigned this Jun 24, 2026
@openshift-ci openshift-ci Bot requested review from Joeavaikath and weshayutin June 24, 2026 19:34
@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: NicholasYancey
Once this PR has been reviewed and has the lgtm label, please assign weshayutin for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds marketplace and plugin manifests for oadp-cli, plus README and skill documentation covering installation, verification, and backup-restore guidance.

Changes

OADP CLI plugin packaging and docs

Layer / File(s) Summary
Marketplace and plugin manifests
.claude-plugin/marketplace.json, plugins/oadp-cli/.claude-plugin/plugin.json
Adds the marketplace entry for oadp-cli and the plugin manifest metadata, including name, description, version, author, links, license, and keywords.
Plugin README and installation guidance
plugins/oadp-cli/README.md
Introduces the plugin README, explains the repository layout and skill linkage, and documents install, verify, cache-refresh, enterprise registration, and reference links.
Backup-restore skill guidance
plugins/oadp-cli/skills/backup-restore/SKILL.md
Adds the backup-restore skill frontmatter, OADP CLI guidance, setup flow, admin and non-admin command cheat sheets, response checklist, and out-of-scope topics.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

lgtm

Suggested reviewers

  • shubham-pampattiwar
  • weshayutin
  • kaovilai

Poem

A rabbit hopped through docs at dawn,
With plugin tabs and skills put on.
Backups dance, restores all sing,
OADP now knows its thing.
Thump! 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and clearly identifies the main change: adding a Claude plugin for OADP CLI.
Description check ✅ Passed The description includes both required sections and provides purpose plus concrete test steps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/oadp-cli/README.md`:
- Around line 10-16: The markdown file-tree block in README.md is missing a
language label, causing markdownlint MD040. Update the opening fence for the
tree snippet to use a text label so the fenced code block is properly
identified; this change should be made in the README.md content that shows the
plugin structure.

In `@plugins/oadp-cli/skills/backup-restore/SKILL.md`:
- Around line 90-91: The CLI examples in SKILL.md are too broad and imply a
top-level verb-noun command that does not exist. Update the backup-restore usage
text to keep the noun-verb example for `oc oadp backup create` and narrow the
verb-noun example to the `nonadmin` command path, using the backup-restore skill
section as the place to adjust the documented command forms.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3d456a38-97a8-4baf-9c22-e60664852976

📥 Commits

Reviewing files that changed from the base of the PR and between faac019 and 0103ea4.

📒 Files selected for processing (4)
  • .claude-plugin/marketplace.json
  • plugins/oadp-cli/.claude-plugin/plugin.json
  • plugins/oadp-cli/README.md
  • plugins/oadp-cli/skills/backup-restore/SKILL.md

Comment on lines +10 to +16
```
.claude-plugin/marketplace.json # repo root — Claude marketplace `oadp-cli-plugins`
plugins/oadp-cli/
├── .claude-plugin/plugin.json # plugin manifest
├── skills/backup-restore/SKILL.md # skill content — edit this
└── README.md
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Label the file-tree fence for markdownlint.

The opening fence is unlabeled, which triggers MD040. A text label is enough to keep the docs lintable.

Proposed fix
-```
+```text
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```
.claude-plugin/marketplace.json # repo root — Claude marketplace `oadp-cli-plugins`
plugins/oadp-cli/
├── .claude-plugin/plugin.json # plugin manifest
├── skills/backup-restore/SKILL.md # skill content — edit this
└── README.md
```
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/oadp-cli/README.md` around lines 10 - 16, The markdown file-tree
block in README.md is missing a language label, causing markdownlint MD040.
Update the opening fence for the tree snippet to use a text label so the fenced
code block is properly identified; this change should be made in the README.md
content that shows the plugin structure.

Source: Linters/SAST tools

Comment on lines +90 to +91
Noun-verb and verb-noun order both work, e.g. `oc oadp backup create` and
`oc oadp create backup`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
rg -nP --type=go 'Use:\s*"(?:create backup|backup create)"' cmd plugins

Repository: migtools/oadp-cli

Length of output: 155


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the documented skill file and nearby command definitions.
git ls-files 'plugins/oadp-cli/skills/backup-restore/SKILL.md' \
  'cmd/**' 'plugins/**' | sed -n '1,200p'

echo "----"
# Search for the exact noun/verb variants and common Cobra wiring.
rg -n --hidden --no-ignore -S \
  'create backup|backup create|Aliases:|Use:|backup.*create|create.*backup' \
  plugins cmd

Repository: migtools/oadp-cli

Length of output: 13811


🏁 Script executed:

#!/bin/bash
set -euo pipefail

sed -n '150,260p' cmd/root.go
echo "----"
sed -n '1,220p' cmd/non-admin/verbs/verbs.go
echo "----"
sed -n '1,220p' cmd/non-admin/backup/backup.go

Repository: migtools/oadp-cli

Length of output: 10463


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Show how the root command wires subcommands.
sed -n '1,260p' cmd/root.go

echo "----"
# Show the SKILL.md context around the claimed forms.
sed -n '80,100p' plugins/oadp-cli/skills/backup-restore/SKILL.md

echo "----"
# Find all "create backup" command registrations or delegations.
rg -n --hidden --no-ignore -S 'NewCreateCommand\(|AddCommand\(|Use:\s*"create"|Use:\s*"backup"' cmd plugins

Repository: migtools/oadp-cli

Length of output: 12968


Narrow the verb-noun example in plugins/oadp-cli/skills/backup-restore/SKILL.md:90-91 The create backup form exists only under oc oadp nonadmin (oc oadp nonadmin create backup / oc oadp nonadmin backup create); oc oadp create backup is not a top-level command.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/oadp-cli/skills/backup-restore/SKILL.md` around lines 90 - 91, The
CLI examples in SKILL.md are too broad and imply a top-level verb-noun command
that does not exist. Update the backup-restore usage text to keep the noun-verb
example for `oc oadp backup create` and narrow the verb-noun example to the
`nonadmin` command path, using the backup-restore skill section as the place to
adjust the documented command forms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant