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