Skip to content

Enable IntelliJ MCP, TeamCity guidance, and review-lk#1356

Open
labkey-jeckels wants to merge 29 commits into
developfrom
fb_intellijMcp
Open

Enable IntelliJ MCP, TeamCity guidance, and review-lk#1356
labkey-jeckels wants to merge 29 commits into
developfrom
fb_intellijMcp

Conversation

@labkey-jeckels
Copy link
Copy Markdown
Contributor

@labkey-jeckels labkey-jeckels commented Apr 29, 2026

Tasks


Rationale

IntelliJ has native support for MCP, compatible with Claude Code. Plugins provide other tools like debugger integration.

We can also consolidate the /review-pr and /review-local commands into a single /review-lk that uses a script to gather changes across all matching feature branches (point at a PR or FB), or looks at local changes.

https://www.jetbrains.com/help/idea/mcp-server.html

https://plugins.jetbrains.com/plugin/29233-debugger-mcp-server

https://plugins.jetbrains.com/plugin/29174-ide-index-mcp-server

We can also teach Claude to review TeamCity results and help analyze them. /branch-status command will look for branches where have you recent commits, or takes a branch name as an argument. It summarizes pull request and test results. --monitor keeps checking for new results and sends a push notification on meaningful updates. --fix tells Claude to try its best to fix new failures.

Changes

  • Tell Claude to prefer the IntelliJ tools instead of find/grep
  • Skills provided by third-party plugins too
  • /review-lk command and supporting Python script
  • Guidance for TeamCity MCP
  • /branch-status command to assess PR and TeamCity results on a branch
  • upgrade-test-author skill to help create schema upgrade tests

@labkey-jeckels labkey-jeckels self-assigned this Apr 29, 2026
@labkey-jeckels labkey-jeckels changed the title Enable IntelliJ MCP - native and plugins Enable IntelliJ MCP, TeamCity guidance, and review-lk May 18, 2026
@labkey-jeckels labkey-jeckels marked this pull request as ready for review May 25, 2026 22:39
@labkey-jeckels labkey-jeckels requested a review from a team May 26, 2026 17:05
@labkey-tchad
Copy link
Copy Markdown
Member

This doesn't work with my configuration. I used claude mcp add to configure the TeamCity MCP and it put the token in ~/.claude.json. I have a local fix to branch-status.py that I can commit.

Copy link
Copy Markdown
Member

@labkey-tchad labkey-tchad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still have to remind Claude to use the IntelliJ MCP pretty regularly (It prefers to use Bash(find *)).
/branch-status --monitor seems to work well. The scheduled job gets cancelled if Claude has to compact context. That seems to be by design so I'm not sure if we can do anything about it.
I never received any push notifications however. I'm not sure if that was because I was running it within the IntelliJ Claude terminal or because it didn't see anything worth notifying me of.


Upgrade tests have two phases that run on different server versions:
- **Setup** (`doSetup()`): runs against the OLD version to create test data
- **Verification** (`@Test` methods): runs against the NEW version after the upgrade
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some @Test methods will also run against the old version as a pre-upgrade validation step.

@@ -0,0 +1,109 @@
---
name: submodule-feature-branch
description: Create a LabKey upgrade test that runs setup on an old release and verification on a new release, using the correct submodule feature branch workflow for TeamCity CI. Use when the user asks to add an upgrade test, create a feature branch for a schema migration, or stage changes across release branches.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where did this 'submodule' terminology came from? Does it help Claude understand our repo structure?
I guess git submodules sort of match our repository structure. I just hope Claude doesn't try to run git submodule commands in our repos.


### Class-level vs method-level: version matters

**Class-level** `@EarliestVersion` / `@LatestVersion` is only supported in **26.6 and later**.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not accurate. I added the class-level support in the 26.3 branch. Other than monthly release branches, 25.11 is the only version that doesn't support the class-level annotation. We should simplify this skill by making class-level annotations assumed to be available and adding a single special case for 25.11 explaining that they aren't available.
That or just backport the change to the annotations. It's a pretty simple change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants