This repository holds the agent skill and operational documentation for Gamma-Napp.
The application code stays in https://github.com/OpenMarketsFoundation/Store-Front-Nsite.
Before execution, read these sources in this order:
skill.mdhttps://github.com/OpenMarketsFoundation/Gamma-Napp/blob/main/AGENTS.mdhttps://github.com/OpenMarketsFoundation/Gamma-Napp/blob/main/IMPLEMENTATION_PLAN.mdhttps://github.com/OpenMarketsFoundation/Gamma-Napp/blob/main/NSITE%20APP%20INTEGRATION.mdhttps://github.com/OpenMarketsFoundation/Gamma-Napp/blob/main/NSITE_DEPLOYMENT_VERIFICATION.md
If instructions conflict, prefer skill.md for execution flow and deployment gates.
Before doing anything else, the agent must ask:
"Choose one mode: 1) clone/edit/deploy, 2) rebuild from scratch, 3) clone/deploy existing nsite."
Then run only the selected workflow.
Use this when code already exists and you want changes shipped quickly.
- Clone and install:
git clone https://github.com/OpenMarketsFoundation/Store-Front-Nsite.gitcd Gamma-Nappnpm install
- Apply requested edits in existing architecture:
- Identity/relay:
composables/useShopIdentity.js,composables/useRelayLists.js - Market/order:
composables/useMarketplace.js,composables/useNostrOrders.js,composables/useLightningInvoice.js,composables/useFiatToSats.js - Clone/deploy UX:
composables/useNsiteClone.js,components/shop/NsiteCloneFab.vue
- Identity/relay:
- Validate app build and clone logic:
npm run generatenpm run test:nsite-clone
- Deploy:
nsyte deploy ./.output/public --fallback /index.html --sec <NSEC_FROM_RUNTIME>
- Verify deployment:
nsyte status --sec <NSEC_FROM_RUNTIME>- Open
https://<npub>.nsite.lol/
Use this when you want a clean reimplementation with the same behavior.
- Create a fresh Nuxt app structure compatible with Gamma-Napp.
- Rebuild required capabilities from the referenced project docs:
- Merchant resolution: local config in dev, hostname npub in nsite production
- Discovery relay bootstrap:
relay.ditto.pub,relay.damus.io,relay.primal.net - Relay model:
kind:10002inbox/outbox separation - Catalog:
kind:30402product parsing and safedroute encoding - Checkout: 4-step flow with Gamma order event
kind:16type:1 - Payment path:
kind:16type:2invoice pluslud16fallback - Clone paths: newcomer and existing-user flows
- Add nsite deploy support:
- static output build
.nsite/config.json- deploy/status command compatibility
- Validate:
npm run generatenpm run test:nsite-cloneor equivalent clone manifest test
- Deploy and verify exactly like Mode 1.
Use this when the goal is to fork an existing nsite deployment.
- Resolve the source nsite identity and manifest.
- Trigger clone flow using the
@nsite/stealthisintegration path. - If the source is a named site (
kind:35128), publish the newcomer clone as a root manifest (kind:15128) and stripdandnametags. - Publish the clone for the target identity.
- Verify target deployment:
nsyte status --sec <NSEC_FROM_RUNTIME>- Open
https://<target-npub>.nsite.lol/
- Local/dev merchant source:
public/shop-config.json - Production merchant source: hostname subdomain (
npub1...ornpubs1...normalized tonpub1...) - Catalog reads use merchant outbox relays, not fixed operational relays
- Order events follow Gamma format (
kind:16,type:1) and includeitemtags in30402:<pubkey>:<d-tag>format - Always URL-encode and decode product
dvalues - Keep the fallback invoice path via merchant
lud16
- Never hardcode or commit
nsecvalues - Never print secrets into docs, logs, commit messages, or screenshots
- Runtime secret input only: use
<NSEC_FROM_RUNTIME>placeholders - Redact any discovered secrets before handoff
A run is complete only when all checks pass:
npm run generatesucceedsnpm run test:nsite-clonesucceeds or equivalent passes in Mode 2nsyte deploy ./.output/public --fallback /index.html --sec <NSEC_FROM_RUNTIME>succeedsnsyte status --sec <NSEC_FROM_RUNTIME>confirms healthy publishhttps://<npub>.nsite.lol/is reachable and serves the expected app
At completion, return:
- selected mode (
1,2, or3) - repo and git revision used
- build result
- test result
- deploy command used without secrets
- nsite status summary
- live URL
- known issues or
none