EngineeringEin Repository für alles, was wir bauen.

Jedes Produkt, jede Website, jede Bibliothek und jedes Werkzeug von NoirSystems lebt in einem Monorepo: ein Klon, eine Toolchain, eine CI. Diese Seite ist genau dieses Repository, nachgemessen.

Das Repository
in Zahlen

Gezählt auf dem Hauptbranch. Als Zeilen gelten nicht leere Zeilen Quellcode, ohne Lockfiles, Build-Ausgaben und eingebundenen Fremdcode.

0

Projekte

0

Programmiersprachen

0

Commits

0

versionierte Dateien

0+

Codezeilen

Dreißig Projekte,
fünf Verzeichnisse

Jedes Verzeichnis steht für genau eine Sache, und ein Projekt liegt in dem, das sagt, was es ist.

 

  • flokzy

    products/flokzy

    • TypeScript
    • Kotlin
  • sunflow

    products/sunflow

    • Go
    • TypeScript
  • crypto-ide

    products/crypto-ide

    • TypeScript
  • lavender

    products/lavender

    • Rust
    • TypeScript
  • kvbnews

    products/kvbnews

    • Go
    • TypeScript
    • Python
  • drukko

    products/drukko

    • TypeScript
  • noir-app

    products/noir-app

    • TypeScript
  • noirwallet

    products/noirwallet

    • TypeScript
  • pikajuoksu

    products/pikajuoksu

    • TypeScript
  • pikajuoksu-server

    products/pikajuoksu-server

    • TypeScript
  • levonne

    products/levonne

    • Go
    • Dart
  • foldtools

    products/foldtools

    • Kotlin
    • Swift
  • noir-bots

    products/noir-bots

    • Python
  • flokzyweb

    products/flokzyweb

    • TypeScript
  • etat

    products/etat

    • Java
    • Python
  • bookdiscord

    products/bookdiscord

    • JavaScript
  • noirsystems-site

    web/noirsystems-site

    • TypeScript
  • noir-bzh

    web/noir-bzh

    • TypeScript
  • redstone-site

    web/redstone-site

    • TypeScript
  • xandra-css

    libs/xandra-css

    • CSS
    • JavaScript
  • pikajuoksu-core

    libs/pikajuoksu-core

    • TypeScript
  • gitcom

    tools/gitcom

    • Python
  • gity

    tools/gity

    • JavaScript
  • migration

    tools/migration

    • Shell
    • Python
  • gopolars

    research/gopolars

    • Go
  • +5

    interne Projekte, hier nicht aufgeführt

Worin es
geschrieben ist

Codezeilen nach Sprache, über das gesamte Repository.

Codezeilen nach Sprache, über das gesamte Repository.
SpracheCodezeilen
TypeScript
372.597
Kotlin
75.395
Go
65.277
Python
44.834
Rust
44.535
Java
24.050
JavaScript
23.939
CSS
21.831
Shell
11.234
Sonstige
17.952, C++, SQL, Dart, Swift

Der Graphhat keine Kanten

Nx sieht dreißig Projekte und keine Abhängigkeiten zwischen ihnen. Das ist der gemessene Zustand, und so soll er bleiben: Kein Produkt importiert Code aus einem anderen Produkt.

Den Graphen unverbunden lassen. Keine Kanten erfinden, nur damit es nach einem Monorepo aussieht.

ADR-0002, angenommen am 20. September 2026

Die einzige echte Verbindung ist ein Protokoll

Sunflow spricht mit Flokzy über HTTP, mit einem versionierten Protokoll, einer Test-Fixture und einer Outbox für die Zustellung. Zwei Programme, die über das Netzwerk miteinander sprechen, sind kein Import. Der Graph zeichnet diese Verbindung also zu Recht nicht ein.

Was ein einziges Repository bringt

  • Ein Klon
  • Ein Toolchain-Setup
  • Eine CI
  • Ein Ort zum Suchen

Vier Regeln,
die alles zusammenhalten

  • Kein Produkt importiert ein anderes

    Ein Produkt darf libs/ und seinen eigenen Code nutzen. Produkte sprechen miteinander über eine API, einen Event-Vertrag oder einen generierten Client.

  • libs/ muss man sich verdienen

    Code wandert erst nach libs/, wenn ein zweites Produkt aus einem anderen Bereich ihn bereits nutzt. Eine gemeinsame Ablage für alles gibt es nicht.

  • Jedes Projekt installiert selbst

    Jedes Projekt behält seinen eigenen Paketmanager und sein eigenes Lockfile. Im Root-Verzeichnis wird Nx installiert und sonst nichts.

  • Secrets bleiben draußen

    Umgebungsdateien, Schlüssel und Keystores werden von git ignoriert, und jeder Push durchsucht die gesamte Historie nach Lecks.

Sieben Befehle
für dreißig Projekte

Die Task-Namen sind in jedem Projekt gleich, egal was darunter läuft: Gradle, Go, pnpm, Maven oder pytest.

Überall dieselben Targets

  • build
  • test
  • lint
  • typecheck
  • format
  • dev
  • e2e
  • integration-test
  • package
  • deploy
  • pnpm bootstrap# Toolchains, Installation, Git-Hooks, Health-Check
  • pnpm env:check# was mit diesem Rechner nicht stimmt, und die Lösung
  • pnpm projects# was es gibt
  • pnpm graph# wie alles zusammenhängt
  • pnpm affected# Lint, Typecheck, Tests und Build, nur für das Geänderte
  • pnpm check# Abhängigkeitsgrenzen und der Strukturvertrag
  • npx nx run <project>:<target># ein Projekt, eine Aufgabe

Jeder Push,
eine Pipeline

Die CI führt dieselben Skripte aus, die Sie auf Ihrem Rechner ausführen, und zwar nur für die Projekte, die die Änderung berührt.

  1. Secret-Scan

    gitleaks durchsucht die gesamte Historie, nachdem ein Kontrolltest bewiesen hat, dass es einen absichtlich platzierten Schlüssel findet.

    gitleaks git .
  2. Toolchains

    mise installiert genau die Versionen, die in mise.toml festgelegt sind.

    mise install
  3. Grenzen

    pnpm check baut zuerst eine bekannte fehlerhafte Abhängigkeit ein. Ein sauberes Ergebnis heißt also, dass die Regeln wirklich gelaufen sind.

    pnpm check
  4. Betroffene Projekte

    Nx ermittelt, welche Projekte die Änderung berührt.

    nx show projects --affected
  5. Installation

    Nur die betroffenen Projekte installieren ihre Abhängigkeiten.

    pnpm install:affected
  6. Prüfung

    Lint, Typecheck, Tests und Build, jeweils drei Projekte gleichzeitig.

    pnpm affected --parallel=3

Möchten Siehier mitarbeiten?

Derzeit sind keine offenen Stellen ausgeschrieben, aber Initiativbewerbungen werden gelesen. Sagen Sie uns, an welchem Produkt Sie arbeiten möchten.