Skip to content

Commit 7c7dacf

Browse files
marcarlclaude
andcommitted
Förbered för offentlig publicering
- Ta bort lokal Claude-konfiguration - Uppdatera .gitignore för .claude/ - Ta bort TODO-kommentarer från sfs_processor.py - Lägg till CONTRIBUTING.md med bidragsinstruktioner - Lägg till DEVELOPMENT.md med utvecklardokumentation - Förbättra README.md med status, community-info och licens 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent feb49fe commit 7c7dacf

5 files changed

Lines changed: 664 additions & 8 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ ___pycache__
33
*.pyc
44
.DS_Store
55

6+
# Ignore Claude configuration
7+
.claude/
8+
69
# Ignore output files
710
logs/
811
output/

CONTRIBUTING.md

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Bidra till SFS-Processor
2+
3+
Tack för ditt intresse att bidra till SFS-Processor! Det här dokumentet beskriver hur du kan hjälpa till med utvecklingen.
4+
5+
## Kom igång
6+
7+
### Förutsättningar
8+
9+
- Python 3.11 eller senare
10+
- Git
11+
- Grundläggande kunskaper om Python och Markdown
12+
13+
### Installera utvecklingsmiljö
14+
15+
1. Forka repositoryt på GitHub
16+
2. Klona din fork lokalt:
17+
```bash
18+
git clone https://github.com/se-lex/sfs-processor.git
19+
cd sfs-processor
20+
```
21+
22+
3. Skapa en virtuell miljö (rekommenderat):
23+
```bash
24+
python -m venv venv
25+
source venv/bin/activate # På Windows: venv\Scripts\activate
26+
```
27+
28+
4. Installera dependencies:
29+
```bash
30+
pip install -r requirements.txt
31+
```
32+
33+
## Utvecklingsmiljö
34+
35+
### Installation av dependencies
36+
37+
Projektet har minimala beroenden som specificeras i `requirements.txt`:
38+
```bash
39+
pip install -r requirements.txt
40+
```
41+
42+
### Köra tester
43+
44+
Kör alla tester med:
45+
```bash
46+
python -m pytest test/ -v
47+
```
48+
49+
Enskilda testfiler kan köras direkt:
50+
```bash
51+
python test/test_title_temporal.py
52+
```
53+
54+
### Kodstil
55+
56+
Projektet följer PEP 8-standarden för Python-kod. Några specifika riktlinjer:
57+
58+
- Använd 4 mellanslag för indentering (inga tabs)
59+
- Maximal radlängd: 100 tecken (flexibelt för långa strängar)
60+
- Använd beskrivande variabelnamn
61+
- Svenska termer är OK för domänspecifika begrepp (t.ex. "beteckning", "författning")
62+
- Kommentera komplex logik
63+
- Docstrings för alla publika funktioner
64+
65+
## Bidra med kod
66+
67+
### Arbetsflöde
68+
69+
1. Skapa en feature branch från `main`:
70+
```bash
71+
git checkout -b feature/min-funktion
72+
```
73+
74+
Använd beskrivande branch-namn:
75+
- `feature/` för nya funktioner
76+
- `fix/` för buggfixar
77+
78+
2. Gör dina ändringar och commit:
79+
```bash
80+
git add .
81+
git commit -m "Beskrivande commit-meddelande"
82+
```
83+
84+
Skriv tydliga commit-meddelanden som förklarar *vad* och *varför*.
85+
86+
3. Pusha till din fork:
87+
```bash
88+
git push origin feature/min-funktion
89+
```
90+
91+
4. Öppna en Pull Request på GitHub
92+
93+
### Pull Request-process
94+
95+
När du öppnar en Pull Request:
96+
97+
- **Beskriv dina ändringar**: Förklara vad din PR gör och varför ändringen behövs
98+
- **Referera till issues**: Om din PR löser ett issue, länka till det (t.ex. "Fixes #123")
99+
- **Inkludera tester**: Lägg till tester för nya funktioner eller buggfixar
100+
- **Se till att tester passerar**: Alla befintliga tester måste fortfarande fungera
101+
- **Uppdatera dokumentation**: Om du ändrar funktionalitet, uppdatera README eller andra relevanta dokument
102+
103+
Vi kommer att granska din PR och ge feedback. Var beredd på att göra ändringar baserat på code review.
104+
105+
## Rapportera buggar
106+
107+
Hittat en bugg? Hjälp oss att fixa den!
108+
109+
1. **Kontrollera befintliga issues**: Kolla om någon redan rapporterat samma problem
110+
2. **Öppna ett nytt issue** med följande information:
111+
- **Tydlig titel**: Sammanfatta problemet kortfattat
112+
- **Beskrivning**: Beskriv vad som händer och vad du förväntade dig
113+
- **Reproducerbarhet**: Steg för att återskapa problemet
114+
- **Miljö**: Python-version, operativsystem
115+
- **Exempel**: Minimal kod eller kommando som visar problemet
116+
- **Felmeddelanden**: Inkludera fullständiga stack traces om tillämpligt
117+
118+
### Exempel på buggrapport
119+
120+
```markdown
121+
## Titel: Fel vid parsing av dokument med tomma kapitel
122+
123+
**Beskrivning:**
124+
När sfs_processor.py försöker processa ett SFS-dokument som innehåller tomma kapitel
125+
kraschar programmet med ValueError.
126+
127+
**Steg för att reproducera:**
128+
1. Ladda ner SFS 2023:123
129+
2. Kör: `python sfs_processor.py sfs_json/2023/sfs-2023-123.json --output md`
130+
131+
**Förväntat resultat:**
132+
Dokumentet processas korrekt och tomma kapitel ignoreras.
133+
134+
**Faktiskt resultat:**
135+
```
136+
ValueError: Cannot process empty chapter
137+
```
138+
139+
**Miljö:**
140+
- Python 3.11.4
141+
- macOS Sonoma 14.2
142+
- sfs-processor version 1.0.0
143+
```
144+
145+
## Kodstandard
146+
147+
### Allmänna riktlinjer
148+
149+
- **PEP 8**: Följ Python Enhancement Proposal 8 för kodstil
150+
- **Variabelnamn**: Använd beskrivande namn (`document_data` istället för `dd`)
151+
- **Svenska termer**: OK att använda för juridiska/domänspecifika termer (t.ex. `beteckning`, `författning`, `paragraf`)
152+
- **Kommentarer**: Kommentera komplex logik, inte uppenbar kod
153+
- **Docstrings**: Alla publika funktioner ska ha docstrings som beskriver:
154+
- Vad funktionen gör
155+
- Parametrar och deras typer
156+
- Returvärde
157+
- Eventuella exceptions som kastas
158+
159+
## Licens
160+
161+
Genom att bidra till SFS-Processor accepterar du att ditt bidrag licensieras under **Business Source License 1.1** (samma licens som resten av projektet).
162+
163+
Se [LICENSE](LICENSE)-filen för fullständiga villkor. Observera att projektet övergår till MIT-licens 2029-01-01.
164+
165+
## Frågor?
166+
167+
Om du har frågor som inte täcks här:
168+
169+
- Öppna ett issue med etiketten "question"
170+
- Kontakta projektmaintainer via GitHub
171+
172+
Tack för ditt bidrag! 🙏

0 commit comments

Comments
 (0)