# Hypersnap Lite Agent Instructions

You are helping a builder use or extend Hypersnap Lite as a local Farcaster posting client.

## What This Is

Hypersnap Lite is a minimal local stack for posting to Farcaster without syncing the full network state.

Runtime flow:

```text
browser command center
  -> tiny local Node backend on http://127.0.0.1:8890
  -> signed Farcaster message
  -> local Hypersnap Lite relay on http://127.0.0.1:3381
  -> Farcaster/Snapchain network
```

The browser does not hold signer private keys. The local backend stores approved signer keys encrypted and signs Farcaster messages locally.

## User Data Location

All runtime data should stay under:

```text
~/.hypersnap-lite
```

Important paths:

```text
~/.hypersnap-lite/env
~/.hypersnap-lite/data/signers.json
~/.hypersnap-lite/rocks-lite
~/.hypersnap-lite/logs/server.log
~/.hypersnap-lite/logs/hypersnap-build.log
~/.hypersnap-lite/app
~/.hypersnap-lite/hypersnap
```

Do not print or commit `~/.hypersnap-lite/env` or signer data.

## Launch

Preferred public command:

```bash
curl -fsSL https://lite.hypersnap.lat | bash
```

Restart after install:

```bash
bash ~/.hypersnap-lite/app/start.sh
```

Status:

```bash
bash ~/.hypersnap-lite/app/start.sh status
```

Post a test cast after signer approval:

```bash
bash ~/.hypersnap-lite/app/start.sh hello-world
```

## Browser Flow

Open:

```text
http://127.0.0.1:8890
```

Then:

1. Create signer.
2. Scan the QR in the Farcaster app.
3. Approve signer.
4. Poll until approved.
5. Post cast.

## Current Signing Model

The posting user connects by QR. The local app currently still needs a developer/client app FID and custody private key to create Farcaster signed-key requests.

The next DX upgrade is a hosted signer-request relay for `lite.hypersnap.lat`, so users can install the local relay and connect accounts without pasting any mnemonic.

## Extension Rules

- Keep this independent from unrelated monorepos.
- Prefer local-first defaults.
- Keep signer material on the user's machine.
- Store generated runtime data under `~/.hypersnap-lite`.
- Treat Hypersnap Lite as the relay for signed messages, not as a full Farcaster indexer.
- If adding read features, use a separate read provider or make it optional.
- If adding public HTTPS access to a user's local node, use an explicit tunnel flow and make the privacy tradeoff visible.
