Skip to content

#2457: add antigravity as tool commandlet - #2497

Draft
JoelAdbu wants to merge 17 commits into
devonfw:mainfrom
JoelAdbu:feature/2457-add-antigravity-as-tool-commandlet
Draft

JoelAdbu wants to merge 17 commits into
devonfw:mainfrom
JoelAdbu:feature/2457-add-antigravity-as-tool-commandlet

Conversation

@JoelAdbu

@JoelAdbu JoelAdbu commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2457

Implemented changes:

  • Added Antigravity CLI integration (Agy.java)
    • Implements per-project configuration isolation via symlinks/junctions
    • Removes inherited ANTIGRAVITY_API_KEY values from the environment to prevent them from overriding the project-specific configuration while preserving values managed by IDEasy
    • Registers ide agy in CommandletManagerImpl
  • Added AgyTest covering configuration resolution, symlink/junction management, and configuration seeding

Note

I was only able to test this new commanldet on Linux and Windows. It would be nice if the reviewer could also test on MacOS.


Testing instructions

Please add conscise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:

  1. Run mvn clean test
  2. Checkout this branch and run
./build-local-dev.sh

Test on Linux, Windows and MacOs (requires step 2. above)

  1. Install antigravity cli running following command:
ide install agy
  1. Verify:
  • successful installation
  • agy is installed to project/<project-name>/software/agy
  • that anitgravity configuration folder has been placed to project/<project-name>/conf/gemini
  • a minimal settings.json and README.md have been placed to project/<project-name>/conf/gemini/antigravity-cli
  1. Run tool antigravity (agy) and sign in etc:
ide agy
  1. choose a specific color scheme (e.g. dark) (in step 6 choose a different one)
  2. in project/<project-name>/conf/gemini/antigravity-cli/settings.json verify the new entry:
{
    "colorScheme": "dark",
    ...
    ... 
}
  1. Open a second cmd (do not close the first one) and navigate to a new project and repeat step 1 to 3
  2. now choose a different color scheme (e.g. solorized dark)
  3. in project/<new-project-name>/conf/gemini/antigravity-cli/settings.json verify the new entry:
{
    "colorScheme": "solarized dark",
    ...
    ... 
}
  1. Now verify that settings.json of the first project remains unchanged
  2. As second verification step close both cli's and start them over again (both should keep their very own configuration) which can additionally be verified by running followning commad in anitgravity-cli:
/config

The Option Color Scheme should show the previously configured color scheme for each project.

  1. Exit antigravity cli and run:
ide uninstall agy
  1. Verify:
  • project/<project-name>/software does not contain agy anymore
  • installation and config of the second project remains unchanged

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat and not feature/921 fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summaries what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labelled
    with internal
  • You have not changed any dependency in pom.xml files or otherwise if runtime dependencies changed, you have updated our LICENSE.asciidoc
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

Checklist for tool commandlets

Have you added a new «tool» as commandlet? There are the following additional checks:

  • The tool can be installed automatically (during setup via settings) or via the commandlet call
  • The tool is isolated in its IDEasy project, see Sandbox Principle
  • The new tool is added to the table of tools in LICENSE.asciidoc
  • The new commandlet is a command-wrapper for «tool»
  • Proper help texts for all supported languages are added here
  • The new commandlet installs potential dependencies automatically
  • The variables «TOOL»_VERSION and «TOOL»_EDITION are honored by your commandlet
  • The new commandlet is tested on all platforms it is available for or tested on all platforms that are in scope of the linked issue

JoelAdbu and others added 7 commits September 15, 2026 11:49
- added antigravity url updater
- added test for antigravity url updater
- added agy url updater to UpdateManager
- added new localToolCommandlet for Antigravity
- added agy commandlet to commandletManagerImp
- added new test class and test for agy commandlet
- added description for agy to help properties
- adjustment and fixes in tests
- added terms of service since there is no license
- spotless...
- checkstyle...
- spotless...
@JoelAdbu JoelAdbu added enhancement New feature or request commandlet ide sub-command AI artificial intelligence, GenAI, etc. labels Sep 16, 2026
- checkstyle (i hope that is the last warning...)
@coveralls

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 35114999604

Coverage decreased (-0.06%) to 74.096%

Details

  • Coverage decreased (-0.06%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 25 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

25 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/url/updater/UpdateManager.java 15 38.82%
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 8 91.81%
com/devonfw/tools/ide/version/VersionSegment.java 2 89.5%

Coverage Stats

Coverage Status
Relevant Lines: 19079
Covered Lines: 14777
Line Coverage: 77.45%
Relevant Branches: 8546
Covered Branches: 5692
Branch Coverage: 66.6%
Branches in Coverage %: Yes
Coverage Strength: 3.31 hits per line

💛 - Coveralls

@JoelAdbu JoelAdbu moved this from 🆕 New to 🏗 In progress in IDEasy board Sep 21, 2026
- added new changelog entry
- updated license
…tool-commandlet' into feature/2457-add-antigravity-as-tool-commandlet
- updated license
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI artificial intelligence, GenAI, etc. commandlet ide sub-command enhancement New feature or request

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

Consider integration of antigravity

2 participants