Skip to content

Claude Code

CloudAEye ships to Claude Code as a plugin. For the SaaS service, installing the plugin is enough to add the server connection and slash commands. For a self-hosted deployment, set the plugin's review server URL to the deployment's MCP resource.

Setup is one-time per machine, plus a short policy snippet per project.

Prerequisites

  • Claude Code installed, with a ~/.claude/ directory.
  • git and curl on your PATH — the commands use both.
  • A git repository. Every command runs inside one.
  • For self-hosting, the <app_base_url> supplied by the deployment administrator.

Step 1 — Install the plugin

Add the marketplace, then install from it:

/plugin marketplace add CloudAEye/claude-plugin
/plugin install cloudaeye

Restart Claude Code. Skills load immediately, but MCP servers connect at startup — until you restart, the /cloudaeye:* commands exist but have no server to call.

Claude Code will offer you some values during install. All of them are optional and you can skip them here; the next step covers credentials.

If you hand-installed the skills before. Earlier instructions had you copy skill files into ~/.claude/skills/cloudaeye-*. Delete that directory. Two copies both work, and they drift apart silently.

Self-hosted endpoint

For the self-hosted endpoint, OAuth routes, HTTPS requirements, and installation command, see the Self-Hosted MCP guide.

Step 2 — Connect your account

  1. Run /mcp in Claude Code.
  2. Select CloudAEye and choose Authenticate.
  3. Complete sign-in and consent in the browser.
  4. Return to Claude Code after the browser reports a successful connection.

Initialize a repository

After authentication, run /cloudaeye:init from the Git repository you want to connect. Run it once for each repository before using the review commands.

The command:

  1. Detects the repository provider, remote URL, current branch, HEAD, and base branch.
  2. Calls the repository initialization operation with the detected provider.
  3. Prompts for the branch that has to be monitored.
  4. If the provider(GitHub, Bitbucket, Gitlab) is not connected, it opens the provider integration page and waits until connection is done and repo is configured.

Step 3 — Verify

Make a small edit in any git repository, then run:

/cloudaeye:inspect

A working setup either reports findings or reports that it found nothing. If it reports an error, the message names the cause — see Troubleshooting.

The commands

Command What it does
/cloudaeye:inspect Bug pass — no security prompts. Run it after every task
/cloudaeye:security Security pass — application, LLM, AI-agent and MCP surfaces, plus secrets
/cloudaeye:review Both, in one call
/cloudaeye:describe A change description for a PR body or commit message
/cloudaeye:check-task DONE / NOT DONE against a ticket, issue, or spec
/cloudaeye:ask A question about the pending change, answered against the code graph
/cloudaeye:init Connect the current Git repository and configure its provider integration

Each is documented in Skills & Commands. You can also ask for them in plain language — "review my changes with CloudAEye" reaches the same skill as /cloudaeye:inspect.

The workflow

The commands are built to sit inside a coding turn rather than beside it. Rather than running a review yourself and relaying the findings, ask for the whole loop in one prompt:

Implement the retry logic in the webhook handler, then review it with
CloudAEye and fix anything it finds.

Claude Code writes the code, runs /cloudaeye:inspect, and brings back the findings with the file and line for each. It does not edit anything in response to a finding until you say so — so you see what was flagged before anything moves.

Ask for specific fixes, then run the same command again. The server resolves the same session, and the agent writes a sharper description of what it changed and which findings it deliberately left — which is what stops the second pass repeating the first.

Make the review part of "done"

Paste this into your project's CLAUDE.md if you want Claude Code to review its own work before it reports a task complete:

## Code review policy (cloudaeye)

After completing any coding task, before reporting done:

1. Run `/cloudaeye:inspect` (bug pass — no security prompts)
2. Surface the findings to the user. Don't auto-fix unless asked.

If the change touches auth, untrusted input, deserialization, secrets, crypto, LLM
prompts, tool definitions, or agent orchestration — suggest `/cloudaeye:security`
after reporting the inspect findings. Don't run it uninvited.

This snippet is what actually makes the agent run the check. Without it, the commands are there but nothing invokes them for you.

Troubleshooting

Symptom Cause and fix
/plugin marketplace add fails on a corporate laptop The owner/repo shorthand clones over SSH. Set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 and retry.
/plugin install cloudaeye reports the plugin is not found The marketplace step has not run, or the catalog is stale. Run /plugin marketplace update cloudaeye and retry, or use the fully qualified /plugin install cloudaeye@cloudaeye.
The /cloudaeye:* commands exist but no review ever runs The MCP server did not connect. Restart Claude Code.
cloudaeye_error=insecure_url Configure the self-hosted MCP endpoint with HTTPS and an issued ACM certificate. See the Self-Hosted MCP guide.
MCP connects but the endpoint is not found Check the Self-Hosted MCP guide for the exact /mcp endpoint.
cloudaeye_error=session_failed http=000 Nothing answered at the review server — VPN, firewall, or a wrong server URL.
base_source=head in the output The repository is not integrated with CloudAEye under your tenant, so there is no baseline branch. The review still runs, but only over working-tree edits. See Custom Context.
nothing to inspect The diff is empty. Untracked files are picked up automatically, so this means there really are no pending changes.

Every run prints an auth_from= line naming which credential layer answered, on success and on failure — so a failing review never leaves you guessing whether the credential was the problem.