Skip to content

🎯 Bounty: Flags SDK Adapter + Server-Side Feature Flags + Advanced Flag Features #190

@izadoesdev

Description

@izadoesdev

🎯 Bounty: Flags SDK Adapter + Server-Side Feature Flags + Advanced Flag Features

Overview

This bounty requires implementing a Databuddy adapter for the Flags SDK, adding server-side feature flag support, and implementing advanced feature flag capabilities. The work must be completed and merged into the Flags SDK repository.

Requirements

1. Flags SDK Adapter (Required)

Create a Databuddy adapter for the Flags SDK, but do NOT open a PR for it until approved

Acceptance Criteria:

  • ✅ Adapter follows Flags SDK conventions and works with supported frameworks

2. Server-Side Feature Flags (Required)

Add Node.js server-side SDK for feature flags evaluation.

Acceptance Criteria:

  • @databuddy/sdk/node export for feature flags
  • ✅ Works in Next.js server components, API routes, and middleware
  • ✅ Works in serverless environments with proper caching
  • ✅ Type-safe API with full TypeScript support

3. Multi-Variant Support (Required)

Support multi-variant flags (not just boolean) with string, number, or object variants.

Acceptance Criteria:

  • ✅ Flags can have string, number, or object variants
  • ✅ Variant distribution percentages supported
  • ✅ Sticky assignment ensures consistent variant per user
  • ✅ Works in both client and server SDKs
  • ✅ Dashboard UI allows variant configuration

4. Flag Dependencies / Prerequisites (Required)

Support flag dependencies and prerequisite logic.

Acceptance Criteria:

  • ✅ Flags can declare dependencies on other flags
  • ✅ Dependent flags are automatically disabled if prerequisite is disabled
  • ✅ Circular dependencies are detected and prevented
  • ✅ Dashboard shows dependency relationships

5. Scheduled Flag Changes (Required)

Support scheduled flag changes and gradual rollouts.

Acceptance Criteria:

  • ✅ Flags can be scheduled to enable/disable at specific times
  • ✅ Gradual rollout schedules supported (e.g., 10% → 50% → 100% over time)
  • ✅ Schedule evaluation happens automatically
  • ✅ Timezone-aware scheduling works correctly
  • ✅ Dashboard shows schedule timeline

6. Multi-Environment Flag Contexts (Required)

Support separate flag contexts for different environments (dev, staging, prod).

Acceptance Criteria:

  • ✅ Flags can have environment-specific configurations
  • ✅ API evaluates flags based on environment context
  • ✅ SDKs automatically pass environment context
  • ✅ Dashboard clearly shows environment separation
  • ✅ Prevents cross-environment flag operations

Technical Requirements

  • TypeScript with strict type checking
  • Follow existing codebase patterns and conventions
  • Comprehensive error handling and test coverage
  • Backward compatibility maintained
  • Documentation for all new features

Submission Requirements

  • Flags SDK adapter is ready to be PR'd
  • All Databuddy code changes in Databuddy repository
  • Documentation updated
  • Test coverage for all features
  • Include link to merged Flags SDK PR

Timeline

  • Bounty Duration: TBD
  • Expected Completion: Within 30 days of acceptance

Questions?

Open an issue in this repository with the bounty label for questions about requirements or clarification.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions