Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: extensions #1522

Merged
merged 14 commits into from
Mar 5, 2024
Merged

Feat: extensions #1522

merged 14 commits into from
Mar 5, 2024

Conversation

NickSeagull
Copy link
Member

@NickSeagull NickSeagull commented Feb 8, 2024

Extend Your Booster Framework with Custom CLI Commands

We're thrilled to announce a significant enhancement to the Booster Framework: Nexus, a powerful new feature that empowers you to extend your Booster applications with custom CLI commands. This innovative addition is designed to harness the capabilities of EffectTS, offering you the flexibility to tailor your project with your scripts for infrastructure management and beyond.

Overview

Nexus introduces a seamless integration with EffectTS, enabling automatic dependency injection within your Booster projects. This means you can now write custom CLI commands that are natively injected into your Booster application, providing a more modular and flexible development environment. This enhancement marks a pivotal step towards evolving the Booster Framework into a more decoupled architecture, where features and functionalities can be added as external plugins rather than being entwined within a monolithic core.

Key Benefits

  • Custom CLI Commands: Nexus allows you to create and inject custom CLI commands directly into your Booster application. This opens up a world of possibilities for extending your application's capabilities, from automating routine tasks to integrating third-party services more effectively.

  • Modular Architecture: By enabling features to be added as external plugins, Nexus paves the way for a more modular and maintainable codebase. This approach reduces coupling between different parts of the framework, making it easier to update and extend your applications.

  • Enhanced Flexibility: With the ability to write your own scripts and commands, you gain unprecedented control over your development environment. Nexus empowers you to tailor your Booster projects to your specific needs, providing a more personalized and efficient development experience.

How It Works

Nexus leverages the power of EffectTS to provide a context-aware execution environment for your custom CLI commands. By defining a Nexus object in your project, you can specify a list of commands, a runMain function, and a contextProvider that sets up the necessary environment for your commands to run. This integration ensures that your custom commands have access to the full capabilities of your Booster application, including configuration data and application services.

Getting Started

To get started with Nexus, simply define a Nexus object in your Booster project, specifying your custom commands and the execution context. From automating deployment processes to creating custom data manipulation scripts, the possibilities are endless.

Conclusion

Nexus represents a significant leap forward in the flexibility and extensibility of the Booster Framework. By introducing the ability to extend your Booster application with custom CLI commands, we're opening up new avenues for innovation and customization. This is just the beginning of our journey towards a more modular and decoupled framework, and we're excited to see the amazing ways you'll leverage Nexus to enhance your Booster projects.

We believe this enhancement will greatly enrich the Booster ecosystem, and we're eager to see the innovative solutions our community will build with Nexus. Start exploring the possibilities today, and take your Booster projects to the next level!


We're committed to continuously improving Booster Framework, and Nexus is a testament to our dedication to providing a cutting-edge development experience. We welcome your feedback and contributions as we work together to make Booster even better.

Checks

  • Project Builds
  • Project passes tests and checks
  • Updated documentation accordingly

@NickSeagull NickSeagull self-assigned this Feb 8, 2024
@NickSeagull NickSeagull changed the title Feat: Nexus Feat: extensions Feb 9, 2024
@NickSeagull NickSeagull marked this pull request as ready for review February 29, 2024 13:25
@NickSeagull NickSeagull force-pushed the feat-agent-generators branch from 9ed6060 to e447a12 Compare February 29, 2024 13:28
@NickSeagull
Copy link
Member Author

/integration sha=acc7199

Copy link
Contributor

github-actions bot commented Feb 29, 2024

Oops, looks like you forgot to add a changeset.

⚠️ Please run rush change and commit the changeset file.

This command will prompt you for a change description and generate a changeset file. You can read more about changesets here.

Remember that you should use the version bump that is appropriate for the change you are making:

Version bump Meaning
patch Bug fixes, documentation changes, etc.
minor New features, non-breaking changes
major Breaking changes

If you are unsure about which version bump to use, please ask in the comments and we will help you out.

Copy link
Contributor

❌ Oh no! Integration tests have failed

@NickSeagull
Copy link
Member Author

/integration sha=dbb2b4c

Copy link
Contributor

⌛ Integration tests are running...

Check their status here 👈

Copy link
Contributor

❌ Oh no! Integration tests have failed

@NickSeagull
Copy link
Member Author

/integration sha=45b0bda

Copy link
Contributor

⌛ Integration tests are running...

Check their status here 👈

Copy link
Contributor

❌ Oh no! Integration tests have failed

@NickSeagull
Copy link
Member Author

/integration sha=bcbdf08

Copy link
Contributor

github-actions bot commented Mar 4, 2024

⌛ Integration tests are running...

Check their status here 👈

Copy link
Contributor

github-actions bot commented Mar 4, 2024

❌ Oh no! Integration tests have failed

1 similar comment
Copy link
Contributor

github-actions bot commented Mar 5, 2024

❌ Oh no! Integration tests have failed

@NickSeagull
Copy link
Member Author

/integration sha=b14f096

Copy link
Contributor

github-actions bot commented Mar 5, 2024

⌛ Integration tests are running...

Check their status here 👈

Copy link
Contributor

github-actions bot commented Mar 5, 2024

❌ Oh no! Integration tests have failed

@NickSeagull
Copy link
Member Author

Integration tests are passing (but AWS) removing them as AWS is deprecated

@NickSeagull NickSeagull merged commit 75dfa29 into main Mar 5, 2024
6 checks passed
@NickSeagull NickSeagull deleted the feat-agent-generators branch March 5, 2024 12:17
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.

1 participant