Lese-App ohne Algorithmus, ohne Werbung, ohne Tracking — Links speichern, in Ruhe lesen, markieren. AGPL-3.0. Spiegel des Vereins mana.
Find a file
Till JS 11e132d3a1 Auch die Apps sind offen: Verweise auf pageta-native und pageta-android
README, llms.txt und der Blog-Beitrag nennen jetzt alle drei offenen
Repos unter git.mana.how/offen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 13:25:05 +02:00
.github/workflows Rebrand lesen → pageta (Code-Refactor, Phase 1) 2026-05-18 12:06:12 +02:00
apps Auch die Apps sind offen: Verweise auf pageta-native und pageta-android 2026-09-30 13:25:05 +02:00
devlog Bestand einmal durch prettier 2026-09-05 13:09:23 +02:00
docs fix(web): Umlaute im Bookmarklet-Weg nicht mehr verlieren 2026-09-14 16:28:08 +02:00
infrastructure fix(infra): mana-llm intern statt über den Tunnel 2026-07-29 20:03:07 +02:00
packages/pageta-domain Bestand einmal durch prettier 2026-09-05 13:09:23 +02:00
vendor feat: Quellen-Hub — Blog-Artikel als Quelle erkennen und bündeln 2026-07-23 15:29:25 +02:00
.fallowrc.json chore: .fallowrc.json — verifizierte fallow-FP-Suppressions 2026-06-04 19:41:50 +02:00
.gitignore feat(secrets): SOPS+age — verschlüsselte Secrets in Git + deploy.sh 2026-05-30 17:09:55 +02:00
.npmrc Fixes 6-11: Logout-Hygiene, Race, Duplicate-UX, vendored shared-rss, manifest-CI 2026-05-17 17:22:28 +02:00
.prettierignore chore: generierte i18n-Strings von Prettier ausnehmen 2026-07-25 14:10:44 +02:00
.prettierrc.json λ-0 bis λ-4: lesen Standalone-Reader-Webapp, lokal grün 2026-05-16 03:01:03 +02:00
.sops.yaml feat(secrets): SOPS+age — verschlüsselte Secrets in Git + deploy.sh 2026-05-30 17:09:55 +02:00
app-manifest.json fix(manifest): base_url zeigte auf die Web- statt die API-Domain 2026-07-31 18:02:57 +02:00
CLAUDE.md sync2: der serverseitige Schreibpfad verschluesselt jetzt auch 2026-08-02 03:00:54 +02:00
COPYRIGHT Quelloffnung vorbereitet: AGPL-Lizenz, README, Blog mit Ankündigungs-Entwurf 2026-09-29 23:04:15 +02:00
deploy.sh deploy: Selbstheilung + Tür-Check (Generat) 2026-08-11 16:38:59 +02:00
docker-compose.yml Rebrand lesen → pageta (Code-Refactor, Phase 1) 2026-05-18 12:06:12 +02:00
LICENSE Quelloffnung vorbereitet: AGPL-Lizenz, README, Blog mit Ankündigungs-Entwurf 2026-09-29 23:04:15 +02:00
package.json fix(web): UI-Korrekturabzug 2026-07-26 — 30 von 37 Befunden 2026-07-26 23:49:51 +02:00
pnpm-lock.yaml Landing: @mana/marketing-kit 0.22.6 — Scan-Auftritt nach einem Papier-Scan 2026-09-25 18:18:29 +02:00
pnpm-workspace.yaml λ-0 bis λ-4: lesen Standalone-Reader-Webapp, lokal grün 2026-05-16 03:01:03 +02:00
README.md Auch die Apps sind offen: Verweise auf pageta-native und pageta-android 2026-09-30 13:25:05 +02:00
STATUS.md Listen-Import gebaut — die Landing versprach ihn seit Monaten 2026-09-05 12:53:25 +02:00
tsconfig.base.json λ-0 bis λ-4: lesen Standalone-Reader-Webapp, lokal grün 2026-05-16 03:01:03 +02:00
turbo.json λ-0 bis λ-4: lesen Standalone-Reader-Webapp, lokal grün 2026-05-16 03:01:03 +02:00
VISION.md Bestand einmal durch prettier 2026-09-05 13:09:23 +02:00

Pageta

Lese-App des Vereins mana: Links speichern, sauber lesen, in vier Farben markieren — ohne Algorithmus, ohne Werbung, ohne Tracking.

Pageta ist das erste Produkt von mana, dessen Quellcode offen liegt. Der Anlass ist Pocket: ein Lese-Werkzeug, das Millionen Menschen benutzt haben und das mit einer Firmenentscheidung verschwand. Unter der AGPL kann niemand diesen Code nachträglich schliessen — auch der Verein nicht.

Was hier liegt

apps/
  web/        SvelteKit-App (app.pageta.com) — Lese-Liste, Reader, Markierungen
  api/        Hono + Bun — Textextraktion, Zusammenfassung, Import-Aufträge
  landing/    Astro — pageta.com
  extension/  Browser-Erweiterung (Chromium/Firefox, noch nicht in den Stores)
packages/
  pageta-domain/  reine TypeScript-Typen und -Logik
infrastructure/   Compose-Dateien; Geheimnisse nur SOPS/age-verschlüsselt
docs/             Architektur, Deploy, Entscheidungen

Die Lese-Liste ist local-first und event-sourced: Artikel, Markierungen und Tags liegen als Ereignisse auf dem Gerät und werden verschlüsselt synchronisiert. Der Server holt nur Text aus Webseiten und rechnet, was ein Browser nicht kann. Die Invarianten stehen in CLAUDE.md, der Stand in STATUS.md.

Bauen — und die ehrliche Grenze

pnpm install
pnpm docker:up                      # lokales Postgres :5443
pnpm --filter @pageta/api db:push
pnpm dev                            # api :3099, web :3100

⚠️ Heute gelingt das nur mit Zugang zum mana-Paketserver. Pageta bezieht rund zwanzig @mana/*-Pakete (Anmeldung, Synchronisation, Oberflächen- Bausteine) aus pkg.mana.how, der noch nicht öffentlich ist, und braucht zur Laufzeit die mana-Plattform (Anmeldung, Sync). Den Code lesen und prüfen kannst du vollständig; ihn ohne Weiteres selbst betreiben noch nicht. Diese Lücke zu schliessen ist der nächste Schritt, nicht erledigt.

Für Mitlesende

Dieses Repo gehört zum Ökosystem von mana und liegt offen, damit andere es lesen, einordnen und als Grundlage nutzen können — das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.

Was du erwarten darfst: den Code so, wie er tatsächlich in Gebrauch ist, unter AGPL-3.0-or-later. Keine Attrappe, kein zurechtgeschnittener Auszug — samt seiner Geschichte.

Was du nicht erwarten darfst: Support, Antwortzeiten, Zusagen zur Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Dieses Repo folgt dem, was die App braucht. Fehlermeldungen sind willkommen (am schnellsten über den Feedback-Knopf in der App oder auf pageta.com), eine Antwort ist nicht zugesagt.

Fork ist ausdrücklich erlaubt und oft der schnellere Weg als zu warten. Wer Pageta verändert und als Dienst anbietet, legt seine Änderungen offen — das verlangt die AGPL (§13), und genau darum steht sie hier.