open-feature / codegen

Generate strongly typed flag accessors for OpenFeature
Apache License 2.0
5 stars 1 forks source link

OpenFeature Logo

OpenFeature CodeGen

work-in-progress Slack

> [!CAUTION] > OpenFeature CodeGen experimental! > Feel free to give it a shot and provide feedback but expect breaking changes. [OpenFeature](https://openfeature.dev) is an open specification that provides a vendor-agnostic, community-driven API for feature flagging that works with your favorite feature flag management tool or in-house solution. ## Why CodeGen? CodeGen automates the creation of strongly typed flag accessors, minimizing configuration errors and provides a better developer experience. By generating these accessors, developers can avoid issues related to incorrect flag names or types, resulting in more reliable and maintainable code. ## Goals - **Unified Flag Manifest Format**: Establish a standardized flag manifest format that can be easily converted from existing configurations. - **Strongly Typed Flag Accessors**: Develop a CLI tool to generate strongly typed flag accessors for multiple programming languages. - **Modular and Extensible Design**: Create a format that allows for future extensions and modularization of flags. ## Non-Goals - **Full Provider Integration**: The initial scope does not include creating tools to convert provider-specific configurations to the new flag manifest format. - **Validation of Flag Configs**: The project will not initially focus on validating flag configurations for consistency with the flag manifest. - **General-Purpose Configuration**: The project will not aim to create a general-purpose configuration tool for feature flags beyond the scope of the codegen tool. ## Support the project - Give this repo a ⭐️! - Follow us on social media: - Twitter: [@openfeature](https://twitter.com/openfeature) - LinkedIn: [OpenFeature](https://www.linkedin.com/company/openfeature/) - Join us on [Slack](https://cloud-native.slack.com/archives/C0344AANLA1) - For more, check out our [community page](https://openfeature.dev/community/) ### Thanks to everyone who has already contributed Pictures of the folks who have contributed to the project Made with [contrib.rocks](https://contrib.rocks).