Skip to main content

Start Here

Konditional is a Kotlin-first feature/configuration framework for teams that want compile-time typing and deterministic evaluation behavior.

Feature declarations are modeled through namespace-owned typed feature definitions.

Runtime configuration ingestion is exposed through a snapshot loader that returns Result and preserves typed parse failures.

import io.amichne.konditional.api.evaluate
import io.amichne.konditional.context.AppLocale
import io.amichne.konditional.context.Context
import io.amichne.konditional.context.Platform
import io.amichne.konditional.context.Version
import io.amichne.konditional.core.Namespace
import io.amichne.konditional.core.id.StableId

enum class CheckoutVariant { CLASSIC, SMART }

object AppFeatures : Namespace("app") {
val checkoutVariant by enum<CheckoutVariant, Context>(default = CheckoutVariant.CLASSIC)
}

val ctx = Context(
locale = AppLocale.UNITED_STATES,
platform = Platform.IOS,
appVersion = Version.of(1, 0, 0),
stableId = StableId.of("user-123"),
)

val variant: CheckoutVariant = AppFeatures.checkoutVariant.evaluate(ctx)

Who This Fits

Konditional is a fit when your team wants typed declarations in code, deterministic rollouts, and explicit JSON boundary handling instead of dynamic string-key control planes.

Next Steps

Claim Coverage

Claim IDStatement
CLM-PR01-01AKonditional models feature declarations through namespace-owned typed feature definitions.
CLM-PR01-01BRuntime configuration ingestion is exposed through a snapshot loader that returns Result and supports typed parse failures.