bubbles-config-bundle-per-train

Author per-train feature-flag YAML bundles consumed by the CI config-bundle generator.

1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-config-bundle-per-train-pkirsanov
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bubbles-config-bundle-per-train
Source: https://github.com/pkirsanov/bubbles/tree/main/skills/bubbles-config-bundle-per-train
Command: npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-config-bundle-per-train-pkirsanov

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams shipping one trunk codebase to multiple release trains need a disciplined way to control which feature flags are default-ON per train, without hardcoding environment checks or drifting flag configurations across bundles. ## Core Features & Use Cases - Bundle Authoring: Defines the config/feature-flags.<train>.yaml layout with version, train id, flags, and per-flag metadata consumed by the G081 Build-Once Deploy-Many generator. - Flag Lifecycle Workflows: Provides step-by-step procedures for adding a new flag across all train bundles and retiring overdue flags flagged by the audit script. - Language Consumption Patterns: Shows fail-fast env-var flag reading in Rust, Go, TypeScript, and Python with no defaults. - Use Case: When introducing a new_payment_flow flag owned by the mvp train, set it true in the mvp bundle, false in every other bundle, add metadata, and let release-train-guard.sh verify discipline at pre-push. ## Quick Start Ask the agent to add a new feature flag to the owning train's bundle and set it false in all other train bundles following the per-train config bundle conventions.

Frequently Asked Questions about bubbles-config-bundle-per-train

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

FAQPage Schema
How do I add a new feature flag to a release train?▼

Declare the owning train in the spec's state.json, add the flag as true in the owning train's bundle file, add it as false in every other train's bundle, and add a metadata entry. Then implement fail-fast env-var reading in code and let release-train-guard.sh verify at pre-push.

How do feature flags get from YAML bundles into running services?▼

The CI config-bundle generator (G081) reads the train's feature-flags YAML file and emits a signed, immutable config artifact containing the resolved env file. Services read flags from environment variables at startup with no hardcoded defaults.

What naming rules apply to feature flags in these bundles?▼

Flags use snake_case with verb-noun or feature-noun patterns, boolean semantics only, and no train name embedded in the flag. Version suffixes are avoided unless two versions must coexist, such as experimental_payment_flow_v2.

When should a feature flag be retired from the bundles?▼

A flag is retired when release-train-flag-audit.sh marks it overdue, meaning its train graduated more than one cycle ago. The cleanup removes the conditional from code, deletes the flag from all bundles, and removes the env var reference.

Why must a flag be false in every other train's bundle?▼

Gate G111 enforces default-OFF outside the owning train so the same git SHA can ship to multiple slots safely. Omitting the flag from other bundles causes false positives and breaks bundle agreement during retirement.