Skip to content
Noite
Esc
↑↓navigate↵open⌘Jpreview
On this page

CLI

Deploy prebuilt dist directories over Git smart-HTTP with @noitenow/cli.

@noitenow/cli deploys a CI-built dist plus wrangler.jsonc as a synthetic fast-forward commit over Git smart-HTTP — zero server build. Same auth as git push (Basic git + profile API key, push role suffices, never force).

Install

Bun must be on the machine that runs it (ships as a Bun bundle):

bun add -g @noitenow/cli   # Bun
npm i -g @noitenow/cli     # npm/pnpm/yarn — same tarball
bunx @noitenow/cli deploy  # one-off, no install
bunx @noitenow/cli deploy --slug <slug> --url https://git.<domain> --token $NOITE_API_KEY

Flags

Flags fall back to env, then to GitHub Actions context:

Flag Env Actions default
--dist — dist
--slug NOITE_SLUG repo name, slugified
--url GIT_PUBLIC_BASE / NOITE_BASE —
--token NOITE_API_KEY / NOITE_GIT_TOKEN —
--wrangler — wrangler.jsonc
--message — deploy <sha12>
--comment — update (create / off)

app, api, git slugs are reserved and refused. The tree carries dist/* + wrangler.jsonc with no package.json, so the runner skips to release → celld deploy. Commits parent the remote tip (fast-forward); values are never logged, and the token travels in the remote URL exactly like a plain git push.

Workflow

- run: bun run build
- run: bunx @noitenow/cli deploy --comment update
  env:
    NOITE_API_KEY: ${{ secrets.NOITE_API_KEY }}
    NOITE_BASE: https://git.<domain>

Outputs and PR comments

In Actions it writes url= + sha= to $GITHUB_OUTPUT for downstream steps, and posts (or updates via marker) a PR comment with gh — no GitHub App needed:

  • --comment update (default): one comment per PR, updated on each deploy.
  • --comment create: a new comment per deploy.
  • --comment off: no comment.

Commenting soft-fails: missing gh, missing token, or no PR number only warns — the deploy already succeeded.

Was this page helpful?