-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.cursorrules
32 lines (18 loc) · 2.04 KB
/
.cursorrules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Regeln für AI
0. Antworte immer in Deutsch
1. Das ist ein Python Projekt, verwende Python 3.12
2. Das Projekt wird mit "uv" gemanaged
3. Notiere alle technischen Entscheidungen in einer Datei "technical.md", halte diese Datei aktuell
# Projekt
Das Projekt dient dazu, eine App zu erstellen, die leicht und visuell den Weg von Daten aus einer Marc21 Datei in ein JSON Objekt zu zeigen. Die Daten sollen aus einer binären Marc21 Datei mit pymarc gelesen werden, dann sollen sie zuerst dargestellt werden. Dann sollen sie in einfachen Methoden in Datenfelder einer Python-Pydantic-Klasse geschrieben werden. Diese Pydantic-Klasse soll mit Hilfe der LinkML Bibliothek erzeugt werden. In LinkML möchte ich Felder beschreiben und die Daten validieren.
Später soll alles in eine Marimo-App integriert werden. Dies ist aber erst der zweite Schritt.
# Ziele
In einem Marimo-Notebook soll eine Marimo-App entwickelt werden, die folgende Funktionen hat:
Ein Marimo-Notebook welches einen Marc21 Record ertstellt oder importiert und diesen dann in ein JSON Objekt umwandelt. Und anzeigen kann. Ein Marimo-Notebook welches eine Pydantic und/oder die Dataclass in /models füllt. Es soll demonstriert werden, wie man die Daten validiert und wie man sie in die Pydantic-Klasse schreibt. Zuletzt soll die geschriebene Python-Klasse als JSON ausgegeben werden.
Das Projekt soll keine vollständige Lösung sein, sondern eine Lösung die ich Schritt für Schritt erstellen kann. Und die eher als Showcase für Marimo und LinkML dienen soll.
# Technische Anmerkungen
Die Datei /slubmodels/pydantic.py soll mit Hilfe von LinkML erstellt werden. Die Datei /slubmodels/dataclass.py soll mit Hilfe von LinkML erstellt werden. Das Schema dafür ist in /schema/finc.yaml zu finden.
Die Datei /notebook.py soll die Marimo-App enthalten.
Die Datei /test_marc.py soll die Funktionen der Klasse MarcUtils testen.
Die Datei /user.md soll eine Anleitung für den User enthalten, wie er die Marimo-App benutzen kann.
Die Datei /technical.md soll die technischen Entscheidungen und Überlegungen enthalten.