Add Claude Desktop extensions (.mcpb) for WordCraft and GridCraft.
Ship unsigned MCPB packages built from the ArtCraft Launcher CLIs, with install docs and skill 0.2.0 updates.
This commit is contained in:
1 parent
3ac6cd5a29
commit
2fd4164ee7
36 files changed
+1412
-116
No files matched your search
+32
-3
@@ -1,6 +1,6 @@
|
||||
# Mitarbeiten
|
||||
|
||||
Kollegen installieren einen Skill ohne Git: ZIP aus der Tabelle in der [README](README.md) laden und in Claude hochladen. Dieser Text ist für alle, die einen Skill anlegen oder aktualisieren.
|
||||
Einen Skill ohne Git installieren: ZIP aus der Tabelle in der [README](README.md) laden und in Claude hochladen. Dieser Text ist für alle, die einen Skill anlegen oder aktualisieren.
|
||||
|
||||
## Aufbau eines Skills
|
||||
|
||||
@@ -9,12 +9,18 @@ skills/<name>/
|
||||
├── SKILL.md Pflicht – Anweisungen für Claude (liegt im ZIP)
|
||||
├── README.md Pflicht – Doku für Menschen (nicht im ZIP)
|
||||
├── CHANGELOG.md Pflicht – Versionen (nicht im ZIP)
|
||||
├── extension/ optional – Claude-Desktop-Erweiterung (.mcpb)
|
||||
│ ├── manifest.json
|
||||
│ ├── icon.png optional
|
||||
│ ├── upstream.json von scripts/fetch-cli geschrieben
|
||||
│ ├── LICENSES/ Upstream-Lizenztexte
|
||||
│ └── server/ CLI-exe nur beim Bauen (nicht committen)
|
||||
├── scripts/ optional – Hilfsskripte, die Claude ausführen kann
|
||||
├── references/ optional – Nachschlagematerial, das Claude bei Bedarf liest
|
||||
└── assets/ optional – Vorlagen, Bilder usw.
|
||||
```
|
||||
|
||||
`README.md` hat dieselben Abschnitte wie [templates/skill/README.md](templates/skill/README.md): Zweck, Voraussetzungen, Installation, Einrichtung, Stolpersteine, Test, Deinstallation/Update, Link zum Changelog.
|
||||
`README.md` hat dieselben Abschnitte wie [templates/skill/README.md](templates/skill/README.md): Zweck, Voraussetzungen, Installation, Einrichtung, Stolpersteine, Test, Deinstallation/Update, Link zum Changelog. Skills mit `extension/` beschreiben die Installation über `.mcpb` + ZIP und verweisen auf [docs/INSTALLATION.md](docs/INSTALLATION.md).
|
||||
|
||||
## Regeln
|
||||
|
||||
@@ -69,14 +75,20 @@ skills/<name>/
|
||||
|
||||
Ein Paket pro Skill, Dateiname `dist/<name>-v<version>.zip`. Im ZIP liegt der Ordner `<name>/` mit `SKILL.md` auf oberster Ebene. `README.md` und `CHANGELOG.md` werden nicht eingepackt.
|
||||
|
||||
Skills mit `extension/` liefern zusätzlich `dist/<name>-v<version>.mcpb`. Die CLI wird aus der ArtCraft-Launcher-Installation kopiert (`scripts/fetch-cli`), nicht von GitHub heruntergeladen. Die `.mcpb` bleibt unsigniert, solange kein Code-Signing-Zertifikat vorliegt (`mcpb sign` braucht `--cert` / `--key`; `--self-signed` hilft nicht gegen Defender).
|
||||
|
||||
```sh
|
||||
scripts/package.sh # alle Skills
|
||||
scripts/package.sh # nur Skill-ZIPs
|
||||
scripts/package.sh <name>
|
||||
scripts/package-mcpb.sh <name> # eine .mcpb
|
||||
scripts/package-all.sh # ZIP + .mcpb wo extension/ existiert
|
||||
```
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File scripts\package.ps1
|
||||
powershell -ExecutionPolicy Bypass -File scripts\package.ps1 -Name <name>
|
||||
powershell -ExecutionPolicy Bypass -File scripts\package-mcpb.ps1 -Name <name>
|
||||
powershell -ExecutionPolicy Bypass -File scripts\package-all.ps1
|
||||
```
|
||||
|
||||
### Vom eigenen Rechner
|
||||
@@ -106,6 +118,23 @@ GITEA_TOKEN='<Token>' scripts/release.sh <name>
|
||||
3. Tag: `<name>/v<version>` (der Tag muss schon auf dem Server liegen). Titel: `<name> <version>`.
|
||||
4. Als Text den Abschnitt dieser Version aus `skills/<name>/CHANGELOG.md` einfügen.
|
||||
5. `dist/<name>-v<version>.zip` als Anhang hochladen.
|
||||
6. Falls vorhanden: `dist/<name>-v<version>.mcpb` ebenfalls hochladen (oder `scripts/release.ps1` nutzen – hängt beides an).
|
||||
|
||||
Nur die `.mcpb` nachträglich an ein bestehendes Release hängen (Token nur in der Umgebung):
|
||||
|
||||
```powershell
|
||||
$env:GITEA_TOKEN = '<Token>'
|
||||
$id = <Release-ID>
|
||||
$name = 'wordcraft-mcp-v0.2.0.mcpb'
|
||||
$bytes = [IO.File]::ReadAllBytes("dist\$name")
|
||||
$req = [Net.HttpWebRequest]::Create("https://git.gundel.dev/api/v1/repos/dg/claude-skills/releases/$id/assets?name=$name")
|
||||
$req.Method = 'POST'
|
||||
$req.Headers.Add('Authorization', "token $env:GITEA_TOKEN")
|
||||
$req.ContentType = 'application/octet-stream'
|
||||
$req.ContentLength = $bytes.LongLength
|
||||
$s = $req.GetRequestStream(); $s.Write($bytes, 0, $bytes.Length); $s.Close()
|
||||
$resp = $req.GetResponse(); (New-Object IO.StreamReader($resp.GetResponseStream())).ReadToEnd()
|
||||
```
|
||||
|
||||
## Hinweise zu den Skripten
|
||||
|
||||
|
||||
Reference in new issue
Block a user