# Set up with AI

> Copy a prompt that lets a coding assistant run the 3 steps or debug errors.

Paste one prompt into Claude Code, Codex, Cursor or another coding assistant that runs shell commands. It walks you through the 3 steps one at a time, and shows you each command and what it costs before it runs anything.

:::danger[Keep two things out of the chat]
Your recovery phrase and any private key: the assistant never needs them. Your Hetzner token: keep it in `HCLOUD_TOKEN` in your own shell.
:::

## Run all 3 steps

Set your Hetzner token in a terminal, then start the assistant from that terminal. The commands it runs read the token from there, so it never enters the chat:

```bash title="your computer"
printf 'Hetzner token: '; stty -echo; read -r HCLOUD_TOKEN; stty echo; echo; export HCLOUD_TOKEN
```

Then paste this:

Prompt for a coding assistant:

```text
Set up RunFarcaster for me: fetch https://sudharshanx.github.io/runfarcaster/agent.md and walk me through the steps. Show me each command and what it costs before you run it.
```

The assistant reads the [guided install](https://sudharshanx.github.io/runfarcaster/agent.md): a short page of facts and steps written for it. It checks your tools and shows the price for free, then goes step by step, and skips anything you decline.

### Renting and deleting are your call

Two steps change your Hetzner bill: renting the server and deleting it. For each one, the assistant shows you the command and the price, then you choose. It can run the command once you say yes, or you can paste it into your own terminal and share the output. Either works, and some assistants suggest the second on their own. Everything in between (starting the node, putting the app on the server, checking the sync) the assistant runs for you, asking before each step.

If you run them yourself, in the `runfarcaster` folder, these are the two commands. Put your SSH key's name in place of `my-key`, and use the same `NAME` as the assistant:

```bash title="your computer"
MY_IP=$(curl -4 -s https://ifconfig.me)
echo "$MY_IP"
export NAME=snapchain-read-node
IP=$(SSH_KEY=my-key SERVER_TYPE="" VOLUME_GB=1000 WATCHDOG=0 \
  SSH_SOURCE_CIDRS="$MY_IP/32" ./provision.sh)
```

```bash title="your computer"
CONFIRM="$NAME" ./teardown.sh
```

The assistant then finds the server itself with `IP=$(hcloud server ip "$NAME")`. Until you delete it, Hetzner keeps billing: on cax31 with IPv4 and the 1000 GB volume, $0.164 an hour and at most $102.29 a month.

### The longer prompt

This one installs the RunFarcaster skill first and follows it through the same 3 steps:

Prompt for a coding assistant:

```text
Set up RunFarcaster with me: a Hetzner server that runs my own Snapchain read node, plus a web app on that server that reads and posts through it.
Guide: https://sudharshanx.github.io/runfarcaster/  Repo: https://github.com/sudharshanx/runfarcaster (MIT)

1. Install the RunFarcaster skill, then open its SKILL.md and follow it. It has the 3 steps, the expected output, the fixes and the rules:
   npx skills add sudharshanx/runfarcaster --skill runfarcaster -y
   If you cannot install skills, read https://sudharshanx.github.io/runfarcaster/llms.txt and the Full run page it links (https://sudharshanx.github.io/runfarcaster/quickstart.md), and follow those.
2. Take me from an empty Hetzner project to a synced node with the app in front of it: step 1 provision.sh, step 2 node.sh, step 3 deploy-client.sh. Run one step at a time, show me the real output, and wait for my OK before the next.
3. After each step, tell me what you got: the server type and hourly price, the server IP, sync progress (blockDelay per shard), then the https address of the app.
4. Run teardown.sh only when I ask for it.
5. For provision.sh and teardown.sh, show me the exact command and what it costs, then let me choose: you run it once I say yes, or I paste it into my own terminal and share the output. Either works. If I ran step 1, get the IP with IP=$(hcloud server ip "$NAME").

Rules for you:
- Never ask for my recovery phrase (also called a seed phrase) or for any private key, and refuse one if I paste it. Tell me to stop, and to treat that account as exposed.
- Never print, log or echo HCLOUD_TOKEN or any other token. Read it from the environment only.
- Ask me before you run teardown.sh, delete anything, or change MAX_USD.
- Show me real output only. If a command fails, show the exact error and stop.
```

The skill holds the commands, the expected output, the fixes and the safety rules. An assistant that cannot install skills reads [`llms.txt`](https://sudharshanx.github.io/runfarcaster/llms.txt) and the [Full run](https://sudharshanx.github.io/runfarcaster/quickstart/) instead.

## The skill

The longer prompt runs this command. To install the skill yourself, run it in your project folder:

```bash
npx skills add sudharshanx/runfarcaster --skill runfarcaster
```

Add `-g` to install it for every project, or `-y` to skip the questions about which agents get it. It uses the open [Agent Skills](https://agentskills.io/) format, which Claude Code, Cursor, Codex and other agents load. A skill runs with your agent's permissions; the files are in [skills/runfarcaster/](https://github.com/sudharshanx/runfarcaster/tree/main/skills/runfarcaster/).

## Debug an error

Fill in the angle brackets. Take tokens, IP addresses and hostnames out of the output first.

Prompt for a coding assistant:

```text
Context: I am following the RunFarcaster guide (3 commands: a Hetzner server running a Snapchain read node, and a web app that reads and posts through it).
Repo: https://github.com/sudharshanx/runfarcaster (MIT). I cloned it to my computer (git clone https://github.com/sudharshanx/runfarcaster, then cd runfarcaster) and run every command from that folder. Scripts: provision.sh (step 1), node.sh (step 2), deploy-client.sh (step 3), teardown.sh, and watchdog.sh (optional).
Server name: export NAME=snapchain-read-node (or another name I pick), in every terminal; all steps and teardown.sh use it. In any new terminal, get the server IP again with: IP=$(hcloud server ip "$NAME")

I am on step <1 rent a server | 2 start the node | 3 open the app | teardown>.
The exact command I ran:
<paste command>

What it printed (tokens, IPs and hostnames removed):
<paste output>

What the guide said I should see: <expected output>

Tell me the most likely cause, based on the repo scripts and the guide's Fix a problem page, and give me one next command to run. Stay with what the output shows.

Rules for you:
- Never ask for my recovery phrase (also called a seed phrase) or for any private key, and refuse one if I paste it. Tell me to stop, and to treat that account as exposed.
- Never print, log or echo HCLOUD_TOKEN or any other token. Read it from the environment only.
- Ask me before you run teardown.sh, delete anything, or change MAX_USD.
- Show me real output only. If a command fails, show the exact error and stop.
```

## Ask about an idea

Prompt for a coding assistant:

```text
Context: I am following the RunFarcaster guide (3 commands: a Hetzner server running a Snapchain read node, and a web app that reads and posts through it).
Repo: https://github.com/sudharshanx/runfarcaster (MIT). I cloned it to my computer (git clone https://github.com/sudharshanx/runfarcaster, then cd runfarcaster) and run every command from that folder. Scripts: provision.sh (step 1), node.sh (step 2), deploy-client.sh (step 3), teardown.sh, and watchdog.sh (optional).
Server name: export NAME=snapchain-read-node (or another name I pick), in every terminal; all steps and teardown.sh use it. In any new terminal, get the server IP again with: IP=$(hcloud server ip "$NAME")

Task: answer a question about the guide. Use only these sources, and say which one each claim comes from:
- https://snapchain.farcaster.xyz/node-types (read nodes and validators; read nodes pass messages on and keep no mempool)
- https://snapchain.farcaster.xyz/guides/writing-messages (gasless KEY_ADD, live on mainnet since engine version V16 on 2026-05-07)
- https://snapchain.farcaster.xyz/reference/httpapi/httpapi (HTTP API)
- The repo files SOURCES.md and client/src/*.ts
Question: <my question>

Rules for you:
- Never ask for my recovery phrase (also called a seed phrase) or for any private key, and refuse one if I paste it. Tell me to stop, and to treat that account as exposed.
- Never print, log or echo HCLOUD_TOKEN or any other token. Read it from the environment only.
- Ask me before you run teardown.sh, delete anything, or change MAX_USD.
- Show me real output only. If a command fails, show the exact error and stop.
```

The whole site as plain text: [`llms.txt`](https://sudharshanx.github.io/runfarcaster/llms.txt) (summary) and [`llms-full.txt`](https://sudharshanx.github.io/runfarcaster/llms-full.txt) (every page in Markdown).
