.ai/guide.md
{{PARTIAL:frontmatter}}
<!-- TEMPLATE:COMMENT -->To regenerate, run node community/.ai/render-guides.mjs.
Critical: These guidelines MUST be followed at all times.
*.iml files are the source of truth and auto-generate BUILD.bazel files.*.properties for localization.{{PARTIAL:module-specific}}
./tests.cmd -Dintellij.build.test.patterns=<FQN or wildcard> (FQN required; simple class names do not match), or node --test <file> for *.test.mjs.
tests.cmd performs Bazel compilation internally, so a separate bazel build step is not needed when tests will be run.
Module-specific rules may override the runner. Skip if plugin has no tests. See TESTING.bazel build <target> for affected modules. Skip if only .js, .mjs, .md, .txt, or .json files are modified.*.iml, BUILD.bazel, or .idea/ files: run ./build/jpsModelToBazel.cmd.get_file_problems with errorsOnly=false to check files for warnings.
Fix any warnings related to the code changes made. You may ignore unrelated warnings.Preserve IDE-serialized .iml files in canonical form. Do not:
mcp__ijproxy__read_filemcp__ijproxy__apply_patchmcp__ijproxy__search_symbolmcp__ijproxy__search_filemcp__ijproxy__search_textmcp__ijproxy__search_regexmcp__ijproxy__list_dirread_fileapply_patchsearch_symbolsearch_filesearch_textsearch_regexlist_dirDirect JetBrains MCP connection. Use when ijproxy unavailable.
get_file_text_by_pathreplace_text_in_filecreate_new_filefind_files_by_globfind_files_by_name_keywordsearch_in_files_by_textsearch_in_files_by_regexlist_directory_tree./community/tools/fd.cmd (file search) and ./community/tools/rg.cmd (text/regex search). These are the only allowed shell file ops on repo paths../tools/fd.cmd (file search) and ./tools/rg.cmd (text/regex search). These are the only allowed shell file ops on repo paths.Available via ijproxy or JetBrains MCP. Use these for semantic operations; avoid manual search/replace when a refactor exists.
search_symbol (if available) for classes/methods/fields; use search_text/search_regex mainly for strings, comments, and non-symbol matches.get_file_problems, get_symbol_inforename (ijproxy) / rename_refactoring (JetBrains MCP); use for renames and avoid manual search/replace.reformat_filefind_threading_requirements_usages, find_lock_requirements_usagesget_project_modules, get_project_dependencies, get_repositories, git_statusget_run_configurations, execute_run_configurationmcp__ijproxy__apply_patch. Generic apply_patch is forbidden unless ijproxy is unavailable.cat, sed, find, grep) on repo paths, except the client fallback (./community/tools/fd.cmd, ./community/tools/rg.cmd) when no MCP is available.cat, sed, find, grep) on repo paths, except the client fallback (./tools/fd.cmd, ./tools/rg.cmd) when no MCP is available.git_status if the tool is available), build/test.{{PARTIAL:knowledge-mcps}}
Local Preferences: @./.ai/local.md
<!-- IF_TOOL:CLAUDE -->{{PARTIAL:claude-only-individual-preferences}}
<!-- /IF_TOOL:CLAUDE -->