From fc9b54d57eeb9e2f034ac5648b4b14138f42cb4a Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Fri, 29 May 2026 02:06:17 +0000 Subject: [PATCH] wiki: add Home page --- Home.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..d1953f9 --- /dev/null +++ b/Home.md @@ -0,0 +1,41 @@ +# k-ap + +Generic ActivityPub protocol layer for Rust services. Wraps [`activitypub_federation`](https://crates.io/crates/activitypub_federation) and provides the plumbing that every AP-enabled service needs: actor management, inbox/outbox routing, follower tracking, WebFinger, NodeInfo, and HTTP signature handling. + +Not domain-specific — no opinions about what your content type looks like. + +--- + +> **New to ActivityPub?** +> Start with the [ActivityPub Primer](ActivityPub-Primer) — a short conceptual introduction to actors, inboxes, follows, and federation before diving into the API. + +> **Know ActivityPub, just need k-ap?** +> Jump straight to [Installation](Installation) and follow the funnel from there. + +--- + +## Pages + +| Page | Description | +|------|-------------| +| [ActivityPub Primer](ActivityPub-Primer) | What AP is, actors, inboxes, follows — concepts only | +| [What k-ap Does (and Doesn't Do)](What-k-ap-Does) | Design philosophy, library vs implementor responsibilities | +| [Installation](Installation) | Gitea registry or git dependency setup | +| [Wiring Up](Wiring-Up) | Builder pattern, axum integration | +| [The Seven Traits](The-Seven-Traits) | All traits explained: what, when, what to implement | +| [Inbound Activity Handling](Inbound-Activity-Handling) | Handled activities, deduplication, mentions, Move | +| [Broadcasts](Broadcasts) | Create, Update, Delete, Announce, Like, actor update | +| [Follow Management](Follow-Management) | Outbound/inbound flows, accept/reject, querying | +| [Routes Reference](Routes-Reference) | All routes, content negotiation pattern | +| [Async Delivery and EventPublisher](Async-Delivery-and-EventPublisher) | Job queue integration, worker methods | +| [Actor Lookup and Remote Outbox](Actor-Lookup-and-Remote-Outbox) | WebFinger lookup, import remote content | +| [Pinned Posts](Pinned-Posts) | Featured collection setup | +| [Migration Guide](Migration-Guide) | 0.1.x → 0.3.0 breaking changes | +| [Contributing](Contributing) | Dev setup, make targets, PR expectations | + +## Real-world implementations + +Both of these services implement all seven traits and were the original sources k-ap was extracted from: + +- [`thoughts`](https://git.gabrielkaszewski.dev/GKaszewski/thoughts) — microblogging service +- [`movies-diary`](https://git.gabrielkaszewski.dev/GKaszewski/movies-diary) — movie logging service \ No newline at end of file