Skip to content

Add CLAUDE.md documentation for Claude Code integration#755

Merged
openshift-merge-bot[bot] merged 4 commits intoredhat-performance:mainfrom
akrzos:add-claude-md-docs
Jan 14, 2026
Merged

Add CLAUDE.md documentation for Claude Code integration#755
openshift-merge-bot[bot] merged 4 commits intoredhat-performance:mainfrom
akrzos:add-claude-md-docs

Conversation

@akrzos
Copy link
Member

@akrzos akrzos commented Jan 13, 2026

Provides comprehensive development guidance for Claude Code when working with the Jetlag codebase, including:

  • Essential commands for environment setup and cluster deployment
  • Clear workflows for Red Hat Labs (Scale/Performance) and IBMcloud environments
  • Coverage of all cluster types: MNO, SNO, VMNO, and hybrid deployments
  • Architecture overview and critical configuration variables
  • Environment-specific considerations and deployment patterns

🤖 Generated with Claude Code

Assisted-by: Claude (claude-sonnet-4@20250514)

Provides comprehensive development guidance for Claude Code when working with the Jetlag codebase, including:

- Essential commands for environment setup and cluster deployment
- Clear workflows for Red Hat Labs (Scale/Performance) and IBMcloud environments
- Coverage of all cluster types: MNO, SNO, VMNO, and hybrid deployments
- Architecture overview and critical configuration variables
- Environment-specific considerations and deployment patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Assisted-by: Claude (claude-sonnet-4@20250514)
@openshift-ci openshift-ci bot requested review from jtaleric and mcornea January 13, 2026 13:58
@akrzos akrzos requested review from josecastillolema and removed request for jtaleric January 13, 2026 13:58
CLAUDE.md Outdated
- **SNO (Single Node OpenShift)**: Single node clusters, one per available machine
- **VMNO (Virtual Multi Node OpenShift)**: MNO cluster using VMs instead of bare metal (Jetlag-specific term)
- **Hybrid MNO**: MNO cluster with both bare metal and virtual worker nodes
- **Hypervisor nodes**: Unused machines become VM hosts for additional clusters or hybrid workers
Copy link
Member

Choose a reason for hiding this comment

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

Humm maybe 4 (HMNO) and 5 (Hypervisor nodes) are the same and should be unified into HMNO?

@mcornea
Copy link
Collaborator

mcornea commented Jan 13, 2026

Can we also add a .claude/commands directory where to add usual commands for interacting with the repository? I personally use the following .claude/commands/jetlag-review.md command which helps reviewing PRs by running /jetlag-review PR#

---
description: Fetch and review a GitHub PR
---

You are tasked with reviewing a GitHub Pull Request. Follow these steps:

1. **Fetch PR details**: Use `gh pr view {{arg:1}}` to get PR information (title, description, author, files changed)

2. **Checkout the PR**: Use `gh pr checkout {{arg:1}}` to check out the PR branch locally

3. **Analyze the changes**:
   - Use `gh pr diff {{arg:1}}` to see the full diff
   - Read the modified files to understand the context
   - Pay attention to the PR description and any linked issues

4. **Provide a comprehensive review** covering:
   - **Summary**: Brief overview of what the PR does
   - **Code Quality**: Architecture, patterns, readability, maintainability
   - **Potential Issues**: Bugs, edge cases, security concerns, performance issues
   - **Testing**: Are tests adequate? Are there missing test cases?
   - **Documentation**: Is documentation updated if needed?
   - **Ansible-Specific Checks**:
     - **Idempotency**: Tasks should be idempotent (can be run multiple times safely)
     - **Module Selection**: Use of appropriate Ansible modules (avoid shell/command when native modules exist)
     - **Variable Naming**: Follow consistent naming conventions, proper scoping (group_vars, host_vars, role defaults)
     - **Task Naming**: All tasks have clear, descriptive names
     - **YAML Formatting**: Proper YAML syntax, consistent indentation, use of multi-line strings where appropriate
     - **Handlers**: Proper use of handlers for service restarts and notify/listen patterns
     - **Jinja2 Templates**: Correct usage of filters, tests, and variable references
     - **Error Handling**: Use of failed_when, changed_when, ignore_errors appropriately
     - **Tags**: Meaningful tags for task organization and selective execution
     - **Secrets Management**: No plain-text passwords, proper use of ansible-vault if applicable
     - **Conditionals**: Proper use of when clauses, check for undefined variables
     - **Loops**: Efficient use of loop, with_items, etc.
     - **Role Structure**: Follows standard role directory structure if roles are modified
     - **Deprecations**: No use of deprecated Ansible features or modules
     - **Performance**: Consideration of serial, async, poll for long-running tasks
   - **Suggestions**: Specific, actionable improvements with code examples where helpful

5. **Format your review** in a clear, structured markdown format that's easy to read

Be thorough but constructive. Focus on meaningful feedback that helps improve the code.

…etails

Hypervisor nodes are not a cluster type but rather a node type used to host VMs for virtual and hybrid clusters. Moved this information to the Virtual and Hybrid Cluster Details section where it belongs.

Assisted-by: Claude (claude-sonnet-4@20250514)
Adds new section referencing existing documentation resources:
- Links to docs/troubleshooting.md for common deployment issues
- References docs/tips-and-vars.md for advanced configuration
- Provides quick reference for most common issues (focuses on DNS, not DHCP)
- Guides Claude Code instances to consult appropriate documentation

This will help future Claude instances quickly locate and use the extensive existing troubleshooting knowledge in the codebase.

Assisted-by: Claude (claude-sonnet-4@20250514)
Adds .claude/commands/jetlag-review.md providing a comprehensive framework for reviewing Jetlag pull requests with:

- GitHub CLI integration for fetching and checking out PRs
- Comprehensive Ansible-specific review criteria
- Focus on idempotency, module selection, and best practices
- YAML formatting and structure validation
- Security and performance considerations

This will standardize PR review quality and ensure consistent evaluation of changes to the Jetlag codebase.

Assisted-by: Claude (claude-sonnet-4@20250514)
@josecastillolema
Copy link
Member

/lgtm

@mcornea
Copy link
Collaborator

mcornea commented Jan 14, 2026

/lgtm

@mcornea
Copy link
Collaborator

mcornea commented Jan 14, 2026

/approve

@openshift-ci
Copy link

openshift-ci bot commented Jan 14, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mcornea

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

The pull request process is described 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

@openshift-merge-bot openshift-merge-bot bot merged commit e5675ff into redhat-performance:main Jan 14, 2026
1 check passed
@akrzos akrzos deleted the add-claude-md-docs branch January 14, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants