From 65cf8e7ae293f52d964035768049293035b2afb5 Mon Sep 17 00:00:00 2001 From: jyelon Date: Wed, 18 Mar 2026 12:51:33 -0400 Subject: [PATCH] Add claude memory --- claude/integration-MEMORY.md | 38 ++++++++++++++++++++++++++++++++++++ install.sh | 1 + vscode/settings.json | 3 ++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 claude/integration-MEMORY.md diff --git a/claude/integration-MEMORY.md b/claude/integration-MEMORY.md new file mode 100644 index 0000000..2e47998 --- /dev/null +++ b/claude/integration-MEMORY.md @@ -0,0 +1,38 @@ +## Important Files + +- The Unreal Engine source for this project lives at `/home/jyelon/integration.UE` (sibling to the project dir), not `~/UnrealEngine`. +- Many of Unreal's basic data types (FString, TArray, TSet, TMap, etc.) are in `integration.UE/Engine/Source/Runtime/Core/Public/Containers/`. +- Editor log files are at `integration/User/jyelon/Saved/Logs/`. + +## Critical: Minimize Diff Noise + +- The user reviews all changes via `git diff` in VS Code. Every unnecessary diff line costs review time. +- **Preserve all existing comments.** Comments describe the logic, not the syntax — they survive refactors. Only remove a comment if the code it described was genuinely deleted. +- **Don't rename variables, reorder code, or reformat lines** unless directly required by the task. If a variable name works, leave it. If a comment is in the right place, don't move it. +- Don't make gratuitous changes. If it doesn't need to change, don't touch it. + +## Coding Style Preferences + +- **NO GLOBALLY SCOPED STATIC FUNCTIONS in Unreal code.** Use class methods or namespace-scoped functions instead. This is a hard rule — the user has corrected this multiple times. +- Prefer in-class member initializers (`int x_ = 0;` in the header) over explicit initialization in constructor bodies. When touching constructors, migrate toward this style. +- Inline empty constructors/destructors in the header when possible. +- Avoid ternary operator unless very concise (e.g., `x ? 1 : 0`). For longer expressions, use early-return `if` instead. +- When asked for a small change, do exactly that. If it turns out to require broader refactoring, STOP and explain the situation instead of silently rewriting the module. + +## Tools + +- `tools/clangd-query.py` — Query clangd for C++ symbols. + - `python3 tools/clangd-query.py symbol ` — Find symbols by name across the whole project. + - `python3 tools/clangd-query.py definition ` — Go to definition + - `python3 tools/clangd-query.py references ` — Find all references + - `python3 tools/clangd-query.py diagnostics ` — Get errors/warnings for a file. + - `python3 tools/clangd-query.py stop` — Stop the daemon. + - Prefer this over grep when looking for C++ class/function definitions or references. + +- Use `build.py c++` for lightweight C++ rebuilds, `build.py all` for full rebuilds. + +- VS Code is the IDE. Use `code --goto :` to open files. + +## MCP + +The UE Wingman plugin for unreal allows you to control the unreal editor. diff --git a/install.sh b/install.sh index fe0f0d4..967224e 100755 --- a/install.sh +++ b/install.sh @@ -12,6 +12,7 @@ FILES=( "bash/dot-profile:$HOME/.profile" "claude/CLAUDE.md:$HOME/.claude/CLAUDE.md" "claude/settings.json:$HOME/.claude/settings.json" + "claude/integration-MEMORY.md:$HOME/.claude/projects/-home-jyelon-integration/MEMORY.md" "emacs/dot-emacs:$HOME/.emacs" "git/dot-gitconfig:$HOME/.gitconfig" "vscode/chatLanguageModels.json:$HOME/.config/Code/User/chatLanguageModels.json" diff --git a/vscode/settings.json b/vscode/settings.json index 078a817..0fcc965 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -12,5 +12,6 @@ "lrutabs.closeTabs": false, "chat.disableAIFeatures": true, "editor.hover.delay": 1000, - "editor.hover.sticky": false + "editor.hover.sticky": false, + "editor.fontFamily": "DejaVu Sans Mono" } \ No newline at end of file