> ## Documentation Index
> Fetch the complete documentation index at: https://herwaka.shesharp.org.nz/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Up Your Tools

> Get all accounts and tools ready before building your daily report bot.

Before we start building, let's make sure you have everything you need. This page walks you through each account and tool, step by step.

<Warning>
  **You will need**: a laptop with internet access. No coding experience is required — we will guide you through every step.
</Warning>

## Step-by-Step Setup

<Steps>
  <Step title="Create or log into your GitHub account">
    GitHub is where your code lives and where the bot will run automatically each morning.

    1. Go to [github.com](https://github.com)
    2. Click **Sign up** if you don't have an account, or **Sign in** if you do
    3. Follow the prompts to create your account (free plan is fine)

    <Tip>
      Choose a professional username — it's visible to employers and colleagues.
    </Tip>
  </Step>

  <Step title="Install Claude Code">
    Claude Code is the AI coding assistant that will write all the code for us. It runs in your terminal.

    Open your terminal (Terminal on Mac, PowerShell or Git Bash on Windows) and run:

    ```bash title="Copy this command" theme={null}
    npm install -g @anthropic-ai/claude-code
    ```

    Then start it by typing:

    ```bash title="Copy this command" theme={null}
    claude
    ```

    Follow the on-screen instructions to log in with your Anthropic account.

    <Accordion title="What if I don't have npm?">
      `npm` comes with Node.js. Download and install Node.js from [nodejs.org](https://nodejs.org) (choose the LTS version). After installing, close and reopen your terminal, then try the install command again.
    </Accordion>
  </Step>

  <Step title="Install Claude in Chrome">
    Claude in Chrome is a browser extension that helps you research documentation and debug errors without leaving your browser.

    1. Open Chrome and go to the [Chrome Web Store](https://chromewebstore.google.com)
    2. Search for **"Claude"** by Anthropic
    3. Click **Add to Chrome**
    4. Pin it to your toolbar for easy access
  </Step>

  <Step title="Get an OpenAI API key">
    The bot uses OpenAI's API to turn your git commits into a human-readable daily update.

    1. Go to [platform.openai.com](https://platform.openai.com)
    2. Sign up or log in
    3. Navigate to **API keys** (in the left sidebar or under your profile)
    4. Click **Create new secret key**
    5. Give it a name like `daily-report-bot`
    6. **Copy the key immediately** — you won't be able to see it again
    7. Save it somewhere safe (a password manager is ideal)

    <Accordion title="What is an API key?">
      An API key is like a password that lets your code talk to an external service. When your bot needs OpenAI to summarise your commits, it sends the API key along with the request so OpenAI knows who's asking and can charge the right account. Keep your API key secret — anyone with it can use your account.
    </Accordion>

    <Note>
      OpenAI gives new accounts a small amount of free credit. For this project, you will spend only a few cents per month — each daily report costs roughly \$0.01.
    </Note>
  </Step>

  <Step title="Create a Slack app and webhook">
    A webhook is the address your bot sends messages to. We'll create two: one for testing and one for production.

    <Accordion title="What is a webhook?">
      A webhook is a URL that accepts incoming messages. When your bot sends data to this URL, Slack automatically posts it as a message in the channel you chose. Think of it as a letterbox — your bot drops a letter in, and Slack delivers it to the right room.
    </Accordion>

    **Create the Slack app:**

    1. Go to [api.slack.com/apps](https://api.slack.com/apps)
    2. Click **Create New App** → **From scratch**
    3. Name it `Daily Report Bot`
    4. Select your workspace
    5. Click **Create App**

    **Add incoming webhooks:**

    1. In your app settings, click **Incoming Webhooks** in the left sidebar
    2. Toggle **Activate Incoming Webhooks** to **On**
    3. Click **Add New Webhook to Workspace**
    4. Choose a **test channel** (e.g. `#bot-testing`) and click **Allow**
    5. Copy the webhook URL — this is your **test webhook**
    6. Repeat steps 3–5, but choose your **production channel** (e.g. `#daily-standup`) — this is your **production webhook**

    Save both URLs somewhere safe.

    <Warning>
      Never commit webhook URLs to your code. We will store them as GitHub secrets later.
    </Warning>
  </Step>

  <Step title="Create a GitHub repository">
    This is where your bot's code will live.

    1. Go to [github.com/new](https://github.com/new)
    2. Name it `daily-report-bot`
    3. Set it to **Private** (recommended, since it will contain your work commits)
    4. Tick **Add a README file**
    5. Click **Create repository**

    Then clone it to your computer:

    ```bash title="Copy this command" theme={null}
    git clone https://github.com/YOUR-USERNAME/daily-report-bot.git
    cd daily-report-bot
    ```

    Replace `YOUR-USERNAME` with your actual GitHub username.
  </Step>

  <Step title="Install Wispr Flow (optional — voice input)">
    Wispr Flow lets you speak your prompts to Claude Code instead of typing them. Your voice is converted to text that flows directly into the terminal — Claude Code sees it the same way as typed input.

    <Info>
      **This step is optional.** Wispr Flow lets you speak instead of type — handy if you prefer talking over typing. Skip this step if you'd rather type your prompts.
    </Info>

    <Tip>
      **Sign up using this invite link to get a free month of Pro:**
      [https://wisprflow.ai/r?CHAN115](https://wisprflow.ai/r?CHAN115)

      Both you and the tutorial author benefit — you get a free month of Pro, and they get a free month when you dictate 2,000 words!
    </Tip>

    1. **Sign up** at [wisprflow.ai/r?CHAN115](https://wisprflow.ai/r?CHAN115)
    2. **Download and install** the app for your operating system
    3. **Configure settings** — enable these options for the best experience:
       * Experimental > **Command Mode** — Enable advanced voice commands
       * **Press Enter Command** — Automatically press enter when you say "press enter"
       * **Bulk Import** — Import snippets and dictionary items

    <Accordion title="What is Wispr Flow?">
      Wispr Flow is a voice-to-text tool that lets you dictate instead of type. It works in any application, including your terminal. Instead of typing a long prompt to Gemini CLI, you can just say it out loud. This is especially useful if you find typing slow or tiring.
    </Accordion>

    <Tip>
      **Why voice input for coding?** When you're describing features, business logic, or debugging issues to Claude Code, speaking is often faster and more natural than typing. You can talk through what you want as if explaining to a colleague — Wispr Flow handles the transcription, and Claude Code handles the code.
    </Tip>
  </Step>
</Steps>

## Verify Your Setup

Before moving on, check that everything is ready:

<AccordionGroup>
  <Accordion title="GitHub account">
    You can log into [github.com](https://github.com) and see your new `daily-report-bot` repository.
  </Accordion>

  <Accordion title="Claude Code">
    Run `claude --version` in your terminal. You should see a version number.
  </Accordion>

  <Accordion title="Claude in Chrome">
    You see the Claude icon in your Chrome toolbar. Clicking it opens the extension.
  </Accordion>

  <Accordion title="OpenAI API key">
    You have an API key saved somewhere safe (it starts with `sk-`).
  </Accordion>

  <Accordion title="Slack webhooks">
    You have two webhook URLs saved: one for your test channel and one for your production channel.
  </Accordion>

  <Accordion title="Repository cloned">
    You have the `daily-report-bot` folder on your computer and can `cd` into it.
  </Accordion>

  <Accordion title="Wispr Flow (optional)">
    Wispr Flow is running and you can see your spoken words appear as text in any application.
  </Accordion>
</AccordionGroup>

<Note>
  All set? Head to [Build it with Claude Code](/tutorial/vibe-coding/build-with-claude) — the fun part.
</Note>
