Skip to content

docs: add example - #229

Open
JimBugwadia wants to merge 1 commit into
mainfrom
example_claude_code
Open

docs: add example#229
JimBugwadia wants to merge 1 commit into
mainfrom
example_claude_code

Conversation

@JimBugwadia

@JimBugwadia JimBugwadia commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Pull request

What this changes and why

Add an example to monitor a coding assistant

How it was validated

  • make build and make test pass
  • For a change to the managers, collector, evaluator, or reporter: validated on
    a kind cluster (make kind-install, plus a targeted check such as
    make smoke-quickstart, make test-e2e-egress, or make test-e2e-protocol)
  • For a change touching pkg/bpf/lsm, pkg/lsmmgr, or open/exec behavior:
    ran make test-e2e-lsm (or make test-e2e) on a host with BPF-LSM active
    (Docker Desktop or a lsm=...,bpf Linux VM) — CI cannot exercise this, see
    CONTRIBUTING.md
  • make lint-docs passes, for any markdown change

Generated artifacts

  • make verify-crds passes, or this PR does not touch api/v1alpha1
  • make verify-bpf passes, or this PR does not touch pkg/bpf/*/_cprog
  • A new BPF program has an entry in test/e2e/bpfverify_test.go, or this PR
    does not add one

Documentation

  • docs/dev/DESIGN.md updated, or this PR does not change the architecture
  • The relevant docs/users/ page updated, or this PR does not change
    user-visible behavior

Commits

Signed-off-by: Jim Bugwadia <jim@nirmata.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new “shadow AI” example that demonstrates running Claude Code inside a Kubernetes pod and using a single monitor-mode RuntimePolicy to inventory observable runtime activity (exec/open/network/protocol/dns), and wires that example into the user-facing example indexes.

Changes:

  • Add a new examples/shadow-ai/monitor-claude-code/ runnable example (Dockerfile, manifests, and demo script).
  • Document the workflow and expectations for the example in a new README.
  • Link the new example from the Shadow AI index and the user docs examples list.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
examples/shadow-ai/README.md Adds the new example to the Shadow AI example index table.
examples/shadow-ai/monitor-claude-code/README.md Documents how to run and verify the new Claude Code monitoring example.
examples/shadow-ai/monitor-claude-code/policy.yaml Monitor-mode RuntimePolicy to observe exec/open/network/protocol/dns broadly.
examples/shadow-ai/monitor-claude-code/pod.yaml Pod manifest for the Claude Code demo workload.
examples/shadow-ai/monitor-claude-code/Dockerfile Builds an image with the Claude Code CLI installed and a writable workspace.
examples/shadow-ai/monitor-claude-code/demo.sh Automates build/load/apply/run/print-findings/cleanup for the example.
docs/users/examples.md Links the new example from the user documentation examples table.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

| [trusted-and-untrusted-agents](trusted-and-untrusted-agents/) | name | Give a declared agent a hard TLS-to-one-Service boundary, and report which LLM providers an undeclared one resolves | enforce and monitor | cgroup v2 |
| [detect-ai-sdks](detect-ai-sdks/) | file | Report the AI SDKs, model files, model caches, and agent credentials a workload reads | monitor | BPF-LSM |
| [detect-agent-cli](detect-agent-cli/) | process | Report the coding-agent CLIs and self-hosted inference servers a workload launches | monitor | BPF-LSM |
| [monitor-claude-code](monitor-claude-code/) | process, file, name, destination | Run Claude Code in a container and inventory its observable runtime activity | monitor | BPF-LSM for `open` and `exec`; cgroup v2 for network-side findings |
current release. Pin the package version for a reproducible run:

```bash
CLAUDE_CODE_VERSION=2.x.y ./demo.sh
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.

2 participants