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

# Get started

> Connect GitHub, then send your first task.

export const TryInCodesmith = ({prompt, label, result, linkHref, linkText}) => {
  const href = `https://app.blacksmith.sh/sessions/new?prompt=${encodeURIComponent(prompt)}&entry=docs`;
  return <div className="try-codesmith not-prose">
      {label && <span className="try-codesmith-label">{label}</span>}
      <p>{prompt}</p>
      {result && <p className="try-codesmith-result">
          <span>You get back:</span> {result}
        </p>}
      <div className="try-codesmith-actions">
        {linkHref && <a className="try-codesmith-link" href={linkHref}>
            {linkText} →
          </a>}
        <a className="try-codesmith-button" href={href} target="_blank" rel="noopener noreferrer">
          <span>Try it in [code]smith</span>
          <span aria-hidden="true">→</span>
        </a>
      </div>
    </div>;
};

\[code]smith is a coding agent that works in its own cloud environment and opens pull requests. Connect it to your code, give it a task, and close your laptop.

<Steps>
  <Step title="Connect" id="connect">
    <div className="get-started-connect">
      <div>
        <Frame>
          <video autoPlay loop muted playsInline className="codesmith-page-video" src="https://mintcdn.com/blacksmith/nbjvrnrvcCRYe1_Q/images/codesmith/build.mp4?fit=max&auto=format&n=nbjvrnrvcCRYe1_Q&q=85&s=eee33b91bbec13b0250590236d1d2154" title="[code]smith on GitHub" data-path="images/codesmith/build.mp4" />
        </Frame>

        <p className="get-started-connect-title">GitHub</p>
        <p><a href="https://app.blacksmith.sh" target="_blank" rel="noopener noreferrer">Install the Blacksmith GitHub App</a> and choose which repositories it can access.</p>
      </div>

      <div>
        <Frame>
          <video autoPlay loop muted playsInline className="codesmith-page-video" src="https://mintcdn.com/blacksmith/nbjvrnrvcCRYe1_Q/images/codesmith/slack.mp4?fit=max&auto=format&n=nbjvrnrvcCRYe1_Q&q=85&s=e19396a4d81ddbdca160914a440f8023" title="[code]smith on Slack" data-path="images/codesmith/slack.mp4" />
        </Frame>

        <p className="get-started-connect-title">Slack <span>Optional</span></p>
        <p><a href="https://slack.com/oauth/v2/authorize?client_id=6405844366960.10016658702295&scope=assistant:write,app_mentions:read,channels:history,channels:join,channels:read,chat:write,files:read,files:write,groups:history,groups:read,im:history,im:read,im:write,mpim:history,mpim:read,reactions:read,reactions:write,users:read&user_scope=" target="_blank" rel="noopener noreferrer">Add \[code]smith to Slack</a>, then mention @codesmith in any channel or thread.</p>
      </div>
    </div>

    Once GitHub is connected, you can also start from the [web app](https://app.blacksmith.sh/sessions/new?entry=docs) or by mentioning @codesmith on a pull request.
  </Step>

  <Step title="Send a first task" id="send-a-first-task">
    <TryInCodesmith label="Small" prompt="Find the flakiest test in this repo, fix it, and show me it passing 20 times in a row." result="1 PR and the test log." linkHref="/codesmith/examples#video-proof" linkText="See video proof" />

    <TryInCodesmith label="Medium" prompt="Find the slowest page in our web app, fix what makes it slow, and show before and after numbers." result="1 PR and a before/after table." linkHref="/codesmith/examples#frame-budget" linkText="See a performance target" />

    <TryInCodesmith label="Big" prompt="Pick a page in our app that could look better. Build five different versions and show me a screenshot of each so I can pick one." result="5 screenshots, then 1 PR for your pick." linkHref="/codesmith/examples#five-versions" linkText="See five versions" />
  </Step>

  <Step title="What happens next" id="what-happens-next">
    It works in its own environment and opens a pull request. It watches that PR and pushes fixes when CI fails or a reviewer comments. Click "Autofix with \[code]smith" in any other PR's footer to turn that on there. You review and merge; it never merges for you.
  </Step>
</Steps>

[Connect your other tools](/codesmith/integrations) so \[code]smith can use them during a task.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.