Flagimgo is an advanced feature flag management system written in Go. It enables engineering, product, and ops teams to dynamically control app behavior, rollout features safely, run experiments, and fetch runtime configurations without redeploying applications.
- β Boolean, multivariate, and config-based flags
- π― User segmentation and conditional targeting
- π Percentage-based rollouts (canary deployments)
- π§ͺ A/B/N experimentation support
- π Flag exposure tracking and analytics hooks
- π Kill switches and scheduled activations
- π οΈ Remote configuration bootstrapping (e.g., API URLs)
- π Role-based access and audit trails
- π SDKs for Go, JS, Android, iOS, and more (in progress)
flagimgo/
- Go 1.21+
git clone https://github.com/your-org/flagimgo.git
cd flagimgo
GET /bootstrap?appId=com.example.myapp&platform=android
{
"api_base_url": "https://api.example.com",
"feature_flags": {
"enable_checkout_v2": true
},
"log_level": "warn"
}
flags := sdk.FetchFlagsForUser("user_123")
if flags.IsEnabled("new_ui") {
RenderNewUI()
}
Flagimgo supports streaming exposure and event logs to:
- Amplitude, Mixpanel, Segment
- BigQuery / Snowflake
- Kafka / Webhooks
- Role-based access control (RBAC)
- Signed remote config payloads (optional)
- Audit logs for all changes
Flagimgo is under active development. Contributions, feedback, and ideas are welcome!
# Run tests
go test ./...
MIT License Β© 2025 Flagimgo Contributors