Expert knowledge for FeatBit Go Server-Side SDK integration in web servers and backend applications. Use when working with .go files, building feature flags in Go servers, implementing A/B testing in Go, or when user mentions "Go SDK", "featbit go", "feature flags golang", or "go websocket sync". Server-side only, not for client applications.
View on GitHubFebruary 3, 2026
Select agents to install to:
npx add-skill https://github.com/featbit/featbit-skills/blob/main/skills/featbit-go-sdk/SKILL.md -a claude-code --skill featbit-go-sdkInstallation paths:
.claude/skills/featbit-go-sdk/# FeatBit Go Server-Side SDK
Server-side SDK for feature flags management in Go applications (web servers, APIs, multi-user systems).
**Repository**: https://github.com/featbit/featbit-go-sdk
**Go Version**: 1.13+
⚠️ **Server-Side Only**: Designed for multi-user systems. Not for client-side use.
> **Note**: This skill contains core SDK knowledge. For issues not covered here or troubleshooting problems, refer users to the [GitHub repository](https://github.com/featbit/featbit-go-sdk) for complete source code, examples, and issue tracking.
## Data Synchronization
- **WebSocket** for real-time sync with FeatBit server
- Data stored in memory by default
- Changes pushed to SDK in <100ms average
- Auto-reconnects after internet outage
## Installation
```bash
go get github.com/featbit/featbit-go-sdk
```
## Prerequisites
- **Environment Secret**: [How to get](https://docs.featbit.co/sdk/faq#how-to-get-the-environment-secret)
- **SDK URLs**: [How to get](https://docs.featbit.co/sdk/faq#how-to-get-the-sdk-urls)
## Quick Start
```go
package main
import (
"fmt"
"github.com/featbit/featbit-go-sdk"
"github.com/featbit/featbit-go-sdk/interfaces"
)
func main() {
envSecret := "<replace-with-your-env-secret>"
streamingUrl := "ws://localhost:5100"
eventUrl := "http://localhost:5100"
client, err := featbit.NewFBClient(envSecret, streamingUrl, eventUrl)
defer func() {
if client != nil {
// Ensure SDK shuts down cleanly and delivers events before exit
_ = client.Close()
}
}()
if err == nil && client.IsInitialized() {
user, _ := interfaces.NewUserBuilder("<replace-with-your-user-key>").
UserName("<replace-with-your-user-name>").
Build()
_, ed, _ := client.BoolVariation("<replace-with-your-feature-flag-key>", user, false)
fmt.Printf("flag %s, returns %s for user %s, reason: %s \n",
ed.KeyName, ed.Variation, user.GetKey(), ed.Reason)
} else {
fmt.Println("SDK initialization failed")
}
}
```
**Examples**: [Go Demo](https://githu