Zlecenie na stronie ze sklepem
Na stronie ze sklepem zmiany katalogu też są częścią zlecenia, ale nie trafiają od razu do sklepu.
Wydanie zlecenia. Wszystko, co zmienisz w katalogu przez panel zlecenia, trafia do wydania zlecenia trzymanego obok żywego katalogu. Panel zlecenia pokazuje „produkcja + zmiany zlecenia”, a każdy zapis to nowa rewizja z autorem. Zmiany właściciela w innych polach widzisz od razu. Zmiana właściciela w polu, które ruszyłeś, wyjdzie przy odbiorze jako konflikt — nie zostanie nadpisana.
Zakres zlecenia. Właściciel wybiera go przy zakładaniu zlecenia; widzisz go na karcie zlecenia w portalu, przy sc take i w .sc-order.md (sekcja „Zakres w sklepie”):
- Treści i zdjęcia (domyślny): nazwy, opisy, treści, zdjęcia i kategorie produktów — bez zmian cen, nowych produktów i usuwania,
- Nowe produkty: to samo plus nowe produkty z wariantami i cenami — bez zmian cen istniejących produktów i bez usuwania,
- Pełny katalog: także ceny i usuwanie.
Sklep odmawia tego, czego zakres nie obejmuje (403 order.scope_forbids_price / _create / _delete), a panel mówi to zdaniem z nazwą zakresu. Potrzebujesz zmienić cenę albo coś usunąć w węższym zakresie? Poproś właściciela o szerszy zakres. Usunięcie produktu albo kategorii, które sam utworzyłeś w zleceniu, jest zawsze dozwolone — cofa tylko Twoje utworzenie.
Co wolno w wydaniu (w granicach zakresu):
- nowy produkt (istnieje tylko w wydaniu i nie jest na sprzedaż),
- stan początkowy nowego wariantu (nowego produktu albo dodanego w zleceniu): pole stanu w panelu zlecenia albo
initialStockw narzędziach — liczba całkowita od 0. Podgląd pokazuje „W sprzedaży od publikacji · N szt.”, właściciel potwierdza albo zmienia liczbę przy odbiorze, a wariant wchodzi liczony; bez liczby albo z 0 — „Po publikacji: niedostępny”, nigdy bez limitu. Sprzedaż bez liczenia stanu mówisz wprost:untracked: true(--untracked, w panelu „bez liczenia stanu”) — e-book, do którego plik właściciel dołączy po odbiorze, naklejki; nie razem z liczbą. Właściciel przełącza to przy odbiorze w obie strony. Plik do pobrania i karta podarunkowa zostają bez liczenia sztuk, - zdjęcia produktu, nowego i istniejącego: ekran zdjęć działa jak na żywym sklepie (dodanie, podmiana, usunięcie, kolejność, główne, opisy). Plik od razu trafia do magazynu strony, a galeria do wydania — na żywy produkt wchodzi przy odbiorze. Zmiana zdjęć przez właściciela w tym czasie to konflikt,
- nowy adres produktu lub kategorii (po wejściu sam dostaje przekierowanie 301),
- cena wariantu, opis, kategorie,
- waga i wymiary wariantu (kg i cm, w każdym zakresie — od nich zależy wycena kuriera i paczkomatu; na żywy sklep wchodzą przy odbiorze),
- producent wybrany z istniejących,
- reguły sklepu.
Czego nie wolno — dostaniesz odmowę: promocje, nowi producenci, przywracanie wersji z żywego sklepu, stan wariantu, który jest w sprzedaży (order.release_stock), klienci, zamówienia, pieniądze, ustawienia. Dane osobowe kupujących są dla zlecenia niedostępne.
Własne pola produktu dopisujesz w settings/shop-product-schema.json. Sklep przyjmie je przy wejściu zlecenia, ale tylko jako dodanie — usunięcie albo zmiana typu pola zostanie odrzucona.
Podgląd i kopia sklepu.
- Build podglądu nakłada zmiany zlecenia na katalog. Bez odpowiedzi o zmianach nie zbuduje podglądu wcale.
- Panel mówi np. „zapis r18 jest w budowie #6”. Każda budowa podaje rewizję, na której stoi — także ta pominięta jako „ten sam stan już stoi”. Jeśli po zapisie żadna budowa nie ruszy (powiadomienie ze sklepu przepadło), panel sam ją zamówi przy następnym odczycie stanu.
- Kopia sklepu (
shop-<strona>-o<8 znaków>) powstaje dopiero przy pierwszej próbie zakupu na podglądzie. To produkcja bez ludzi i pieniędzy: bez danych osobowych, z płatnością testową, bez prawdziwej poczty i SMS-ów. Jest „gotowa” dopiero ze zmianami zlecenia na sobie — gdy zmian nie da się na niej położyć, kopia nie powstaje, asc twinpokaże błąd (sc twin retry). Zasypia po godzinie bez użycia i budzi się w około minutę. Działa na tym samym silniku sklepu co produkcja: gdy produkcja dostanie nowszy, kopia powstaje od nowa. Znika kilka minut po zamknięciu zlecenia. - Na innych adresach podglądu sklep jest tylko do oglądania.
sc twin # stan kopii jednym zdaniem: czeka na pamięć / powstaje / gotowa / uśpiona / błądsc twin wake # obudźsc twin reset # postaw od nowasc twin retry # ponów po błędziesc twin mail [<id>] # poczta, którą kopia „wysłałaby” kupującymsc twin changes # zmiany sklepu w zleceniu (wejdą przy odbiorze)sc twin pull # dociągnij zmiany właściciela do kopii (starsze zlecenia pracujące w kopii)sc dev budzi kopię. Gdy kopia nie odpowiada, CLI powie, że koszyk lokalnie nie zadziała.
Przed odbiorem runner przechodzi drogę kupującego na podglądzie (do końca w kopii) i mierzy CSS oraz LCP. Gdy kopia dopiero startuje, bramka na nią czeka (do 8 minut). Czerwony zakup blokuje odbiór — powód (podsumowanie naszego sprawdzenia kontraktu i zakupu) masz w danych zlecenia (/info z kluczem, pole serverChecks), także po odesłaniu do poprawki. Pomiar ponad sufit strony wymaga od klienta świadomego „przyjmij mimo to”.
Po odbiorze zmiany sklepu wchodzą na żywy sklep przed budową produkcji, w bezpiecznej kolejności, bez ruszania stanów wariantów w sprzedaży (nowe warianty dostają liczbę potwierdzoną przez właściciela). Poprawka po odesłaniu to po prostu nowa rewizja wydania.
Katalog sklepu bez hasła: sc shop i narzędzia MCP
Dział zatytułowany „Katalog sklepu bez hasła: sc shop i narzędzia MCP”
Na katalogu zlecenia pracujesz kluczem zlecenia — tym samym, którym pchasz kod. Nie potrzebujesz hasła ani logowania do panelu; nigdy nie proś właściciela o jego hasło. Twój Claude Code ma narzędzia sklepu w sc mcp (.mcp.json klonu już je włącza), a te same polecenia masz w terminalu:
sc shop scope # zakres zlecenia po polsku: co wolno, czego niesc shop products # produkty (produkcja + zmiany zlecenia)sc shop create-product --title "Kosz jesienny" --price 120 --stock 5 # --stock: stan na start (właściciel potwierdzi)sc shop create-product --title "E-book" --price 29 --untracked # bez liczenia stanu (plik doda właściciel po odbiorze)sc shop text <id> --description "…" --status publishedsc shop variants <id> --json '[{"id":"variant_…","title":"Standard","price":45}]'sc shop categories · sc shop create-category --name "Prezenty" · sc shop set-categories <id> <pcat_…>sc shop photo <id> ./zdjecie.jpg --main --alt "Kosz jesienny" # zdjęcie z pliku, jako głównesc shop state # wersja wydania i czy podgląd już ją masc shop todo "Włączyć dostawę InPost" "Ustawić BLIK" # lista dla właścicielasc panel --shop # panel zlecenia w przeglądarce, już zalogowanyWszystko trafia do wydania zlecenia — tak samo jak z panelu: ten sam zakres, podgląd po przebudowie, wejście na żywy sklep przy odbiorze. Klucz działa przez całe zlecenie: krótką przepustkę narzędzie trzyma w .git/sc-shop-pass.json (tylko dla Ciebie, poza każdym commitem) i odnawia samo. Po zamknięciu zlecenia usłyszysz „zlecenie zamknięte” i nic nie zostanie wysłane. Klucz idzie tylko do platformy przez https — SC_OPS_URL z http:// dostanie odmowę. Link z sc panel --shop to hasło na 2 minuty: otwiera się w przeglądarce, a na ekran trafia tylko wtedy, gdy przeglądarki nie da się otworzyć — nie wklejaj go nikomu.
Ustawień sklepu nie zmienisz — dostaw, płatności, promocji i reguł, programu lojalnościowego, portfeli, producentów ani plików cyfrowych produktu. Sklep odmówi z powodem, a narzędzie powie, co zrobić: dopisz to sc shop todo (shop_owner_todo), a właściciel dostanie listę w wątku zlecenia.