# Swiftjective-C agent integration guide

Swiftjective-C is Jordan Morgan's public blog about Swift, SwiftUI, UIKit, Apple platforms, and independent app development. Its content interfaces are public and read-only.

## Start here

- Site and article index: https://www.swiftjectivec.com/llms.txt
- Developer documentation: https://www.swiftjectivec.com/developers
- OpenAPI 3.1 specification: https://www.swiftjectivec.com/openapi.json
- XML sitemap: https://www.swiftjectivec.com/sitemap.xml
- JSON Feed: https://www.swiftjectivec.com/feed.json

## Retrieve content

Send `Accept: text/markdown` to a canonical page URL to receive Markdown with `Content-Type: text/markdown; charset=utf-8` and `Vary: Accept`. Direct Markdown mirrors are also available by removing a trailing slash and appending `.md`; for example, `/about` maps to `/about.md`.

Use `GET /api/posts?limit=20` for structured recent-post metadata. The optional integer limit is 1 through 50. No authentication or API key is required. Errors use JSON objects with `code`, `message`, and `resolution` fields.

## Boundaries

There are no write operations, accounts, private datasets, webhooks, MCP server, or officially distributed CLI. Respect normal HTTP caching and avoid unnecessary repeated requests. Attribute quoted or summarized writing to Jordan Morgan and retain canonical article links.

If a URL returns 404, recover through `/llms.txt`, `/sitemap.xml`, or the complete archive at `/allPosts.html`.
