# Long-form writing on the AT Protocol

## Architecture
![Architecture](docs/architecture.drawio.png)

## Prerequisites

- [Node](https://nodejs.org/en), [pnpm](https://pnpm.io/).
- [`make`](https://www.gnu.org/software/make/).
- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
- [Iframely](https://iframely.com/pricing) for media embeds. Get a free account and grab your API key (client hash).


## Local Development

See `DEV.md`

## Production

See `PROD.md`

## Differences between local (LocalStack) and AWS (production) deployment targets
 
- `create-local-indexer` / `create-local-backfill` pass `AwsEndpointUrl` to point at LocalStack — AWS versions don't need it.
- `update-aws-indexer` has no local equivalent — locally the indexer runs as a process (`run-local-indexer`), not on EC2 via SSM.
- `create-aws-waf` / `create-aws-cloudfront` have no local equivalents — LocalStack doesn't support WAF or CloudFront in all plans.
- `serve-local` via Caddy proxy has no AWS equivalent — on AWS the site is served from CloudFront.
