Module: Feature Flags
Composable feature flags with pluggable flag stores and AI variant tracking. Ships with in-memory, Redis, and JSON file stores. Supports percentage rollout with deterministic hashing, user allowlists, and property-based targeting rules. Includes a variant tracker for observability pairing.
| Name | module-feature-flags-ts |
| Version | 0.1.0 |
| Category | composable-modules |
| License | Apache-2.0 |
| Persona | engineering |
| Tags | feature-flags, rollout, targeting, typescript |
| Source | templates/module-feature-flags-ts |
Render it
Three front doors, one catalog. Pick whichever suits the caller.
# CLI
npx @nanohype/sdk render module-feature-flags-ts --out ./my-app
# SDK
import { LocalSource, renderTemplate } from "@nanohype/sdk";
const result = await renderTemplate(source, "module-feature-flags-ts", variables);
# MCP — from an agent
get_template({ name: "module-feature-flags-ts" })Prerequisites
| Tool | Version | Why |
|---|---|---|
node | >=22 | Node.js runtime for the feature flags module |
Variables
Required
ProjectNamestring- Kebab-case project name, used as package name and directory Must be lowercase kebab-case starting with a letter.
Optional
Descriptionstring — defaults toFeature flags with AI variant tracking- Short project description for package.json and README
FlagStorestring — defaults tomemory- Default flag store backend (memory, redis, json-file, or a custom name)
IncludeTestsbool — defaults totrue- Include the test suite
What it produces
27 files. Placeholder names such as __APP_NAME__ are what the renderer substitutes into.
.env.example
.gitignore
biome.json
package.json
README.md
src/feature-flags/__tests__/evaluator.test.ts
src/feature-flags/__tests__/store-registry.test.ts
src/feature-flags/__tests__/tracker.test.ts
src/feature-flags/bootstrap.ts
src/feature-flags/config.ts
src/feature-flags/evaluator.ts
src/feature-flags/index.ts
src/feature-flags/logger.ts
src/feature-flags/metrics.ts
src/feature-flags/resilience/__tests__/circuit-breaker.test.ts
src/feature-flags/resilience/circuit-breaker.ts
src/feature-flags/stores/index.ts
src/feature-flags/stores/json-file.ts
src/feature-flags/stores/memory.ts
src/feature-flags/stores/mock.ts
src/feature-flags/stores/redis.ts
src/feature-flags/stores/registry.ts
src/feature-flags/stores/types.ts
src/feature-flags/tracker.ts
src/feature-flags/types.ts
tsconfig.json
vitest.config.tsComposes with
- Pairs with
ts-service - Pairs with
agentic-loop - Pairs with
next-app - Nests inside
monorepo