Skip to content

Add CLAUDE.md with Claude Code development guidelines#477

Merged
lukaszlenart merged 1 commit intoognl-3-4-xfrom
docs/add-claude-code-instructions
Nov 1, 2025
Merged

Add CLAUDE.md with Claude Code development guidelines#477
lukaszlenart merged 1 commit intoognl-3-4-xfrom
docs/add-claude-code-instructions

Conversation

@lukaszlenart
Copy link
Copy Markdown
Collaborator

Summary

This PR adds a comprehensive CLAUDE.md file to provide development guidance for Claude Code when working in this repository. The file is concise (<300 lines) and focuses on the most important information specific to the ognl-3-4-x branch.

What's Included

Essential Information:

  • Project overview highlighting Java 8 compatibility (ognl-3-4-x branch)
  • Development environment setup and tool requirements
  • All necessary build, test, and development commands
  • Architecture overview focusing on expression evaluation flow
  • Core components explanation (Ognl, OgnlContext, AST nodes, OgnlRuntime)

Critical Development Rules:

  1. Context root preservation - Most important rule to prevent issues like ognl 3.4.8 - root properties not accessible from lambda #472
  2. Null handling behavior - Current exception-throwing approach
  3. Java 8 compatibility - Avoiding Java 9+ APIs (List.of, etc.)
  4. Parser modifications - How to work with JavaCC grammar
  5. Test requirements - Structure and regression test expectations

Practical Guidance:

  • Common pitfalls with clear wrong ❌ / correct ✅ examples
  • Issue analysis workflow (reproduce, parse, trace, test)
  • Key files reference for quick navigation
  • Branch-specific information (ognl-3-4-x vs main)

Additional Changes

Updated .gitignore to exclude:

  • .DS_Store and **/.DS_Store (macOS filesystem artifacts)
  • .claude/settings.local.json (user-specific Claude Code settings)

Benefits

This file will help future Claude Code instances:

  • Understand the unique constraints of this branch (Java 8 compatibility)
  • Avoid common mistakes (context root overwriting, Java 9+ APIs)
  • Follow the correct patterns for testing and development
  • Navigate the codebase more effectively

The guidance is based on recent work including the Issue #472 fix, which highlighted the critical importance of context root preservation in nested evaluations.

🤖 Generated with Claude Code

Added comprehensive CLAUDE.md file providing guidance for Claude Code when working
in this repository. The file includes:

- Project overview and Java 8 compatibility requirements for ognl-3-4-x branch
- Essential build, test, and development commands
- Architecture overview focusing on expression evaluation flow and context management
- Critical development rules, especially context root preservation (Issue #472)
- Common pitfalls with examples (Java 8 compatibility, null handling, context management)
- Issue analysis workflow and key file references

Also updated .gitignore to exclude .DS_Store files and .claude/settings.local.json

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

Co-Authored-By: Claude <[email protected]>
@lukaszlenart lukaszlenart force-pushed the docs/add-claude-code-instructions branch from dcb8099 to 4536a76 Compare November 1, 2025 18:08
@lukaszlenart lukaszlenart enabled auto-merge (squash) November 1, 2025 18:08
@lukaszlenart lukaszlenart merged commit 9979acc into ognl-3-4-x Nov 1, 2025
3 checks passed
@lukaszlenart lukaszlenart deleted the docs/add-claude-code-instructions branch November 1, 2025 18:09
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Nov 1, 2025

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