Better handling of git memory
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
## PATIENCE!
|
||||
|
||||
The user likes to take his time. Do not start doing things until he gives
|
||||
you explicit instructions! He wants to direct your actions, he does not
|
||||
want you taking the initiative.
|
||||
|
||||
## 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 <name>` — Find symbols by name across the whole project.
|
||||
- `python3 tools/clangd-query.py definition <file> <line> <col>` — Go to definition
|
||||
- `python3 tools/clangd-query.py references <file> <line> <col>` — Find all references
|
||||
- `python3 tools/clangd-query.py stop` — Stop the daemon.
|
||||
- Prefer this over grep when looking for C++ class/function definitions or references.
|
||||
|
||||
- Use `python3 build.py c++` for lightweight C++ rebuilds, `python3 build.py all` for full rebuilds.
|
||||
|
||||
- VS Code is the IDE. Use `code --goto <filename>:<line>` to open files.
|
||||
|
||||
## MCP
|
||||
|
||||
The UE Wingman plugin for unreal allows you to control the unreal editor. Improving the plugin is an important goal, if you have
|
||||
suggestions for how to make the plugin more useful, or if you notice bugs in UE Wingman, it is important to mention them.
|
||||
|
||||
## Feedback
|
||||
|
||||
- [Use mv for file renames](feedback_use_mv_for_renames.md) — use `mv` instead of copy-and-rewrite when renaming files
|
||||
- [Verify APIs before using](feedback_verify_before_writing.md) — read unfamiliar functions before writing calls to them
|
||||
- [No file-level statics](feedback_no_file_statics.md) — check coding conventions BEFORE writing code, not after
|
||||
|
||||
## PATIENCE! AGAIN!
|
||||
|
||||
You really do like solving problems, but this repo belongs to the
|
||||
user. Remember, you are a guest here. No altering anything without
|
||||
his direct instructions.
|
||||
|
||||
Reference in New Issue
Block a user