Files
Ben_Kosytorz 246b7969d6 Document daemon and packaging; refresh status across docs
Root README and documentation README: daemon + Docker/Nix status.
Roadmap: daemon checked off, real overlay peering stays open.
pilot.md: docker/nix and sn-node daemon mentioned as the comfortable
path beside the manual steps. AGENTS.md server status line updated.
2026-09-24 20:13:02 +02:00

65 lines
3.1 KiB
Markdown

# AGENTS.md — SpiderNet
> Arbeitsanweisungen und Ziele für Coding-Agents und Contributor:innen.
> Lies diese Datei zuerst, bevor du etwas am Projekt änderst.
## Vision
Ein Nachbarschaftsnetz: Häuser werden per Glasfaser (oder notfalls Funk)
direkt miteinander verbunden. Die Bandbreite aller Internetanschlüsse wird
gepoolt, sodass jeder Haushalt vom gesamten Netz profitiert — schwache
Anschlüsse werden stärker, niemand zahlt mehr, und ausgehender Traffic wird
auf viele Hausanschlüsse verteilt, was Backtracking für außenstehende
erschwert (Privacy als Nebenprodukt, nicht als Produktpromise).
Das Projekt besteht aus zwei Hälften:
1. `documentation/` — Idee, Ethos, Architektur, Rechtslage, Roadmap
2. `server/` — die Software ("Node"), die das technisch möglich macht
## Konventionen
- Sprache: Dokumentation auf Deutsch, Code/Kommentare/Commit-Messages auf Englisch
- Markdown für Doku, keine Binärdateien ins Repo
- Code-Lizenz: AGPL-3.0 (passt zum Ethos; `freenet-core` ist ebenfalls AGPL-3.0)
- Keine Secrets ins Repo (Passwörter, Token, private IP-Listen realer Nachbarn)
- Persönliche Daten von Nachbarn (Namen, Adressen) bleiben außerhalb des Repos
- **Keine Garantie:** Die Software wird ohne jegliche Garantie bereitgestellt
(AGPL §§ 15/16) und muss überall prominent so gekennzeichnet sein — Nutzung
auf eigene Verantwortung der Nutzer:innen, wir übernehmen keine Haftung
für die Verwendung.
- **Maximale Type-Safety in Rust** (Details in `server/README.md`): kein
`unsafe` (`#![forbid(unsafe_code)]`), Newtypes statt roher Primitive,
exhaustive Enums/Match, keine `unwrap()`/`expect()` in nicht-Test-Code.
## Server (geplant)
- Sprache: Rust
- Dezentraler Kern: [Freenet 2023](https://freenet.org/) (`freenet-core`,
AGPL-3.0, <https://github.com/freenet/freenet-core>) für verteilte Inhalte
und Apps. Wichtig: Freenet bietet **keine Anonymität** (klar im
[FAQ](https://freenet.org/about/faq/) benannt) — nicht damit werben.
- Kernfeatures: Multi-Exit-Bandbreiten-Pooling, segmentierte Downloads,
Fairness-Scheduler, Nachbarschafts-Cache, **Leech-Modus** (Empfangen ohne
Exit-Bereitstellung ist ausdrücklich erlaubt — Netz unter Nachbarn)
- Status: Code existiert und ist getestet (`sn-fetch`, `sn-node` inkl.
Daemon, `sn-exit`, `sn-fair`; Deployment via Docker/Nix) — Details in
`server/README.md`
## Git / Gitea
- Remote: `https://git.dieterunterstrich.de/<user>/spidernet.git`
- Branch: `main`
- Credentials liegen im credential-helper `store` — niemals ausgeben oder committen
- Repo-Setup: `scripts/bootstrap-gitea.sh` (erzeugt das Repo via Gitea-API und pusht)
- **WICHTIG:** Nur dieses eine Repo anfassen. Keine anderen Repos auf dem
Gitea-Server verändern, löschen, forken oder beschreiben.
## Arbeitsregeln für Agents
- Erst Doku lesen (v. a. `documentation/ideen/architektur.md` und
`documentation/ideen/recht.md`), dann ändern
- Kleine, beschreibbare Commits; keine offen gelassenen TODOs in `main`
- Keine rechtlich heiklen Features einbauen, ohne dass sie in `recht.md` bedacht sind
- Recherche-Ergebnisse gehören in die Doku (mit Quellen), nicht nur in den Chat