> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fireweave.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Official FireWeave SDK documentation.
> Product noun is control point. OpenFeature and the wire protocol use flagKey — do not invent controlPointKey.
> Do not invent APIs, packages, env vars, or endpoints. Guardrails are a typed stub (UnsupportedCapability). OpenFeature Tracking (spec section 6) is not implemented.
> registerTarget and identify exist on Node, Python, and Web only. Go and Java have no target-registration API on master.
> sendExposure defaults to false. Java close() does not flush exposures.

# Ship your first change

> Wrap a real change in a FireWeave flag, register the rollout, watch the ramp, and retire flags that are measurably dead.

Part 2 of the [onboarding guide](/onboarding). Finish [Set up FireWeave](/onboarding/setup) first.

The change is whatever you want to make to try a FireWeave rollout — a feature, a bug fix, an optimization. FireWeave wraps it in a flag, a manifest, and a rollout, so it ships gradually with an audit trail instead of all at once.

This is the moment everything above was setting up. Block **45 minutes** and do the first one with us on a call. Pick something real but small.

<Steps>
  <Step title="Write the change">
    **Goal:** The change ships behind a flag, with a manifest your agent can verify against the code.

    Three things are produced together: a **manifest** declaring the flag and its guardrail metrics, the **flag** itself with an anchor comment wherever it's checked, and a **checklist** the agent passes before opening a PR.

    ```js theme={null}
    // @fireweave-flag checkout-express-lane
    if (await fw.flag('checkout-express-lane', { targetingKey: userId })) {
      return renderExpressLane();
    }
    return renderStandardCheckout();
    ```

    * Manifest written **before** the code
    * `// @fireweave-flag` anchor comment at every evaluation site
    * Agent checklist passing

    <Check>
      A PR containing the manifest, the flagged code path, and matching anchor comments.
    </Check>
  </Step>

  <Step title="Ship the change">
    **Goal:** The rollout is registered and your build reaches your environment, where it ramps.

    Register the rollout (makes no code changes):

    ```text theme={null}
    /fireweave:safe-rollout
    ```

    Then deploy through your usual process. If CD is enabled on this repo, there's nothing to do — the merge deploys it.

    <Check>
      On boot the app reports its stamps, and the staging rollout begins ramping.
    </Check>
  </Step>

  <Step title="Watch the ramp">
    Go to the dashboard in the project to see the progress of the rollouts.

    The release agent manages the ramp for you. If you want manual control, the rollout page gives you four options: **Pause**, **Resume**, **Roll forward**, **Roll back**.
  </Step>

  <Step title="Retire the flag">
    **Goal:** Dead flags don't accumulate.

    Run monthly, not per change:

    ```text theme={null}
    /fireweave:cleanup
    ```

    It only proposes flags that are measurably dead, and removes nothing without your confirmation.

    <Check>
      A confirmed list of removed flags, with the manifests and code paths cleaned up alongside them.
    </Check>
  </Step>
</Steps>

## After your first rollout

* Language APIs and production config: [Quickstart](/quickstart), [Configuration](/production/configuration)
* How evaluation, targeting, and releases work in the SDK: [How it works](/introduction/how-it-works), [Control points](/concepts/control-points)
