boostercloud / booster

Booster Framework
https://www.boosterframework.com
Apache License 2.0
409 stars 83 forks source link

Feat: extensions #1522

Closed NickSeagull closed 4 months ago

NickSeagull commented 5 months ago

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

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

NickSeagull commented 4 months ago

/integration sha=acc7199

github-actions[bot] commented 4 months ago

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.

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

NickSeagull commented 4 months ago

/integration sha=dbb2b4c

github-actions[bot] commented 4 months ago

:hourglass: Integration tests are running...

Check their status here šŸ‘ˆ

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

NickSeagull commented 4 months ago

/integration sha=45b0bda

github-actions[bot] commented 4 months ago

:hourglass: Integration tests are running...

Check their status here šŸ‘ˆ

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

NickSeagull commented 4 months ago

/integration sha=bcbdf08

github-actions[bot] commented 4 months ago

:hourglass: Integration tests are running...

Check their status here šŸ‘ˆ

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

NickSeagull commented 4 months ago

/integration sha=b14f096

github-actions[bot] commented 4 months ago

:hourglass: Integration tests are running...

Check their status here šŸ‘ˆ

github-actions[bot] commented 4 months ago

:x: Oh no! Integration tests have failed

NickSeagull commented 4 months ago

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