diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7139cfe..cf813d5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,6 +33,7 @@ We recommend repositories in the project adhere to some security and maintenance | static analysis | [SonarCloud][sonarcloud], language-specific tools (SpotBugs, eslint) | | unit, integration testing | github actions (with permissions applying principle of least privilege), language-specific tools (JUnit, Jest, etc), [Cucumber][cucumber] | | semantic versioning, changelogs | [Semantic Versioning][semantic-versioning], [Conventional Commits][conventional-commits], [Release Please][release-please]\*\*\* | +| helpful readme file | See [example README.md](./templates/READMEs/README.md) | \* Branch protection rules should protect the primary branch (usually `main`) by requiring code review from the appropriate parties (other than the author), usually expressed in a CODEOWNERS file. @@ -53,6 +54,7 @@ Additionally, we have an org-wide base config for Renovate. [syft]: https://github.com/anchore/syft [spdx]: https://spdx.dev/resources/tools/ [dependabot]: https://github.com/dependabot + [conventional-commits]: [https://www.conventionalcommits.org/] [semantic-versioning]: [https://semver.org/] [release-please]: [https://github.com/googleapis/release-please] diff --git a/templates/READMEs/README.md b/templates/READMEs/README.md new file mode 100644 index 0000000..200b771 --- /dev/null +++ b/templates/READMEs/README.md @@ -0,0 +1,112 @@ + + + +

+ + + + OpenFeature Logo + +

+ + +

OpenFeature your-repo

+ + +[![Specification](https://img.shields.io/static/v1?label=Specification&message=v0.5.2&color=yellow)](https://github.com/open-feature/spec/tree/v0.5.2) + + +## 👋 Hey there! Thanks for checking out the OpenFeature your-repo + +### What is OpenFeature? + +[OpenFeature][openfeature-website] is an open standard that provides a vendor-agnostic, community-driven API for feature flagging that works with your favorite feature flag management tool. + +### Why standardize feature flags? + +Standardizing feature flags unifies tools and vendors behind a common interface which avoids vendor lock-in at the code level. Additionally, it offers a framework for building extensions and integrations and allows providers to focus on their unique value proposition. + +## 🔧 Components + + + +## 🔍 Requirements: + + + +## 📦 Installation: + + + +## 🌟 Features: + +- support for various backend [providers](https://docs.openfeature.dev/docs/reference/concepts/provider) +- easy integration and extension via [hooks](https://docs.openfeature.dev/docs/reference/concepts/hooks) +- bool, string, numeric and object flag types +- [context-aware](https://docs.openfeature.dev/docs/reference/concepts/evaluation-context) evaluation + +## 🚀 Usage: + +### Basics: + + + +### Context-aware evaluation: + +Sometimes the value of a flag must take into account some dynamic criteria about the application or user, such as the user location, IP, email address, or the location of the server. +In OpenFeature, we refer to this as [`targeting`](https://docs.openfeature.dev/specification/glossary#targeting). +If the flag system you're using supports targeting, you can provide the input data using the `EvaluationContext`. + + + +### Providers: + +To develop a provider, you need to create a new project and include the OpenFeature SDK as a dependency. This can be a new repository or included in [the existing contrib repository](https://github.com/open-feature/java-sdk-contrib) available under the OpenFeature organization. Finally, you’ll then need to write the provider itself. This can be accomplished by implementing the `Provider` interface exported by the OpenFeature SDK. + + + + +See [here](https://docs.openfeature.dev/docs/reference/technologies/server/javascript) for a catalog of available providers. + +### Hooks: + +Hooks are a mechanism that allow for the addition of arbitrary behavior at well-defined points of the flag evaluation life-cycle. Use cases include validation of the resolved flag value, modifying or adding data to the evaluation context, logging, telemetry, and tracking. + + + + +See [here](https://docs.openfeature.dev/docs/reference/technologies/server/javascript) for a catalog of available hooks. + +### Logging: + + + +## ⭐️ Support the project + +- Give this repo a ⭐️! +- Follow us 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://docs.openfeature.dev/community/) + +## 🤝 Contributing + +Interested in contributing? Great, we'd love your help! To get started, take a look at the [CONTRIBUTING](CONTRIBUTING.md) guide. + +### Thanks to everyone that has already contributed + + + + Pictures of the folks who have contributed to the project + + +Made with [contrib.rocks](https://contrib.rocks). + +## 📜 License + +[Apache License 2.0](LICENSE) + + + +[openfeature-website]: https://openfeature.dev