Compare commits
10 Commits
b10f16daa0
...
70d812dab8
| Author | SHA1 | Date | |
|---|---|---|---|
| 70d812dab8 | |||
| 9a45775686 | |||
| 7e0e20c3b0 | |||
| 249e452c1e | |||
| 3f69968d5e | |||
| 89a39db7e2 | |||
| 50af75703d | |||
| d1770f5bd2 | |||
| 8f10932f8e | |||
| 3b4604ce5a |
46
.gitignore
vendored
Normal file
46
.gitignore
vendored
Normal 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
|
||||||
20
.opencode/rules/backend.md
Normal file
20
.opencode/rules/backend.md
Normal 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
|
||||||
17
.opencode/rules/frontend.md
Normal file
17
.opencode/rules/frontend.md
Normal 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
|
||||||
20
.opencode/rules/general.md
Normal file
20
.opencode/rules/general.md
Normal 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)
|
||||||
22
.opencode/rules/security.md
Normal file
22
.opencode/rules/security.md
Normal 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
13
.opencode/settings.json
Normal 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"
|
||||||
|
}
|
||||||
30
.opencode/skills/help/SKILL.md
Normal file
30
.opencode/skills/help/SKILL.md
Normal 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
1
docs/doku/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# Placeholder
|
||||||
1
docs/planung/.gitkeep
Normal file
1
docs/planung/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# Placeholder
|
||||||
17
www/game/public/index.php
Normal file
17
www/game/public/index.php
Normal 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>
|
||||||
Reference in New Issue
Block a user