@strav/flag
Feature flags for the Strav framework. Define, scope, and toggle features with database persistence, in-memory drivers, and per-user/team targeting.
Install
bun add @strav/flag
bun strav install flag
Requires @strav/core as a peer dependency.
Setup
import { FlagProvider } from '@strav/flag'
app.use(new FlagProvider())
Usage
import { flag } from '@strav/flag'
if (await flag.active('dark-mode')) {
}
if (await flag.for(user).active('beta-dashboard')) {
}
const limit = await flag.value('upload-limit', 10)
Middleware
import { ensureFeature } from '@strav/flag'
router.get('/beta', ensureFeature('beta-dashboard'), betaHandler)
Drivers
- Database — persistent feature flags in
_strav_features
- Array — in-memory driver for testing
CLI
bun strav flag:setup
Documentation
See the full Flag guide.
License
MIT