This project is not officially supported by LaunchDarkly.
- In 
entry.server.tsx: 
// import the createProvider function
import { createProvider } from 'remix-sdk/server';
// set async handleRequest
export default async function handleRequest() {
  // create the LDServer with your sdk key and user
  const LDServer = await createProvider(process.env.LD_SDK_KEY, {
    key: 'test',
    anonymous: true,
  });
  // LDServer wraps RemixServer
  let markup = renderToString(
    <LDServer>
      <RemixServer context={remixContext} url={request.url} />
    </LDServer>,
  );
}- In 
entry.client.tsx: 
import { LDBrowser } from 'remix-sdk/client';
hydrate(
  <LDBrowser>
    <RemixBrowser />
  </LDBrowser>,
  document,
);- In 
root.tsx: 
import { LDScript } from 'remix-sdk/shared';
export default function App() {
  // render LDScript in the html head with your clientSideID
  return (
    <html lang="en">
      <head>
        <Meta />
        <Links />
        <LDScript clientSideID={YOUR_CLIENT_SIDE_ID} />
      </head>
    </html>
  );
}- Then 
useFlagsto access flags in any component: 
import { useFlags } from 'remix-sdk/client';
export default function Index() {
  const { 'dev-test-flag': devTestFlag } = useFlags();
  return <>{devTestFlag ? `Welcome to Remix with LaunchDarkly!` : `Welcome to Remix!`}</>;
}To build the sdk and then run the example app follow these steps.
First, install modd:
brew install moddThen, add an example/.env file with your launchdarkly keys:
LD_SDK_KEY=sdk-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
LD_CLIENT_SIDE_ID=xxxxxxxxxxxxxxxxxxxxxxxx
Lastly, run the modd command to execute the modd.conf script:
moddOpen http://localhost:3000 to see your Remix app