OpenFeature’s official command-line tool
Go to file
Michael Beemer fbc0a6c9b5
Merge branch 'main' into switch-container-base-image
2025-01-02 10:00:12 -05:00
.github/workflows
cmd feat: update golang output (#63) 2024-12-09 18:25:21 +00:00
docs/schema/v0
internal feat: update golang output (#63) 2024-12-09 18:25:21 +00:00
sample
.gitignore chore: go mod tidy, gitignore dist folder 2025-01-01 18:00:49 +00:00
.goreleaser.yaml
.release-please-manifest.json
CHANGELOG.md
Dockerfile chore: switch base image from distroless to alpine 2025-01-01 17:45:24 +00:00
LICENSE
README.md
go.mod chore: go mod tidy, gitignore dist folder 2025-01-01 18:00:49 +00:00
go.sum chore: go mod tidy, gitignore dist folder 2025-01-01 18:00:49 +00:00
main.go
release-please-config.json

README.md

OpenFeature Logo

OpenFeature CLI

work-in-progress Slack

[!CAUTION] The OpenFeature CLI is experimental! Feel free to give it a shot and provide feedback, but expect breaking changes.

OpenFeature 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.

Overview

The OpenFeature CLI is a command-line tool designed to improve the developer experience when working with feature flags. Currently, features are focused primarily on supporting code generation.

Installation

Download packaged binaries from the releases page.

Why Code Generation?

Code generation automates the creation of strongly typed flag accessors, minimizing configuration errors and providing 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 code generation tool.

Support the project

Thanks to everyone who has already contributed

Pictures of the folks who have contributed to the project

Made with contrib.rocks.