tcc-knowledge

Integrate TCC dynamic configuration center into Golang services using tccclient SDK.

Updated Apr 30, 2026
One-click install
npx skills add https://github.com/yuezhen-huang/my-bytedance-skillhub --skill tcc-knowledge-yuezhen-huang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tcc-knowledge
Source: https://github.com/yuezhen-huang/my-bytedance-skillhub/tree/main/tcc-knowledge
Command: npx skills add https://github.com/yuezhen-huang/my-bytedance-skillhub --skill tcc-knowledge-yuezhen-huang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Golang developers at ByteDance need to integrate the TCC dynamic configuration center for runtime config delivery, feature flags, and gray-release settings, but face confusion over SDK version selection, breaking changes between beta and stable releases, and noisy error logs. ## Core Features & Use Cases - SDK Selection Guidance: Compares TCC V2 SDK (code.byted.org/gopkg/tccclient, >= v1.6.2) and TCC V3 SDK (code.byted.org/gopkg/tccclient/v3, >= v3.0.0) with clear applicability rules. - Usage Instructions: Provides code examples for creating ClientV2/ClientV3, calling GetConfig, and controlling log output via SetLogMode and SetLogCounter. - Upgrade & Migration: Documents breaking changes from alpha/beta versions (e.g., V3 GetConfig signature change splitting dir and config name) and lists banned versions with known bugs. - Use Case: A developer adding a feature flag to a Go microservice can follow the guide to install the correct SDK, read config keys at runtime, and avoid banned versions like v1.4.18. ## Quick Start Show me how to read a dynamic config value in my Go service using the TCC tccclient SDK.

Frequently Asked Questions about tcc-knowledge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read dynamic config in Golang with tccclient?

Create a ClientV2 with tccclient.NewConfigV2, set the Confspace, then call clientV2.GetConfig(ctx, "config_key"). For V3 configs, use tccclientv3.NewClientV3 and call GetConfig with separate dir and config name arguments.

TCC V2 SDK vs V3 SDK: which should I use?

Use TCC V2 SDK (>= v1.6.2) to access both V2 and V3 configs; it is the most stable option for reading V3 configs. Use the V3 SDK (>= v3.0.0) only when you exclusively need TCC V3 features.

Why does tccclient log context deadline exceeded errors?

These logs are normal SDK behavior. Upgrade to version >= v1.2.32 and reduce noise using config.SetLogMode with modes like HighMode, or config.SetLogCounter to suppress the first errors within a time window.

Which tccclient versions are banned and why?

Versions v1.4.18, v1.4.13, v1.5.0-beta.8 through beta.10, and v1.5.0-alpha.1 through alpha.19 are banned due to known bugs. Upgrade to a stable release such as >= v1.6.2 for V2 or >= v3.0.0 for V3.

What changed in TCC V3 GetConfig after upgrading from beta?

In v3.0.0, GetConfig changed from accepting a single manually joined key path to taking separate dir and config name arguments. This supports config names containing slashes, so update call sites accordingly.