# shipd > Feature flags, toggles, and experiments with config-as-code and type-safe SDKs. ## Docs - [shipd](https://docs.useshipd.com/index.md): Feature flags, toggles, and experiments with config-as-code and type-safe SDKs. - [Quickstart](https://docs.useshipd.com/quickstart.md): From zero to an evaluated flag: define new-checkout, push it, check it in code. - [Define flags in code](https://docs.useshipd.com/guides/define-flags.md): Author feature flags in shipd.config.ts and sync them with shipd push. - [Evaluate flags in your app](https://docs.useshipd.com/guides/evaluate-flags.md): Create a shipdit client, wait for ready(), and read flags in memory. - [Target users](https://docs.useshipd.com/guides/target-users.md): Identify a user, pass traits, and evaluate flags with sticky bucketing. - [Use shipd in React](https://docs.useshipd.com/guides/react.md): Bind typed hooks once, wrap the tree, and read flags in components. - [Sync flags in CI](https://docs.useshipd.com/guides/ci.md): Push shipd.config.ts from GitHub Actions with a management API key. - [Create a boolean flag](https://docs.useshipd.com/how-to/create-a-boolean-flag.md): Add an on/off toggle in shipd.config.ts and read it with isEnabled. - [Create a variant flag](https://docs.useshipd.com/how-to/create-a-variant-flag.md): Add an experiment with named variants and read it with getVariant. - [Create number and JSON flags](https://docs.useshipd.com/how-to/create-number-and-json-flags.md): Ship numeric knobs and JSON payloads beside boolean and variant flags. - [Identify users](https://docs.useshipd.com/how-to/identify-users.md): Set the default evaluation identity and clear it on logout. - [Use React hooks](https://docs.useshipd.com/how-to/use-react-hooks.md): Wire ShipdProvider and read typed flags from components. - [Push flags from CI](https://docs.useshipd.com/how-to/push-from-ci.md): Apply shipd.config.ts with a management API key and skip prompts. - [Resolve a push conflict](https://docs.useshipd.com/how-to/resolve-a-conflict.md): Recover from a stale-version 409 without clobbering production. - [Publish a snapshot](https://docs.useshipd.com/how-to/publish-a-snapshot.md): Rebuild the environment snapshot from Postgres and push it to the data plane. - [Architecture](https://docs.useshipd.com/concepts/architecture.md): Control plane, data plane, and local SDK evaluation. - [Local evaluation](https://docs.useshipd.com/concepts/local-evaluation.md): Why flag checks never wait on the network, and what happens when the edge is down. - [Organizations, projects, environments](https://docs.useshipd.com/concepts/environments.md): How tenancy, production gating, and per-env defaults work. - [Snapshots](https://docs.useshipd.com/concepts/snapshots.md): The evaluation payload SDKs download from the edge. - [defineFlags](https://docs.useshipd.com/reference/config.md): Authoring API for shipd.config.ts — types, defaults, tags, lifecycle. - [CLI](https://docs.useshipd.com/reference/cli.md): shipd command-line interface: auth, pull, diff, push, types, snapshots. - [SDK](https://docs.useshipd.com/reference/sdk.md): shipdit runtime: createClient, evaluation, identify, React, versions. - [Edge API](https://docs.useshipd.com/reference/edge-api.md): Data-plane HTTP and WebSocket routes the SDK uses. ## Optional - [Dashboard](https://app.useshipd.com)