# CLAUDE.md

Guidance for Claude Code when working with IdeaVim.

## Quick Reference

Essential commands:
- `./gradlew runIde` - Start dev IntelliJ with IdeaVim
- `./gradlew test -x :tests:property-tests:test -x :tests:long-running-tests:test` - Run standard tests

Avoid running all tests, this takes too long. It's preferred to run specific test.

When running gradle tasks, use `--console=plain` for cleaner output without progress bars.

See CONTRIBUTING.md for architecture details and a complete command list.

## IdeaVim-Specific Notes

- Property tests can be flaky - verify if failures relate to your changes
- Use `<Action>` in mappings, not `:action`
- Config file: `~/.ideavimrc` (XDG supported)
- Goal: Match Vim functionality and architecture

## Issue Tracking

This project uses **YouTrack** for issue tracking, NOT GitHub Issues.
- Tickets are prefixed with `VIM-` (e.g., VIM-1234)
- YouTrack URL: https://youtrack.jetbrains.com/issues/VIM
- `gh issue` commands will NOT work

## Commit Messages

For commits that fix a tracked issue, use the format `Fix(VIM-XXX): <description>` (e.g., `Fix(VIM-4115): NPE in CommandKeyConsumer after plugin disable/enable`).

## Additional Documentation

- Changelog maintenance: Handled by the `changelog` skill (auto-detected when updating changelog)

## Active Technologies
- Kotlin (JVM 21) + IntelliJ Platform SDK, IdeaVim vim-engine (001-api-layer)

## Recent Changes
- 001-api-layer: Added Kotlin (JVM 21) + IntelliJ Platform SDK, IdeaVim vim-engine
