- Add .shared/prompts/ with tool-neutral prompts - Add .opencode/config/project.md, rules/, skills/ from opencode-kit - Add .codex/config/project.md from codex-kit - Copy .shared/prompts/ to both .opencode/prompts/ and .codex/prompts/ - Add features/INDEX.md and features/README.md - Update README with unified structure The two original starter kits are now redundant.
172 lines
5.2 KiB
Markdown
172 lines
5.2 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-Konfiguration
|
|
│ ├── config/
|
|
│ │ └── project.md # Projekt-spezifische Config
|
|
│ ├── rules/
|
|
│ │ ├── backend.md
|
|
│ │ ├── database.md
|
|
│ │ ├── frontend.md
|
|
│ │ ├── general.md
|
|
│ │ ├── php.md
|
|
│ │ └── security.md
|
|
│ ├── skills/ # OpenCode Skills
|
|
│ │ ├── architecture/
|
|
│ │ ├── backend/
|
|
│ │ ├── deploy/
|
|
│ │ ├── docs/
|
|
│ │ ├── frontend/
|
|
│ │ ├── php/
|
|
│ │ ├── qa/
|
|
│ │ └── requirements/
|
|
│ └── prompts/ # Kopie von .shared/prompts
|
|
├── .codex/ # Codex-Konfiguration
|
|
│ ├── config/
|
|
│ │ └── project.md # Projekt-spezifische Config
|
|
│ └── prompts/ # Kopie von .shared/prompts
|
|
├── .shared/ # Gemeinsame Ressourcen
|
|
│ └── prompts/ # Neutralisierte Prompts (tool-unabhängig)
|
|
│ ├── requirements.md
|
|
│ ├── architecture.md
|
|
│ ├── backend.md
|
|
│ ├── frontend.md
|
|
│ ├── qa.md
|
|
│ └── deploy.md
|
|
├── docs/ # Dokumentation pro Domain
|
|
│ ├── www.example.com/
|
|
│ │ ├── doku/
|
|
│ │ ├── planung/
|
|
│ │ └── todos/
|
|
│ ├── api.example.com/
|
|
│ │ ├── doku/
|
|
│ │ ├── planung/
|
|
│ │ └── todos/
|
|
│ └── app.example.com/
|
|
│ ├── doku/
|
|
│ ├── planung/
|
|
│ └── todos/
|
|
├── features/ # Feature Specs
|
|
│ ├── INDEX.md
|
|
│ └── README.md
|
|
├── www/ # Webroot (deployed auf Server)
|
|
│ ├── www.example.com/
|
|
│ │ └── public/
|
|
│ ├── api.example.com/
|
|
│ │ └── public/
|
|
│ └── app.example.com/
|
|
│ └── public/
|
|
└── 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
|
|
|
|
Die Starter Kits sind im Skeleton vereinheitlicht. Beide Tools nutzen dieselben Prompts aus `.shared/prompts/`.
|
|
|
|
### .shared/prompts/
|
|
|
|
Enthält tool-unabhängige Prompts für alle Development-Phasen:
|
|
|
|
| Prompt | Zweck |
|
|
|--------|-------|
|
|
| `requirements.md` | Feature Specs erstellen |
|
|
| `architecture.md` | Tech Design entwerfen |
|
|
| `backend.md` | Backend implementieren |
|
|
| `frontend.md` | UI bauen |
|
|
| `qa.md` | Testen & verifizieren |
|
|
| `deploy.md` | Produktiv setzen |
|
|
|
|
### .opencode/
|
|
|
|
OpenCode-spezifische Konfiguration:
|
|
- `.opencode/config/project.md` — Projekt-Config
|
|
- `.opencode/rules/*.md` — Coding Rules (PHP, Security, Database, etc.)
|
|
- `.opencode/skills/` — OpenCode Skills (autonome Agenten)
|
|
- `.opencode/prompts/` — Kopie von `.shared/prompts/`
|
|
|
|
### .codex/
|
|
|
|
Codex-spezifische Konfiguration:
|
|
- `.codex/config/project.md` — Projekt-Config
|
|
- `.codex/prompts/` — Kopie von `.shared/prompts/`
|
|
|
|
### Eigene Kits behalten oder löschen?
|
|
|
|
Die ursprünglichen Starter Kits können gelöscht werden:
|
|
|
|
- ~~https://git.shadow-land.de/madgerm/ai-coding-starter-kit-opencode~~
|
|
- ~~https://git.shadow-land.de/madgerm/ai-coding-starter-kit-codex~~
|
|
|
|
Das Skeleton enthält alles was beide brauchen.
|
|
|
|
## Lizenz
|
|
|
|
Projektintern — keine externe Lizenz. |