Document ai-coding-starter-kit-opencode and ai-coding-starter-kit-codex repos with git subtree examples for integrating rules, features, etc.
151 lines
4.9 KiB
Markdown
151 lines
4.9 KiB
Markdown
# Project Skeleton
|
|
|
|
Allgemeines Projekt-Skeleton für neue Webprojekte mit Subdomain-Struktur.
|
|
|
|
## Verzeichnisstruktur
|
|
|
|
```
|
|
skeleton/
|
|
├── .git/ # Git Repository
|
|
├── .gitignore
|
|
├── AGENTS.md # opencode-cli Kontext
|
|
├── .opencode/ # opencode-cli Konfiguration (optional)
|
|
│ ├── settings.json
|
|
│ ├── rules/
|
|
│ │ ├── general.md
|
|
│ │ ├── backend.md
|
|
│ │ ├── frontend.md
|
|
│ │ └── security.md
|
|
│ └── skills/
|
|
│ └── help/SKILL.md
|
|
├── docs/ # Dokumentation pro Domain
|
|
│ ├── www.example.com/ # Docs für www.example.com
|
|
│ │ ├── doku/ # Technische Dokumentation
|
|
│ │ ├── planung/ # Planung, Meilensteine
|
|
│ │ └── todos/ # Aufgaben, TODOs
|
|
│ ├── api.example.com/ # Docs für api.example.com
|
|
│ │ ├── doku/
|
|
│ │ ├── planung/
|
|
│ │ └── todos/
|
|
│ └── app.example.com/ # Docs für app.example.com
|
|
│ ├── doku/
|
|
│ ├── planung/
|
|
│ └── todos/
|
|
├── www/ # Webroot (deployed auf Server)
|
|
│ ├── www.example.com/ # www.example.com
|
|
│ │ └── public/ # Document Root
|
|
│ │ └── index.php
|
|
│ ├── api.example.com/ # api.example.com
|
|
│ │ └── public/ # Document Root
|
|
│ │ └── index.php
|
|
│ └── app.example.com/ # app.example.com
|
|
│ └── public/ # Document Root
|
|
│ └── index.php
|
|
├── features/ # Feature Specs (optional, von Starter Kit)
|
|
│ ├── INDEX.md
|
|
│ └── PROJ-X-*.md
|
|
└── README.md
|
|
```
|
|
|
|
## Verwendung
|
|
|
|
### Neues Projekt aus Skeleton erstellen
|
|
|
|
```bash
|
|
# 1. Skeleton klonen
|
|
git clone https://git.shadow-land.de/madgerm/skeleton.git mein-projekt
|
|
cd mein-projekt
|
|
|
|
# 2. Domain-Verzeichnisse umbenennen
|
|
mv www/www.example.com www/www.meine-domain.de
|
|
mv www/api.example.com www/api.meine-domain.de
|
|
mv www/app.example.com www/app.meine-domain.de
|
|
|
|
# 3. Docs-Ordner umbenennen (parallel zu www)
|
|
mv docs/www.example.com docs/www.meine-domain.de
|
|
mv docs/api.example.com docs/api.meine-domain.de
|
|
mv docs/app.example.com docs/app.meine-domain.de
|
|
|
|
# 4. README und Repo-Name anpassen
|
|
# 5. Git init / remote setzen
|
|
git init
|
|
git remote set-url origin https://git.shadow-land.de/madgerm/mein-projekt.git
|
|
|
|
# 6. Weiter geht's
|
|
```
|
|
|
|
### Subdomains deployen
|
|
|
|
Jedes `www/<domain>/public/` Verzeichnis ist der Document Root für die jeweilige Domain.
|
|
|
|
**Caddy Config Beispiel:**
|
|
```
|
|
www.meine-domain.de {
|
|
root * /srv/www/projekt/www/www.meine-domain.de/public
|
|
php_fastcgi localhost:9000
|
|
file_server
|
|
}
|
|
```
|
|
|
|
## Domains
|
|
|
|
| www/ Verzeichnis | docs/ Verzeichnis | Domain |
|
|
|------------------|-------------------|--------|
|
|
| `www/www.example.com/` | `docs/www.example.com/` | www.example.com |
|
|
| `www/api.example.com/` | `docs/api.example.com/` | api.example.com |
|
|
| `www/app.example.com/` | `docs/app.example.com/` | app.example.com |
|
|
|
|
## Docs Struktur
|
|
|
|
Jeder Domain-Ordner enthält:
|
|
|
|
- `doku/` — Technische Dokumentation (API-Doku, Datenbank-Schema, etc.)
|
|
- `planung/` — Planung, Meilensteine, Decisions
|
|
- `todos/` — Aufgaben, TODOs, Issues
|
|
|
|
## Tech Stack
|
|
|
|
Skeleton ist flexibel — standardmäßig PHP mit SQLite, anpassbar je nach Projekt.
|
|
|
|
## Coding Starter Kits
|
|
|
|
Für AI-gestütztes Coding gibt es zwei spezialisierte Starter Kits die als Vorlage integriert werden können:
|
|
|
|
### ai-coding-starter-kit-opencode (PHP)
|
|
|
|
PHP-first Projekt-Kit für OpenCode mit SQLite-dev / MariaDB-Production Ansatz.
|
|
|
|
**Relevante Dateien die man übernehmen kann:**
|
|
- `OPENCODE.md` — Auto-geladenes Projekt-Kontext
|
|
- `.opencode/rules/*.md` — Coding Rules (PHP, Security, Database, etc.)
|
|
- `features/INDEX.md`, `features/PROJ-X-*.md` — Feature Tracking
|
|
- `docs/production/*.md` — Production Guidelines
|
|
- `composer.json` — PHP Dependencies
|
|
|
|
```bash
|
|
# Beispiel: Regeln von opencode-kit übernehmen
|
|
git subtree add --prefix=.opencode https://git.shadow-land.de/madgerm/ai-coding-starter-kit-opencode.git .opencode
|
|
```
|
|
|
|
**Repo:** https://git.shadow-land.de/madgerm/ai-coding-starter-kit-opencode
|
|
|
|
### ai-coding-starter-kit-codex (TypeScript/Next.js)
|
|
|
|
TypeScript/Next.js Projekt-Kit mit Supabase.
|
|
|
|
**Relevante Dateien die man übernehmen kann:**
|
|
- `features/INDEX.md`, `features/PROJ-X-*.md` — Feature Tracking
|
|
- `docs/production/*.md` — Production Guidelines
|
|
- `tailwind.config.ts`, `next.config.ts` — Framework Config
|
|
- `.opencode/rules/` — Coding Rules
|
|
|
|
```bash
|
|
# Beispiel: Features-Struktur übernehmen
|
|
git subtree add --prefix=features https://git.shadow-land.de/madgerm/ai-coding-starter-kit-codex.git features
|
|
```
|
|
|
|
**Repo:** https://git.shadow-land.de/madgerm/ai-coding-starter-kit-codex
|
|
|
|
## Lizenz
|
|
|
|
Projektintern — keine externe Lizenz. |