Przejdź do głównej zawartości

Narzędzia deweloperskie Stallion

Stallion to wtyczka zasobowa dla programistów tworzących rozszerzenia dla Speedwave. Automatyzuje generowanie szablonów projektów, walidację schematów manifestu, podbijanie wersji semantycznej, generowanie changelogów oraz potoki podpisywania wydań kluczami kryptograficznymi w GitLab CI/CD.

Stallion jest rozszerzeniem czysto zasobowym (capabilities: ["skills", "commands", "hooks"]). Nie uruchamia własnego kontenera ani nie zajmuje portów sieciowych, dostarczając zasoby bezpośrednio do sesji Claude:

  • Wspólne instrukcje inżynieryjne: Dostarcza standardy projektowe przez plik claude-resources/CLAUDE.md.
  • Polecenia tworzenia szkieletu: Komendy terminalowe do inicjalizacji i wersjonowania wtyczek.
  • Wspólny szablon CI/CD: Gotowa konfiguracja GitLab CI (.build-plugin.yml) odpowiedzialna za kompilację, podpisywanie cyfrowe (Ed25519) i publikację pakietów.
Polecenie / SkillZakresOpis
create-plugin (Skill)Tworzenie szkieletuInteraktywne projektowanie wtyczki (wybór między workerem MCP a wtyczką zasobową).
add-oauth (Skill)Integracja OAuth2Implementacja mechanizmów autoryzacji OAuth2 i odświeżania tokenów na hoście.
/stallion:new-pluginGeneratorTworzenie struktury katalogów nowej wtyczki na podstawie szablonu.
/stallion:bumpWersjonowanieSpójne podbicie wersji w plikach manifest.json, package.json oraz plikach lock.
/stallion:changelogAutomatyzacja wydańGenerowanie changeloga z podziałem na zmiany dla użytkowników i programistów.

Wywołanie /stallion:new-plugin <slug> "<Nazwa>" tworzy strukturę projektu zgodną ze standardami manifestu Speedwave:

  • Waliduje identyfikator wyrażeniem ^[a-z][a-z0-9-]{0,63}$.
  • Blokuje 13 zarezerwowanych nazw usług systemowych (slack, sharepoint, redmine, gitlab, github, atlassian, office, playwright, context7, os, oauth, ide, host_exec).
  • Przypisuje domyślne porty sieciowe (4010+) i limity pamięci RAM kontenera (256 MiB).

Wspólny potok na gałęzi głównej składa się z trzech etapów:

  1. Build: Kompilacja źródeł TypeScript i pakowanie zależności.
  2. Sign: Wyliczenie deterministycznego skrótu SHA-256 (alfabetycznie posortowane pliki z ramkowaniem długości) i podpisanie kluczem Ed25519 przy użyciu chronionych zmiennych CI w Speednet. Dowiązania symboliczne są kategorycznie odrzucane.
  3. Publish: Publikacja podpisanego archiwum ZIP w rejestrze pakietów GitLab Package Registry.
  1. Wyeksportuj swój token GitLab do zmiennej środowiskowej NPM_TOKEN, aby umożliwić pobieranie pakietów @speedwave/*.
  2. Zainstaluj wtyczkę Stallion w projekcie roboczym.
  3. Zainicjalizuj nową wtyczkę poleceniem /stallion:new-plugin <slug> "<Nazwa Wyświetlana>".

Działanie wtyczki Stallion odbywa się lokalnie w środowisku dewelopera. Klucze prywatne służące do oficjalnego podpisywania wydań znajdują się wyłącznie w chronionych modułach runnerów CI/CD i nie są dostępne lokalnie. Szczegóły dotyczące weryfikacji kryptograficznej opisano w rozdziale Mechanizm wtyczek.