Files
Outpost/README.md
T

48 lines
2.4 KiB
Markdown

# Outpost
A native Apple ecosystem client for [Outline](https://github.com/outline/outline) — built for iOS, iPadOS, and macOS from a single SwiftUI codebase, aiming for full editing parity with Outline's web app, including realtime collaborative editing.
## Why
Outline's web app is great, but there's no native Apple client with full editing parity. This project connects to a self-hosted Outline instance over its REST API and realtime collaboration socket to provide a proper native experience across the Apple ecosystem.
## Status
Early development. See `CLAUDE.md` for the current architecture and phased build plan.
- [ ] Phase 1 — Auth, browse, search, REST-only editing
- [ ] Phase 2 — Realtime collaborative editing (Yjs/Hocuspocus)
- [ ] Phase 3 — Offline cache, tables, embeds, comments, macOS polish
## Requirements
- Xcode 16+
- iOS 17+ / iPadOS 17+ / macOS 14+
- A self-hosted (or hosted) Outline instance with API access
> They will be updated. These are old requirements.
## Setup
1. Clone the repo and open the `.xcodeproj` in Xcode.
2. Generate a scoped API key on your Outline instance (Settings → API Keys).
3. On first launch, enter your instance URL and API key — these are stored in Keychain, never in app config or source.
## Architecture
See [`CLAUDE.md`](./CLAUDE.md) and [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) for the full technical breakdown: REST layer, Yjs/Hocuspocus realtime sync via [YSwift](https://github.com/y-crdt/yswift), and the ProseMirror-schema-to-native-editor mapping.
## Disclaimer
This project is being built to solve a personal problem — I wanted a genuinely good native knowledge-base client for my own self-hosted Outline instance and none of the existing options fit. It's a personal-use tool first, not a polished product with support guarantees.
Parts of this codebase are AI-assisted (built with the help of AI coding tools). Treat that however you like — review, use, fork, or ignore the code accordingly. No warranty of quality, security, or fitness for any particular use is implied beyond what's stated in the license below.
## License
This project is a client only — it does not include, vendor, or redistribute any of Outline's (BSL 1.1 licensed) server source. See [`LICENSE`](./LICENSE) for this repository's own license.
## Not affiliated with Outline
This is an independent, unofficial client. Not affiliated with or endorsed by General Outline, Inc.