runtime-feature-flags

Solid

Add, roll out, promote, graduate, or remove Kandev runtime feature flags and release toggles across the backend and frontend. Use whenever a task mentions a feature flag, release toggle, staged rollout, kill switch, or graduating a flag.

AI & Automation 775 stars 114 forks Updated today AGPL-3.0

Install

View on GitHub

Quality Score: 85/100

Stars 20%
96
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Runtime Feature Flags Use this checklist for temporary release toggles and risky features. It is self-contained: do not depend on the agent having read an ADR or public docs. Read `apps/backend/AGENTS.md` and `apps/web/AGENTS.md` when the change touches those subtrees. ## Invariants - The backend is authoritative. A disabled feature must not be reachable through HTTP, WebSocket, MCP, agent-tool, or background-job entry points. - A new release toggle is off in every shipped profile when it is merged. The disabled path preserves the existing behavior and fails closed before deriving data, writing state, dispatching work, or exposing a capability. - Effective values are ordered: explicit environment variable, SQLite override, then profile default. An explicit environment variable locks the admin UI. - Use one identity across layers: `features.<camelCaseKey>`, `KANDEV_FEATURES_<UPPER_SNAKE_CASE>`, a Go `FeaturesConfig` field, its JSON tag, and the matching frontend key. Never add a parallel flag map or switch. - Never reuse an identity recorded in the repository's append-only retired registry. Before relying on retirement, verify that `retiredRuntimeFlagIdentities` and its collision/completeness test exist; if they do not, add that runtimeflags infrastructure before removing a live flag. ## Add a flag Update these layers in the same change: 1. **Profile default:** add `KANDEV_FEATURES_<NAME>` under `features:` in the root `profiles.yaml`; use `prod: "...

Details

Author
kdlbs
Repository
kdlbs/kandev
Created
8 months ago
Last Updated
today
Language
Go
License
AGPL-3.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category