Skip to main content

Forge

@goodcraft/forgev2026.06.14.3· 1d agoMODELS
01README

Laravel Forge — list servers, audit and idempotently provision sites for git monorepos, set a site's .env from a vault reference, install LetsEncrypt SSL for the bare (non-www) domain, and manage deployments (set deploy script, deploy with polling, read the deploy log).

02Models1
@goodcraft/forgev2026.06.14.3forge.ts

Global Arguments

ArgumentTypeDescription
apiTokenstring
baseUrlstring
fn sync()
List all servers in the Forge account (read-only)
fn auditSite(sites: array)
Detect which expected sites exist across servers (read-only; ready=true means all present)
ArgumentTypeDescription
sitesarray
fn provisionSite(repository: string, dryRun: boolean, sites: array)
Idempotently provision sites for a git monorepo: create site (project_type php), connect git with composer=false, and set the deploy script. dryRun=true (default) plans without writing. First deploy is intentionally out of scope (needs .env + DNS); use installSsl for certificates.
ArgumentTypeDescription
repositorystring
dryRunboolean
sitesarray
fn setEnv(server: number, domain: string, env: string)
Write a site's .env from supplied content (pass `env` as a vault expression so secrets never appear in args/logs). Stores only key names + byte count, never values.
ArgumentTypeDescription
servernumber
domainstring
envstring
fn installSsl(server: number, domain: string, domains: array, dryRun: boolean)
Obtain and install a LetsEncrypt SSL certificate for a site's bare (non-www) domain. Requests the cert for the domain only — no www variant and no www redirect — and is idempotent (skips when an active installed cert already covers the domain). dryRun=true (default) plans without requesting a certificate.
ArgumentTypeDescription
servernumber
domainstring
domainsarray
dryRunboolean
fn deploy(server: number, domain: string, wait: boolean, dryRun: boolean)
Trigger a Forge deployment for a site (runs its deploy script) and optionally poll until it finishes. dryRun=true (default) plans without deploying.
ArgumentTypeDescription
servernumber
domainstring
waitboolean
dryRunboolean
fn deployLog(server: number, domain: string)
Fetch the latest deployment log for a site (read-only) — useful for diagnosing a failed deploy.
ArgumentTypeDescription
servernumber
domainstring
fn setDeployScript(server: number, domain: string, script: string, dryRun: boolean)
Set a site's deployment script (PUT). dryRun=true (default) plans without writing.
ArgumentTypeDescription
servernumber
domainstring
scriptstring
dryRunboolean

Resources

servers(infinite)— Snapshot of the servers in the Forge account
siteReadiness(infinite)— Readiness audit of a set of expected sites across servers
provisionResult(infinite)— Outcome of the last provisionSite run
envResult(infinite)— Non-sensitive summary of the last setEnv call (no secrets)
sslResult(infinite)— Outcome of the last installSsl call (LetsEncrypt certificate)
deployResult(infinite)— Outcome of the last deploy call
deployLog(infinite)— Latest deployment log for a site (read-only)
deployScriptResult(infinite)— Outcome of the last setDeployScript call
03Previous Versions2
2026.06.14.2Jun 14, 2026

Modified 1 models

2026.06.14.1Jun 14, 2026
04Stats
A
100 / 100
Downloads
0
Archive size
17.5 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels