Compare commits

...

10 Commits

Author SHA1 Message Date
70d812dab8 Add docs/planung/.gitkeep 2026-04-25 10:45:45 +02:00
9a45775686 Add docs/doku/.gitkeep 2026-04-25 10:45:44 +02:00
7e0e20c3b0 Add .gitignore 2026-04-25 10:45:44 +02:00
249e452c1e Add .opencode/rules/general.md 2026-04-25 10:45:33 +02:00
3f69968d5e Add .opencode/rules/frontend.md 2026-04-25 10:45:33 +02:00
89a39db7e2 Add .opencode/rules/security.md 2026-04-25 10:45:32 +02:00
50af75703d Add .opencode/rules/backend.md 2026-04-25 10:45:31 +02:00
d1770f5bd2 Add .opencode/skills/help/SKILL.md 2026-04-25 10:45:30 +02:00
8f10932f8e Add .opencode/settings.json 2026-04-25 10:45:29 +02:00
3b4604ce5a Add www/game/public/index.php 2026-04-25 10:45:29 +02:00
10 changed files with 187 additions and 0 deletions

46
.gitignore vendored Normal file
View File

@@ -0,0 +1,46 @@
# System
.DS_Store
Thumbs.db
# IDE
.idea/
.vscode/
*.swp
*.swo
*~
# Logs
*.log
logs/
# Environment
.env
.env.local
.env.*.local
# Database
*.sqlite
*.sqlite3
*.db
# Uploads / User Data
uploads/
storage/
writable/
# Dependencies
vendor/
node_modules/
# Build Output
dist/
build/
# Cache
.cache/
__pycache__/
*.pyc
# Misc
*.bak
*.tmp

View File

@@ -0,0 +1,20 @@
# Backend Rules
## PHP
- PHP 8+ Syntax
- Prepared Statements für DB Queries
- Input Validation immer auf Server-Seite
- Keine secrets in Code — .env nutzen
## REST API
- JSON als Standard-Format
- HTTP Status Codes korrekt nutzen
- GET/POST/etc. semantisch richtig
## SQLite
- Transactions für mehrere Writes
- FOREIGN KEY Constraints aktiviert
- Indexes auf häufige Query-Spalten

View File

@@ -0,0 +1,17 @@
# Frontend Rules
## HTML
- Semantisches HTML5
- Accessibility beachten (a11y)
## CSS
- CSS Variables für Theming
- Mobile-First Ansatz
- Keine inline Styles (außer dynamisch)
## JS
- Vanilla JS bevorzugt, kein Framework-Overhead
- ES6+ Syntax

View File

@@ -0,0 +1,20 @@
# General Rules
## Projekt Start
Bei einem neuen Projekt:
1. README.md lesen / erstellen
2. AGENTS.md lesen
3. docs/planung/ öffnen und Projektstruktur verstehen
## Naming
- Kleinbuchstaben mit Bindestrichen: `mein-projekt`
- Subdomains als Verzeichnisse unter `www/`
- Document-Root immer `public/`
## Git Flow
1. Branch für Feature: `feature/<name>`
2. Commit oft mit aussagekräftigen Messages
3. Merge via PR oder direkt (bei kleinen Fixes)

View File

@@ -0,0 +1,22 @@
# Security Rules
## Generell
- Nie Secrets in Git
- Input immer validieren
- Output immer escapen
## XSS
- HTML specialchars() für User-Input in HTML
- Content-Security-Policy Header setzen
## CSRF
- CSRF Token bei Forms
- SameSite=Cookie
## SQL Injection
- Prepared Statements immer nutzen
- Nie User-Input direkt in SQL

13
.opencode/settings.json Normal file
View File

@@ -0,0 +1,13 @@
{
"$schema": "https://opencode.ai/config.json",
"permissions": {
"bash": true,
"php": true,
"python": false,
"node": false,
"git": true,
"npm": false,
"composer": false
},
"model": "default"
}

View File

@@ -0,0 +1,30 @@
# Help Skill
## Projekt Status
Zeigt die aktuelle Projektstruktur und offene TODOs.
## Verwendung
Manuell: Zeigt die Verzeichnisstruktur und weist auf fehlende Dateien hin.
## Struktur Check
```
skeleton/
├── .git/
├── .gitignore ✓
├── AGENTS.md ✓
├── .opencode/
│ ├── settings.json ✓
│ ├── rules/ ✓
│ └── skills/ ✓
├── docs/
│ ├── doku/ ✓
│ └── planung/ ✓
├── www/
│ ├── api/public/ ✓
│ ├── game/public/ ✓
│ └── www/public/ ✓
└── README.md ✓
```

1
docs/doku/.gitkeep Normal file
View File

@@ -0,0 +1 @@
# Placeholder

1
docs/planung/.gitkeep Normal file
View File

@@ -0,0 +1 @@
# Placeholder

17
www/game/public/index.php Normal file
View File

@@ -0,0 +1,17 @@
<?php
/**
* game.domain.de — Spielkomponente
*/
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Game</title>
</head>
<body>
<h1>Game</h1>
<p>Spielkomponente.</p>
</body>
</html>