mirror of
https://github.com/block/buzz.git
synced 2026-11-03 16:01:35 +00:00
feat: add feature flags system with tiered gating
- Add features.json manifest at repo root (single source of truth) - Implement useFeatureEnabled hook + FeatureGate component - Add ExperimentalFeaturesCard settings panel with opt-in toggles - Gate sidebar items: managed-agents, projects, workflows - Gate settings sections via featureGate descriptor field - Three tiers: stable (always on), experimental (opt-in), dev (dev-only) - Global 'Show developer features' toggle for dev tier suppression - localStorage persistence for user overrides - Designed for Flutter consumption (JSON manifest, platforms field) Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
This commit is contained in:
75
features.json
Normal file
75
features.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"version": 1,
|
||||
"features": [
|
||||
{
|
||||
"id": "managed-agents",
|
||||
"name": "Managed Agents",
|
||||
"description": "Create, configure, and run AI agents in your workspace",
|
||||
"tier": "experimental",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "channel-templates",
|
||||
"name": "Channel Templates",
|
||||
"description": "Pre-configured channel setups with agents and workflows",
|
||||
"tier": "experimental",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "workflows",
|
||||
"name": "Workflows",
|
||||
"description": "YAML-defined automations with approval gates",
|
||||
"tier": "experimental",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "projects",
|
||||
"name": "Projects",
|
||||
"description": "Git repository browser and collaboration",
|
||||
"tier": "experimental",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "custom-emoji",
|
||||
"name": "Custom Emoji",
|
||||
"description": "Workspace emoji palette for reactions and messages",
|
||||
"tier": "experimental",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "huddles",
|
||||
"name": "Huddles",
|
||||
"description": "Voice sessions with humans and agents via TTS/STT",
|
||||
"tier": "dev",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "mesh-compute",
|
||||
"name": "Mesh Compute",
|
||||
"description": "Peer-to-peer inference sharing across workspace members",
|
||||
"tier": "dev",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "identity-archive",
|
||||
"name": "Identity Archive",
|
||||
"description": "Archive and unarchive relay member identities",
|
||||
"tier": "dev",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "relay-members",
|
||||
"name": "Relay Members",
|
||||
"description": "Relay membership administration panel",
|
||||
"tier": "dev",
|
||||
"platforms": ["desktop"]
|
||||
},
|
||||
{
|
||||
"id": "doctor",
|
||||
"name": "Doctor",
|
||||
"description": "Diagnostic and debug panel for troubleshooting",
|
||||
"tier": "dev",
|
||||
"platforms": ["desktop"]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user