Skip to content
DashForDevs
Why DashForDevs

Ship In A Weekend

One command scaffolds a complete storefront. Another ships its static assets to the CDN. What sits between them is the part only you can do: making it look like your brand.

my-storefront

npx dash4devs init my-storefrontNext.js App Router project writtenSDK installed and wired to your keysPublic and secret keys read from your organizationnpx dash4devs buildSite builtChanged assets uploaded to the CDNDeploy activated
The two commands, drawn rather than recorded. Both are commands the CLI ships, and each line under them is one of the things that step does.

The Two Commands

Both are commands the CLI ships. Every line under them is verifiable by running one.

Scaffold
npx dash4devs init
Deploy assets
npx dash4devs build
Project it writes
Next.js, App Router
Upload
Only the assets that changed
Activation
Atomic, so a half-upload is never live
Without keys
Placeholders written into .env.local, named for what goes in them

One Command, A Whole Project

Saturday morning.

npx dash4devs init is a scaffolder, not a zip download. It prompts for your store name, URL and API keys, writes a complete Next.js App Router project already wired to the SDK, runs the install, and seeds demo categories and products if you hand it a secret key, so the storefront is not an empty page on first run.

No keys yet? Skip the prompts. The scaffolder writes placeholders into .env.local and names the variables you will need to fill in, so waiting on credentials never stops you starting.

Saturday afternoon

Change The Parts That Make It Yours

What you have is ordinary Next.js: pages, components and SDK calls. Swap the theme, rebuild the product grid, add the pages your brand needs. The data layer is already done, so the weekend goes into the things a customer will actually see.

Or hand that part to an AI agent

app/product/[slug]/page.tsx

import { dash } from "@/lib/dash"export default async function Product({ params }) {  const product = await dash.products.get(params.slug)  const reviews = await dash.products.getReviews(params.slug)  // …render your design around real data}

Ship It To The Edge

Sunday. When it looks right, the build command runs next build, scans your static assets, uploads only the files that changed, activates the deploy atomically and writes the asset prefix back into your environment. A real pipeline, not a command that prints a success message.

A Complete Project

Next.js App Router, dependencies installed, the SDK already wired.

Seeded, Not Empty

Demo categories and products, so the first run is a store rather than a blank page.

Placeholders If You Skip The Keys

Written into .env.local and named for what goes in them.

Incremental Upload

Only changed assets go over the wire to the CDN.

Atomic Activation

A half-uploaded deploy is never the live one.

Code You Own

In a framework you already know, with nothing you cannot replace.