Skip to content

fix(integrations): migrate Antigravity (agy) layout to .agents/ and deprecate --skills#2276

Merged
mnriem merged 11 commits intogithub:mainfrom
baveku:main
Apr 20, 2026
Merged

fix(integrations): migrate Antigravity (agy) layout to .agents/ and deprecate --skills#2276
mnriem merged 11 commits intogithub:mainfrom
baveku:main

Conversation

@baveku
Copy link
Copy Markdown
Contributor

@baveku baveku commented Apr 20, 2026

Description

Changes

  • Directory Migration: Switched the default integration storage folder from .agent/ to .agents/.
  • Auto-Migration: Added a seamless shutil.move migration step in AgyIntegration.setup() to auto-rename .agent/ to .agents/ if the new directory doesn't exist yet, preventing breakage for legacy projects.
  • Backward Compatibility: Retained --skills as a deprecated, no-op flag instead of removing it completely to ensure existing automation scripts do not break during option parsing.
  • Version Warning: Added a setup warning indicating that the new .agents/ layout requires Antigravity v1.20.5 or newer.

Testing

  • Tested locally with uv run specify --help
  • Ran existing tests with uv sync && uv run pytest
  • Verified the directory change in agy/integrations/__init__.py

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (describe below)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Antigravity (agy) integration to use the newer .agents directory layout instead of .agent, aligning with updated Antigravity IDE specs.

Changes:

  • Switched the default integration storage folder from .agent/ to .agents/.
  • Updated the registrar directory from .agent/skills to .agents/skills.
  • Updated the --skills option help text to reference a newer Antigravity version.
Show a summary per file
File Description
src/specify_cli/integrations/agy/__init__.py Updates agy integration paths to .agents and refreshes the --skills help text.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

src/specify_cli/integrations/agy/init.py:39

  • The help text says --skills is the default since v1.23.2, but the module docstring still states the default changed in v1.20.5. Please reconcile these version statements (either update the docstring version or clarify what changed in each release) to avoid confusing users.
                help="Install as agent skills (default for Antigravity since v1.23.2)",
  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment thread src/specify_cli/integrations/agy/__init__.py
Copy link
Copy Markdown
Collaborator

@mnriem mnriem left a comment

Choose a reason for hiding this comment

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

Please address Copilot feedback. Also note that if this requires a newer version of agy installed you should warn users about this when the integration gets installed. Also please include a test when changing behavior

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

src/specify_cli/integrations/agy/init.py:65

  • Emitting terminal output directly from setup() is likely to interfere with the Rich Live(...) progress UI used by specify init (the integration setup runs inside a Live context). Consider moving this warning to the CLI layer (so it can be rendered via the existing Rich console/panels) or routing it through a logger/structured return value instead of printing during setup.
        import click

        click.secho(
            "Warning: The .agents/ layout requires Antigravity v1.19.5 or newer. "
            "Please ensure your agy installation is up to date.",
            fg="yellow",
            err=True,
        )
        return super().setup(project_root, manifest, parsed_options=parsed_options, **opts)
  • Files reviewed: 2/2 changed files
  • Comments generated: 2

Comment thread tests/integrations/test_integration_agy.py Outdated
Comment thread src/specify_cli/integrations/agy/__init__.py Outdated
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented Apr 20, 2026

Please address Copilot support. BTW what is the reason for mentioning --skills? Can we get rid of that? Thoughts?

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@baveku
Copy link
Copy Markdown
Contributor Author

baveku commented Apr 20, 2026

Please address Copilot support. BTW what is the reason for mentioning --skills? Can we get rid of that? Thoughts?

Good catch! Since explicit command support was deprecated in v1.20.5, the .agents/skills/ layout is now the only supported behavior for the Antigravity integration. The --skills flag was essentially a redundant legacy option with no actual branching logic.
I've completely removed it from AgyIntegration, cleaned up the outdated docstrings, and updated the test suite to reflect its removal.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 3

Comment thread src/specify_cli/integrations/agy/__init__.py Outdated
Comment thread tests/integrations/test_integration_agy.py Outdated
Comment thread src/specify_cli/integrations/agy/__init__.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

src/specify_cli/integrations/agy/init.py:53

  • This PR adds behavior beyond the PR description: AgyIntegration now emits a setup-time warning and (by removing the previous options() override) drops the integration-level --skills option. Please update the PR description (and any release notes if applicable) to reflect these user-visible changes so reviewers/users don’t miss them.
        self,
        project_root: Path,
        manifest: IntegrationManifest,
        parsed_options: dict[str, Any] | None = None,
        **opts: Any,
    ) -> list[Path]:
        import click

        click.secho(
            "Warning: The .agents/ layout requires Antigravity v1.20.5 or newer. "
            "Please ensure your agy installation is up to date.",
            fg="yellow",
            err=True,
        )
        return super().setup(project_root, manifest, parsed_options=parsed_options, **opts)

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment thread src/specify_cli/integrations/agy/__init__.py
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented Apr 20, 2026

Please address Test & Lint errors

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment thread tests/integrations/test_integration_agy.py Outdated
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented Apr 20, 2026

Please address Copilot feedback

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment thread tests/integrations/test_integration_agy.py Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment thread src/specify_cli/integrations/agy/__init__.py
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented Apr 20, 2026

Please change PR title / description to match intent of the PR as per Copilot feedback

@baveku baveku changed the title refactor(agy): update storage directory from .agent to .agents fix(integrations): migrate Antigravity (agy) layout to .agents/ and deprecate --skills Apr 20, 2026
@baveku
Copy link
Copy Markdown
Contributor Author

baveku commented Apr 20, 2026

Please change PR title / description to match intent of the PR as per Copilot feedback

I've updated the PR title and description to accurately reflect the changes. It now explicitly details the auto-migration step we added, the retention of the --skills flag for backward compatibility, and the new version warning. Thanks for the feedback!

@mnriem mnriem self-requested a review April 20, 2026 16:57
@mnriem mnriem merged commit 2568422 into github:main Apr 20, 2026
15 checks passed
@mnriem
Copy link
Copy Markdown
Collaborator

mnriem commented Apr 20, 2026

Thank you!

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.

3 participants