Skip to content

Conversation

pushpak1300
Copy link
Member

@pushpak1300 pushpak1300 commented Sep 29, 2025

This PR introduces support for custom code environments (IDEs and AI agents) by making the code environment system extensible.

Previously, Boost only supported a hardcoded list of environments, which made it difficult to add support for new IDEs or agents directly within the official Boost repository.

With this change, developers can now register custom code environments via the new Boost facade. This allows:

  • IDE/tool owners to provide their own integration without modifying Boost core.

Key Changes

  • New Boost Facade: Added Laravel\Boost\Boost facade for registering custom code environments.
  • BoostManager: Introduced BoostManager class to manage code environment registrations.
  • Extensible Architecture: Refactored CodeEnvironmentsDetector to use the manager instead of hardcoded arrays.
  • Documentation: Updated README with instructions for creating and registering custom code environments.
  • Tests: Added comprehensive tests for the new functionality.

Example Usage

Developers can now create custom code environments:

<?php

use Laravel\Boost\Contracts\Agent;
use Laravel\Boost\Contracts\McpClient;
use Laravel\Boost\Install\CodeEnvironment\CodeEnvironment;

class MyCustomIDE extends CodeEnvironment implements Agent, McpClient
{
    // Implementation
}

And register them:

use Laravel\Boost\Boost;

Boost::registerCodeEnvironment('myide', MyCustomIDE::class);

This change does not break any existing features and enhances Boost's extensibility.

@pushpak1300 pushpak1300 changed the title add_hooks_for_third_party_ide [1.x] Add Support for Third Party Code Environemnts Sep 29, 2025
Signed-off-by: Pushpak Chhajed <[email protected]>
Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 changed the title [1.x] Add Support for Third Party Code Environemnts [1.x] Add Support for Third Party Code Environments Sep 29, 2025
@pushpak1300 pushpak1300 marked this pull request as ready for review September 29, 2025 12:09
@pushpak1300 pushpak1300 marked this pull request as draft September 29, 2025 12:09
@pushpak1300 pushpak1300 marked this pull request as ready for review September 29, 2025 12:20
Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 requested review from ashleyhindle and nunomaduro and removed request for ashleyhindle September 29, 2025 13:41
Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 marked this pull request as draft September 29, 2025 13:52
Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 marked this pull request as ready for review September 29, 2025 14:08
@gldrenthe89
Copy link

Great feature. I have created a extension for Augment Code which can be found here:

This has been succesfull tested with this proposed PR. Waiting on release 💪

@pushpak1300 pushpak1300 changed the title [1.x] Add Support for Third Party Code Environments [1.x] Add Support for Custom Code Environments Oct 1, 2025
@pushpak1300 pushpak1300 marked this pull request as draft October 1, 2025 12:10
Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 marked this pull request as ready for review October 1, 2025 12:33
Copy link
Collaborator

@ashleyhindle ashleyhindle left a comment

Choose a reason for hiding this comment

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

Works as expected 💪

We spoke about generally improving the CodeEnvironment class, and agree we should do that soon but not right now.

Will be good to get a once-over of the README (post-changes) before merge/release 🙏

Signed-off-by: Pushpak Chhajed <[email protected]>
@pushpak1300 pushpak1300 requested review from taylorotwell and removed request for nunomaduro October 2, 2025 16:53
@taylorotwell
Copy link
Member

I think one thing that's not clear from the readme is what does any of that actually do? 🤔 Also, what is a "code environment"?

On this topic, are there other popular coding tools we should just add first-party support for instead?

@gldrenthe89
Copy link

I think one thing that's not clear from the readme is what does any of that actually do? 🤔 Also, what is a "code environment"?

On this topic, are there other popular coding tools we should just add first-party support for instead?

I submitted a PR for AugmentCode (#282), but it was rejected in favor of this PR, which I can support. As a result, I created a package for this new feature (https://github.com/gldrenthe89/laravel-boost-augment-code-extension). I’d love to see at least one of these versions made available! ;-)

pushpak1300 and others added 4 commits October 9, 2025 17:52
@pushpak1300
Copy link
Member Author

pushpak1300 commented Oct 9, 2025

On this topic, are there other popular coding tools we should just add first-party support for instead?

I think we already support all the major IDEs and AI agents. This change mainly provides a way to extend support for some of the lesser-used ones like Zed, Augment, or Gemini etc, so others can easily add integrations for agents without us having to maintain them as first-party IDEs.

I’ve also updated the README.md to better explain what CodeEnvironment are, but I’m curious to hear your thoughts. should the class name CodeEnvironment be refactored to something like Agent or IDE for more clarity?

pushpak1300 and others added 2 commits October 9, 2025 18:35
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.

4 participants