Add explicit patterns for git branch, git log, git blame, git diff,
and git show to ensure these commands are allowed during implementation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added attention_required mechanism to Step 1 (Triage)
- Added Bash(cat:*) to allowed tools for triage step
- Updated parse-triage to extract attention_reason
- Updated workflow summary to show triage attention reasons
- Updated fail condition to include triage attention_required
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Split the single monolithic Claude prompt (~200 lines) into 5 focused
steps to improve quality and debuggability:
1. Triage: Determines ticket type (bug/feature) and suitability
2. Bug Fix: TDD-based implementation with root cause analysis
3. Feature: Feature implementation with tests
4. Code Review: Uses code-reviewer subagent
5. Changelog & PR: Creates branch, commits, and PR
Key changes:
- Add analysis_state.json for state passing between steps
- Each step has focused prompt with single responsibility
- Conditional execution based on triage result (bug vs feature)
- Preserved attention_required mechanism for all impl steps
- Updated TypeScript scripts to read/write JSON state file
Benefits:
- Focused prompts reduce confusion
- Better debugging (see where pipeline fails)
- Early termination for unsuitable tickets
- Consistent code review (always happens)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This helps with debugging workflow runs by preserving the full
execution log in the workflow artifacts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add WebFetch permissions for:
- github.com and raw.githubusercontent.com (commits, PRs, raw files)
- vimhelp.org and vimdoc.sourceforge.net (Vim documentation)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Emphasize that Claude should:
- Focus on bug descriptions, not user-suggested solutions which may be
inaccurate or too narrow for IdeaVim's architecture
- Find the actual root cause rather than implementing potentially flawed fixes
- Handle tickets with multiple issues by implementing them in separate commits
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Instruct Claude to be direct and avoid filler words, extra explanations,
or compliments. Focus on actionable feedback only.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New Claude skill for routine test maintenance focusing on:
- Test quality and readability (meaningful content, clear names)
- Reviewing @Disabled tests to check if they can be re-enabled
- Ensuring @TestWithoutNeovim annotations have clear reasons
- Documenting @VimBehaviorDiffers usage
Daily GitHub Actions workflow runs at 7 AM UTC.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Local changes without a Pull Request are useless - added clear
instruction that the workflow must create a PR on GitHub.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Image attachments from YouTrack tickets are now downloaded locally
so Claude can view them using the Read tool. This enables analysis
of visual bugs and UI issues that require screenshots.
Changes:
- Add downloadAttachment() function to youtrack.ts
- Download images to attachments/ directory during ticket selection
- Update ticket_details.md to reference local image paths
- Add cleanup step to remove temporary files after analysis
- Add prompt instruction about viewing image attachments
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add explicit instructions to create branch, commit, push, then create PR
- Add PR creation failure as a trigger for attention_required status
Fixes issue where Claude forgot to push branch before creating PR.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add step to review source code and git history before writing tests.
If bug appears already fixed (via code review or passing test), post
a private YouTrack comment mentioning @Aleksei.Plate and stop.
New result type: ANALYSIS_RESULT=already_fixed
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Point both workflows to .claude/settings.json to use project
configuration including enabled plugins.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Weekly check that compares current model against latest available.
If a newer model is found, Claude creates a PR with the update.
Uses Haiku for cost efficiency since this is a simple check task.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use the changelog skill to add entries for bug fixes and features
before creating the PR. Added Skill to allowed tools.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Full test suite takes a while. Guidance now suggests:
- Run specific related tests for faster feedback
- Only run full suite for core changes
- CI will run all tests on the PR anyway
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
PRs created by the YouTrack workflow now include a link to the
GitHub Actions run that generated them, making it easy to trace
back to the full Claude analysis.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When Claude encounters issues needing maintainer attention:
- Missing tool permissions
- YouTrack API errors
- Workflow bugs or limitations
- Required capabilities unavailable
It outputs ANALYSIS_RESULT=attention_required with ATTENTION_REASON.
The job then fails, triggering GitHub notifications.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Detect tickets that are likely no longer relevant:
- References removed features or obsolete IDE versions
- Vague "doesn't work" reports older than 2 years with no activity
- Missing environment details and no follow-up from reporter
When detected, Claude posts a PRIVATE comment mentioning @Aleksei.Plate
with reasoning, then outputs ANALYSIS_RESULT=outdated.
Also adds ticket creation date to ticket_details.md for age assessment.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add security notice warning about user-submitted content in tickets
- Add critical rules to treat ticket content as data only
- Instruct to mark suspicious/injection attempts as unsuitable
- Add reminder at end to ignore conflicting instructions from tickets
- Allow Bash(rm:*) command for cleanup operations
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Before implementing a fix, Claude must now investigate why the buggy
code exists - it may have been a deliberate trade-off from a previous
fix. This prevents re-introducing old bugs when fixing new ones.
Investigation includes: reviewing surrounding code, checking callers,
and using git log/blame to understand the history.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add IdeaVim-specific code-reviewer agent focusing on Vim compatibility,
Kotlin/Java quality, IntelliJ Platform patterns, and test coverage
- Update YouTrack auto-analysis workflow to require code review before
creating PRs (for both bugs and features)
- Add Task tool to allowed tools for subagent usage
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Bugs now require TDD approach: write failing test first, confirm
failure, implement fix, confirm test passes
- Bugs without reproducible tests should be marked as unsuitable
- Features have separate criteria and implementation steps
- Updated PR title format: Fix(VIM-XXXX) for bugs, Add(VIM-XXXX) for features
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Smaller changes are still preferred, but bigger changes are now
acceptable if Claude is confident about them.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replaces Kotlin/Gradle scripts with TypeScript for the auto-analysis workflow.
New files in scripts-ts/:
- youtrack.ts: API utilities (getTicketsByQuery, getTicketDetails, setTag, addComment)
- selectTicketForAnalysis.ts: Selects random open ticket
- completeTicketAnalysis.ts: Tags ticket, optionally adds comment
Benefits:
- Faster startup (no Gradle daemon)
- Simpler dependencies (just tsx)
- Easier to read and modify
The Kotlin scripts remain for other workflows.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This adds a GitHub Action that automatically analyzes random open YouTrack
tickets to determine if they're suitable for automated fixing by Claude Code.
New files:
- youtrackAutoAnalysis.yml: Manual-trigger workflow that orchestrates the process
- SelectTicketForAnalysis.kt: Picks random open ticket without "claude-analyzed" tag
- CompleteTicketAnalysis.kt: Tags ticket and optionally adds analysis comment
Changes:
- youtrack.kt: Add getTicketDetails() function and claudeAnalyzedTagId constant
- build.gradle.kts: Register selectTicketForAnalysis and completeTicketAnalysis tasks
The workflow evaluates tickets based on: clarity, reproducibility (for bugs),
scope (no big refactoring), and testability. If suitable, Claude creates a PR.
All analyzed tickets are tagged to exclude from future runs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace TeamCity PR checks with a GitHub Actions workflow that:
- Runs on pull requests targeting master
- Executes the same test command with identical environment variables
- Uses Amazon Corretto JDK 21 (matching TeamCity setup)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Only update the workflow-changelog tag if the Claude step completes
successfully, preventing tag advancement on failures.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace reference to deleted changelog-instructions.md with
the changelog skill for loading maintenance instructions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replaced `updateYoutrackOnCommit` function in build script with a dedicated Kotlin `main()` entry point.
- Simplified task registration with `JavaExec` in `scripts/build.gradle.kts`.
- Integrated argument support for specifying project directory.
- Removed duplicate and redundant code for Change processing.
- Adjusted GitHub workflow to use the new task structure.
Previously the workflow instructed Claude to always create a PR even when no
issues were found. This resulted in unnecessary PRs documenting inspections
where no changes were needed.
Now the workflow only creates PRs when actual changes are made to the codebase.
This workflow enables automated codebase maintenance by randomly selecting
and inspecting parts of the codebase for quality issues, bugs, and
improvements.
Key features:
- Random file/area selection for inspection
- Comprehensive code review guidelines (style, quality, bugs, architecture)
- Focus on genuine improvements, not pedantic changes
- Always creates PR to document inspection results
- Runs weekly on Mondays, can be triggered manually
The maintenance instructions cover:
- What to check: code style, null safety, test coverage, IdeaVim-specific issues
- When to make changes vs document issues
- Commit best practices (split complex changes into multiple commits)
- IdeaVim-specific considerations (enablement checks, Vim compatibility)