Repository navigation
Glossary
Every page here explains its own terms where it uses them. This one collects them in one place: each term with a short meaning and links to the pages that use it, each link landing on the section that uses it most. Use it as an index, too: search this page for a word and follow the links.
Tip
TL;DR: A few words carry most of it. The bootstrap stub is the one file an app commits; it loads the real Makefile from the per-machine cache. Every build step runs in a throwaway container. The keep model decides what ships, the stage holds it, the tarball packs it. Developer modules, fetched by make dev-init, add the App Store, workflow, analyser and integrity targets.
| Term | What it means | Where |
|---|---|---|
-j |
make's parallel mode. make dist-signed and make release run their steps in order and need it off |
Integrity signature |
@nextcloud/vite-config |
Nextcloud's shared vite configuration, the base most vite apps build on. It sets build.sourcemap
|
Build tools |
@nextcloud/vue |
Nextcloud's Vue component library. Imported by its root, it pulls the whole library into the build; lint-vue-imports asks for per-component entry points |
Workflows · Bundle analysis |
@nextcloud/webpack-vue-config |
Nextcloud's shared webpack configuration for the common Vue setup | Build tools · Checkout audit |
[m] |
the mark in the help for a maintainer target, one that needs write access to the repository or the App Store signing key | Integrity signature · Target reference |
__DIR__ |
PHP's constant for the directory of the current file. A path the shipped PHP builds from it names a directory the app reads at run time, which consistency-audit holds against the shipped file set |
Checkout audit |
| AIO | Nextcloud All-in-One, the official container setup. ncmake deploys into it with make cp
|
Installation · Building and packaging · Step by step |
ALL |
ALL=1 on make cache-clean: remove every entry but a foreign one, the whole cache |
Target reference |
| Alpine | a small Linux distribution. The official PHP images ncmake builds on are its cli-alpine variants |
How ncmake understands your app · Per-app tuning |
AMEND |
make changelog AMEND=1: fold the new entries into the current commit; refused once it is pushed |
Releasing |
| analyser | a report target from a developer module that reads the app and changes nothing: bundle-report and build-audit on the bundle, consistency-audit and build-verify on the checkout |
Checkout audit · Bundle analysis · Build tools · Target reference · Per-app tuning · Why ncmake · AI assistant · Bundle report · How ncmake understands your app |
analysis_image |
the image for composer and psalm, composer:2 by default: current PHP, fully tooled |
Per-app tuning · How ncmake understands your app |
| API | the interface programs talk to a service through, here GitHub's and the App Store's | App Store · Workflows · Per-app tuning · Workflow updater |
| App id | the <id> in appinfo/info.xml. It names the tarball and the installed directory, whatever the checkout directory is called |
How ncmake understands your app · Installation · App Store · Checkout audit · Getting started · GitHub App · Integrity signature · Step by step |
| App Store | apps.nextcloud.com, where Nextcloud servers find and update apps. See App Store | App Store · Getting started · Integrity signature · Releasing · Checkout audit · Build tools · Target reference · Installation · Step by step · Why ncmake · AI assistant · Building and packaging · How ncmake understands your app |
app-certificate-requests |
the Nextcloud repository a CSR goes to as a pull request. Its merge issues the certificate | App Store |
APP_ID |
the placeholder for the app id in the install commands | Installation |
appinfo/info.xml |
the app's manifest: id, version, dependencies. ncmake reads its id, version and PHP floor from it | Checkout audit · How ncmake understands your app · Releasing · Why ncmake · Workflows · Installation · Building and packaging · Target reference |
apps.json |
the App Store's app list, which the read-only targets cache with ETag under build/cache/
|
App Store |
apps/ |
the directory a Nextcloud server loads apps from, custom_apps in a setup such as AIO. TARGET names it |
Installation · Building and packaging · Step by step |
appstore_api-token |
the App Store API token, kept in the certificate directory and used by register, publish and the queries |
App Store |
ARGS |
the variable that passes arguments through to composer, npm or an analyser: make npm ARGS="run dev"
|
Checkout audit · Target reference · Bundle analysis · Building and packaging |
| artifact | a file a build produces, such as the release tarball under build/artifacts/dist/
|
Building and packaging · How ncmake understands your app · Installation · Step by step · Why ncmake · Workflows |
| author association | a commenter's relation to the repository. Only OWNER, MEMBER or COLLABORATOR can start the rebase comment |
Workflow updater |
| autoloader | the PHP file that loads classes on demand. An app's composer/ holds its own, which the server loads in place of its fallback for lib/
|
Building and packaging · How ncmake understands your app |
| backport | a change carried from main to a maintenance line, as a pull request against stableX.Y. git cherry-pick -x records the original commit |
Releasing |
bare |
RUNTIME=bare: run composer and npm from the host's PATH instead of a container |
Checkout audit · How ncmake understands your app · Installation · Bundle analysis · Per-app tuning · Target reference · Why ncmake |
| barrel | a module that only re-exports others. Importing a package by its root goes through its barrel | Bundle analysis |
| bind mount | a host directory mounted into a container. On SELinux hosts it may need the :z label |
How ncmake understands your app · Installation |
block-unconventional-commits |
a Nextcloud workflow template that fails a pull request whose commits do not follow Conventional Commits | Workflows · Step by step |
BODY |
BODY=<path> replaces the text below the bullets of the pull request make changelog opens |
Releasing · Workflows |
| bootstrap stub | the dozen-line GNUmakefile an app commits. It fetches the real Makefile into the cache and includes it. See Getting started
|
Getting started · Workflows · AI assistant · Per-app tuning · Step by step · Why ncmake |
| branch protection | GitHub rules on a branch, such as changes only through pull requests, required checks and signed commits | Releasing · Workflow updater · Workflows · Checkout audit · GitHub App |
branch-cleanup |
the shipped workflow that deletes a merged pull request's branch. See Deleting merged branches | Deleting merged branches · Step by step · Workflows |
build-audit |
the analyser that names what in the checkout makes the bundle the size it is. See Bundle analysis | Bundle analysis · Build tools · Target reference · AI assistant · Bundle report · How ncmake understands your app · Per-app tuning · Step by step |
build-verify |
the analyser that checks whether committed build output comes from the source beside it. See Checkout audit | Checkout audit · Build tools · How ncmake understands your app · Integrity signature · Per-app tuning · Target reference · AI assistant · Step by step |
build/ |
ncmake's generated working directory with the stage and the tarball. Never edited, never committed; make clean removes it |
Getting started |
build/cache/ |
where the App Store queries keep apps.json and integrity-check extracts a tarball |
App Store · Integrity signature |
bundle-report |
the analyser that measures what a browser downloads per page. See Bundle analysis | Bundle analysis · Build tools · Target reference · AI assistant · Building and packaging · Bundle report · How ncmake understands your app · Per-app tuning · Step by step |
| bundler | the tool the build script runs to turn the frontend source into the shipped assets: webpack, vite, rspack, esbuild, rsbuild. See Build tools
|
Build tools · Bundle analysis · Checkout audit · Step by step · Target reference |
| bundler config |
vite.config.*, webpack.config.* or rspack.config.*, or the file the build script passes with --config. ncmake reads it as text and never runs it. See Build tools
|
Build tools · Checkout audit · Bundle analysis · Target reference · Workflows |
| cache | the per-machine directory ~/.cache/ncmake/ holding the real Makefile, the modules, the analysers, the Node.js lines and the npm and corepack downloads, shared by every ncmake app. make cache-clean lists and removes its entries |
Getting started · How ncmake understands your app · Target reference · App Store · Bundle analysis · Checkout audit · Per-app tuning · Step by step · Why ncmake · Workflows |
cache-clean |
lists the entries of the ncmake cache with size, last change and status and removes the ones picked; ALL=1 the whole cache, DRY=1 only lists |
Target reference · How ncmake understands your app · Per-app tuning |
| ceiling | the newest PHP minor the server of <nextcloud max-version> runs on. php-compat checks the app on it, and a lower <php max-version> is a finding. A higher one raises it, but no further than the ceiling of master, and above that is a finding too. See Checkout audit
|
Checkout audit · Target reference · How ncmake understands your app |
cert_dir |
the certificate directory, ~/.nextcloud/certificates by default, with the app's key, certificate and API token |
App Store · Per-app tuning |
| certificate | the App Store certificate for one app id, issued against a CSR | Integrity signature · App Store · Step by step · Per-app tuning · Target reference · How ncmake understands your app · Installation · Workflows |
CERTIFICATE_CN |
integrity-check: the certificate's CN is not the app id |
Integrity signature |
CERTIFICATE_MISMATCH |
integrity-check: signed with a certificate other than the committed one |
Integrity signature |
| changelog |
CHANGELOG.md. make changelog writes its sections from Conventional Commits. See Releasing
|
Releasing · Checkout audit · Building and packaging · Target reference · Step by step · Why ncmake · App Store · Git tips · How ncmake understands your app · Per-app tuning |
changelog-lint |
the check that the App Store finds this release in CHANGELOG.md; make tag runs it. See Checkout audit
|
Checkout audit · Releasing · Target reference · Building and packaging · How ncmake understands your app · Per-app tuning |
check-build |
the check behind make dist that git-ignored build outputs such as js/ exist |
AI assistant |
| chunk | a JavaScript file the bundler splits off, loaded by an entry or by a dynamic import | Bundle analysis · Build tools |
| CI | continuous integration: the checks GitHub Actions runs on pushes and pull requests. With CI set, a run removes no images afterwards |
Workflows · Integrity signature · Why ncmake · Checkout audit · How ncmake understands your app · Target reference · Workflow updater · Bundle analysis · Getting started · GitHub PAT · Installation · Releasing |
CLAUDE.md |
an assistant's own project instructions, also AGENTS.md. Keep what is specific to the app there and leave ncmake to the skill file |
AI assistant |
clean |
make clean: remove build/
|
Bundle analysis |
| Client ID | the public 20-character identifier of a GitHub App, which replaces the numeric App ID | GitHub App · Workflow updater |
cliff.toml |
a changelog configuration in the git-cliff format. An app's own cliff.toml replaces the built-in one |
Releasing |
| CN | the common name in a certificate. In an app certificate it must be the app id | Integrity signature |
COMMIT |
COMMIT=1 on make changelog and the workflow targets: commit the result on an ncmake/ branch and print the push command |
Workflows · Releasing · Deleting merged branches |
commit.gpgsign |
the git setting that signs every commit. COMMIT=1 signs from it, like make version
|
Workflows |
| composer | PHP's package manager. ncmake runs it in a container: make composer ARGS=...
|
How ncmake understands your app · Building and packaging · Checkout audit · Target reference · Why ncmake · Per-app tuning · Installation · Workflows · AI assistant · Releasing · Step by step · Workflow updater |
composer.json |
the PHP package manifest. Real runtime requirements in it make make build run composer |
Checkout audit · Why ncmake · Building and packaging · How ncmake understands your app · Releasing · Workflows |
composer.lock |
the resolved PHP dependency versions. make version re-syncs it |
Checkout audit |
consistency-audit |
the analyser that holds info.xml, composer.json and package.json against each other. See Checkout audit
|
Checkout audit · Target reference · AI assistant · Building and packaging · Getting started · How ncmake understands your app · Per-app tuning · Step by step |
| container | a throwaway, isolated process started from an image. Every composer and npm run is one, removed when it ends | Installation · How ncmake understands your app · Target reference · Checkout audit · Building and packaging · Per-app tuning · Step by step · Bundle analysis · Why ncmake · Releasing · Workflows · AI assistant |
Containerfile |
the recipe an image is built from. make php-containerfile prints the one of the PHP build image |
How ncmake understands your app · Target reference |
| Conventional Commits | the commit subject convention type(scope): text (feat, fix, ...), from which the changelog is generated |
Why ncmake · Releasing · Step by step |
| corepack | the Node tool that provides pnpm and yarn in the version the packageManager field of package.json names |
How ncmake understands your app · Building and packaging · Checkout audit · Per-app tuning · Target reference |
cp |
make cp: deploy the staged app into a running container |
Installation · Building and packaging · Getting started · Per-app tuning · Step by step · Why ncmake |
create-pull-request |
the GitHub Action (peter-evans/create-pull-request) the workflow updater opens its pull request with |
Workflow updater |
cron |
the schedule line of a workflow. The workflow updater runs daily at 05:30 UTC | Workflow updater |
| CSR | certificate signing request. make csr creates the key and the request to submit to Nextcloud |
App Store · Step by step · Target reference |
| CSS | the stylesheets of the frontend. The analysers look for them in css/ beside js/, and a page counts its entry's stylesheet. See Bundle analysis
|
Bundle analysis · Workflows · Build tools |
| DCO | Developer Certificate of Origin: the Signed-off-by line git commit -s adds, which ncmake's commits carry |
GitHub App · Workflow updater · Workflows |
| default branch | the branch a repository opens on, main in ncmake apps. Scheduled and comment-triggered workflows run from it |
Workflow updater · Workflows · Git tips · Releasing |
delete-release |
deletes one App Store release after showing the list and asking | App Store · Target reference |
| Dependabot | GitHub's dependency updater. With ncmake it keeps npm and Composer; the workflows belong to the workflow updater | Workflow updater · Why ncmake · GitHub App · Workflows |
| detached HEAD | a checkout of a commit instead of a branch. The guarded aliases stop on it | Git tips |
dev-clean |
removes the developer modules from the cache again | App Store · Integrity signature · Target reference · Workflows |
dev-init |
fetches the developer modules into the cache, once per machine | Target reference · App Store · Bundle analysis · Checkout audit · Integrity signature · Workflow updater · Workflows · Releasing · Step by step |
| developer module | an optional set of targets (App Store, workflows, analysers, integrity, gh) from mk/ in the ncmake repository, fetched by make dev-init
|
Target reference · App Store · Integrity signature · Workflows · AI assistant · Bundle analysis · Checkout audit · Step by step |
DIR |
DIR=<path> points integrity-sign or integrity-check at an existing tree in place of the stage |
Integrity signature · Target reference |
dist |
make dist: stage the shipped file set and pack the release tarball |
Building and packaging · Installation · Integrity signature · Checkout audit · Step by step · Target reference · Why ncmake · Workflows · App Store · Bundle analysis · How ncmake understands your app · Releasing |
dist-clean |
removes every git-ignored build output, for a build from scratch | Building and packaging · Checkout audit · Target reference |
dist-signed |
make dist-signed: a tarball with the integrity signature inside. See Integrity signature
|
Integrity signature · Target reference |
| docker | a container runtime. ncmake uses it when podman is absent, or with RUNTIME=docker
|
How ncmake understands your app · Installation · Per-app tuning · Target reference · Building and packaging · Why ncmake |
| Docker Hub | the default image registry, which allows the fewest anonymous pulls (100 per IPv4 address or IPv6 /64) | How ncmake understands your app |
| Docker Official Images | the images Docker publishes itself, such as php, composer and node
|
How ncmake understands your app |
| DRY | don't repeat yourself: each fact lives in one place and the rest is derived from it. On image-clean and cache-clean, DRY=1 only lists |
Target reference · Why ncmake · Workflows |
| dynamic import |
import() in the source: the code arrives when the page asks for it, not when the page opens |
Bundle analysis |
| ECR Public | Amazon's public registry, ncmake's first source for the Docker Official Images | How ncmake understands your app |
ENGINE |
the container CLI for make cp, docker first, independent of RUNTIME
|
Building and packaging · Installation · Per-app tuning · Target reference |
engines.node |
the Node range in package.json. It picks the Node line for every npm run, and consistency-audit reports one that admits only end-of-life lines, no released line or no LTS line |
How ncmake understands your app · Checkout audit · Per-app tuning |
| entry | a built file no other file imports, the start of a page | Bundle analysis · Target reference · Workflows |
| EOL | end of life: a version that gets no more updates. The newest end-of-life Nextcloud sets ncmake's lowest build PHP | How ncmake understands your app · Checkout audit · Per-app tuning |
| esbuild | a bundler written in Go. See Build tools | Build tools |
| ESM | ECMAScript modules, files that load each other through import. Only in ESM output can the analysers follow the import graph |
Build tools · Bundle analysis · Checkout audit · Workflows |
| ETag | the HTTP tag that lets the cache ask whether a file changed without downloading it again | App Store · Getting started · Bundle analysis · Checkout audit · Workflows |
ExcludeFileByNameFilterIterator |
the server class that names the files the integrity check ignores, such as .DS_Store and Thumbs.db
|
Integrity signature |
EXTRA_FILE |
integrity-check: the tree has a file the signature does not cover |
Integrity signature |
| fast-forward | moving a branch ahead to a newer commit without a merge commit | Git tips |
fetch.prune |
the git setting that makes every fetch drop the remote-tracking refs of deleted branches | Git tips |
FILE_MISSING |
integrity-check: the signature covers a file the tree does not have |
Integrity signature |
| finding | one result of an analyser, marked [!] (worth changing), [i] (worth knowing) or [ok] (looked for, nothing found). See Bundle analysis
|
Bundle analysis · Checkout audit · Releasing · Build tools · Target reference · Why ncmake |
| fine-grained token | a PAT limited to chosen repositories and permissions, with an expiry date; preferred over the account-wide classic kind | GitHub PAT · GitHub App |
| floor | the PHP make build resolves against: <php min-version>, raised to the floor of the newest end-of-life Nextcloud major |
Checkout audit · How ncmake understands your app · Building and packaging · Per-app tuning · Releasing · Target reference |
force-with-lease |
git push --force-with-lease, a force push that refuses when the remote moved since your last fetch. See Git tips
|
Git tips |
| fork | a copy of a repository under another account. A pull request from a fork never has its branch deleted | Deleting merged branches |
GH |
make publish GH=1: take the GitHub release asset URL of the current version, for you to confirm |
App Store · Step by step |
gh-install |
installs the GitHub CLI from its official package source, for the detected package manager | Target reference · Workflows |
ghcr.io |
GitHub's container registry, where ncmake publishes its PHP build image | How ncmake understands your app · Checkout audit · Per-app tuning · Target reference |
| git alias | a short name for a longer git command. See Git tips | Git tips · Build tools |
| GitHub App | the identity the workflow updater authenticates with, so its commits are verified. See GitHub App | GitHub App · Workflow updater · GitHub PAT · Step by step |
| GitHub CLI (gh) | GitHub's command line tool. make gh-install sets it up; GH=1 and PR=1 use it |
App Store · Target reference · Workflows · Getting started · GitHub PAT · Installation · Step by step |
| github-actions ecosystem | Dependabot's updater for workflow files. Run together with the workflow updater, the two fight over the same files | Workflow updater · Why ncmake |
github-actions[bot] |
the identity commits and pull requests made with GITHUB_TOKEN show up as |
GitHub PAT |
GITHUB_TOKEN |
the token GitHub mints for each workflow run; it cannot change workflow files. As GITHUB_TOKEN or GH_TOKEN in the environment it also raises the GitHub API limit from 60 to 5000 requests an hour |
GitHub PAT · GitHub App · Workflow updater · Integrity signature · Workflows |
.gitignore |
tells git which files to leave out. ncmake reads it to tell built js/ and vendor/ from committed ones |
How ncmake understands your app · Getting started · Why ncmake |
| glob import | an import of every file a pattern matches: import.meta.glob in vite, require.context in webpack and rspack |
Build tools · Checkout audit |
| GNUmakefile | the file name GNU make reads first, before makefile and Makefile. The bootstrap stub is committed under it |
Getting started · Step by step · Checkout audit · AI assistant |
| GPG | the signing tool behind signed tags and commits. make tag creates a signed tag |
Integrity signature · Releasing · Why ncmake |
| gzip | the compression a web server applies on the wire. The analysers give page sizes gzip-compressed | Build tools |
| hashed file name | a file name with a content hash in it, such as app-3f9c1a2b.mjs. build-verify pairs two such names by their content |
Checkout audit |
| head branch | the branch a pull request merges from. GitHub's "Automatically delete head branches" removes it after the merge. See Deleting merged branches | Deleting merged branches · Workflow updater · Step by step · Workflows |
help |
make help: every target with the detected app, version and certificate status. make help-<target> explains one target in depth |
App Store · Bundle analysis · Installation · Integrity signature · Target reference · Workflows · AI assistant · Checkout audit · Step by step |
| image | the template a container starts from, such as the PHP, Node or composer image | How ncmake understands your app · Target reference · Per-app tuning · Checkout audit · Building and packaging · AI assistant · Integrity signature · Step by step · Why ncmake |
image-clean |
removes container images: the ones ncmake pulled (OWN=1), superseded ones (OLD=1); DRY=1 only lists them |
How ncmake understands your app · Target reference · Per-app tuning |
image-setup |
make image-setup: show for each container CLI where ncmake keeps its image record |
Target reference · How ncmake understands your app |
image-sources |
the list in the ncmake repository of which registries to try per image, in order | How ncmake understands your app · Per-app tuning |
IMAGE_CHECK_MIN |
minutes between two update checks of an image, default 1440 | How ncmake understands your app · Per-app tuning |
IMAGE_IDLE_MIN |
minutes without an ncmake run after which the images ncmake pulled are removed, default 10 | How ncmake understands your app · Per-app tuning · Target reference |
IMAGE_SOURCES |
a file of your own that lists the registries per image, used in place of ncmake's core/image-sources
|
How ncmake understands your app · Per-app tuning |
images.txt |
ncmake's record of the images it uses, pulled or found on the host, with when it last used and checked each. It is state, not cache | How ncmake understands your app · Target reference |
| import graph | which file imports which. From each entry the analysers follow the static imports to everything the page loads. See Bundle analysis | Bundle analysis · Build tools · Workflows |
| integrity signature |
appinfo/signature.json, the per-file hash list a Nextcloud server checks an installed app against. See Integrity signature
|
Integrity signature · Target reference · App Store · Building and packaging · Releasing · Step by step · Why ncmake · Per-app tuning · Workflows |
integrity-check |
holds a tree against its signature.json. Needs no key and runs in CI |
Integrity signature · Target reference · Workflows |
integrity-enable |
copies the App Store certificate to .ncmake/certificate.crt. Committed, it marks the app as signed |
Integrity signature · Target reference · Step by step |
integrity-gist-drop |
deletes the signature's secret gist. make publish runs it once the store accepted the release |
Integrity signature · Target reference |
integrity-sign |
writes appinfo/signature.json into the staged tree, or into DIR=<path>
|
Integrity signature · Target reference |
integrity-tag |
the signature step make tag runs; not called by hand |
Integrity signature · Target reference |
integrity:check-app |
the occ command with which a server checks one app's signature. integrity:sign-app signs, and needs the app installed on a server |
Integrity signature |
INVALID_HASH |
integrity-check: the file is there and its content differs |
Integrity signature |
INVALID_SIGNATURE |
integrity-check: the signature does not match the hashes in the file |
Integrity signature |
| JavaScript | the language of an app's frontend. The bundler writes it to js/, and the analysers measure it per page |
Workflows · Build tools |
js/ |
the directory an app's built JavaScript conventionally goes to. Git-ignored, it is a build output | Checkout audit · Bundle analysis · Build tools · How ncmake understands your app · Building and packaging · Getting started |
JSON |
JSON=<file> on an analyser target: print the report and write the JSON of ARGS=--json to <file>, from the same run |
Target reference · Bundle analysis · Checkout audit |
KEEP |
KEEP=1 keeps the images ncmake pulled: the run starts no idle clean-up |
How ncmake understands your app · Per-app tuning |
| Keep a Changelog | the changelog format whose groups make changelog follows: Added, Changed, Deprecated, Removed, Fixed, Security |
Releasing |
| keep model | shipping an allowlist of runtime paths instead of the tree minus an exclude list. See Building and packaging | Building and packaging · Why ncmake · Integrity signature · AI assistant · Getting started · Installation · Workflows |
keep_extra |
the ncmake.mk variable that adds paths to the shipped set. consistency-audit names the line for a directory the app reads at run time and the set leaves out |
Building and packaging · Per-app tuning · Checkout audit |
| krankerl | the established Rust CLI for packaging and publishing Nextcloud apps. See Why ncmake | Why ncmake |
LC_ALL=C |
runs a command in the untranslated C locale, so its output reads the same in every language | Git tips |
lib_node_image |
the image the analysers run in, ncmake-node with the newest LTS line by default. The build steps of build-verify run on the Node line of node_image
|
Checkout audit · How ncmake understands your app · Per-app tuning |
linkTo |
the @nextcloud/router function that resolves a file below the root of an app. One with the app id names a directory the frontend loads at run time, which consistency-audit holds against the shipped file set |
Checkout audit |
lint-eslint |
a Nextcloud workflow template for apps with a frontend | Workflows · Step by step |
lint-info-xml |
a Nextcloud workflow template the ncmake reference apps install | Workflows · Step by step |
lint-php |
the Nextcloud template that derives its PHP matrix from info.xml and runs composer run lint
|
Workflows · Step by step |
lint-php-cs |
a Nextcloud workflow template the ncmake reference apps install | Step by step · Workflows |
lint-php-syntax |
the shipped workflow that runs php -l on a version matrix, for any repository. Its check to require is php-lint-summary
|
Workflows |
lint-shell |
the shipped workflow that runs shellcheck over every tracked shell script |
Workflows · Step by step |
lint-vue-imports |
the shipped workflow that fails a pull request importing @nextcloud/vue by its root |
Workflows · Bundle analysis · Step by step |
lint-web |
the shipped workflow that runs ESLint, Stylelint and html-validate over the JavaScript, CSS and HTML of a repository without a package.json
|
Workflows |
list-for-author |
every App Store app by one author | App Store · Target reference |
list-releases |
the app's published releases on the App Store | App Store · Target reference |
list-releases-full |
the app's published releases as the full store entry | App Store · Target reference |
| lock file |
package-lock.json, pnpm-lock.yaml, yarn.lock or composer.lock: the exact resolved dependency versions. Which one exists picks npm, pnpm or yarn |
Workflows · Building and packaging · How ncmake understands your app · Step by step · Why ncmake · Integrity signature · Releasing · Checkout audit |
| LTS | long-term support: a release line maintained for longer. The build Node is the newest LTS line engines.node allows that is not end of life |
Checkout audit · How ncmake understands your app · Per-app tuning |
| maintenance line | an older release line (X.Y) that still gets fixes, on its own stableX.Y branch. See Releasing
|
Releasing · Step by step · Why ncmake · Workflows |
| make | the build tool every ncmake target runs through | Build tools · Installation · Bundle analysis · Getting started · Step by step · Target reference · Why ncmake |
| Makefile | the file of make rules. ncmake's is core/Makefile, which the stub loads from the cache |
Getting started · AI assistant · Workflows · Per-app tuning · Why ncmake · App Store · Checkout audit · How ncmake understands your app · Integrity signature |
| matrix | a job run once per value, such as per PHP version. Its job names change with the values, so the summary job is the one to require | Workflows |
max-version |
<php max-version> and <nextcloud max-version> in info.xml: the highest PHP and Nextcloud an app declares. consistency-audit holds the Nextcloud one against the newest released major plus one and against master |
Checkout audit · Releasing · Target reference |
| median | the middle value of a sorted series, which a single outlier does not shift. Build tools gives medians per tool | Build tools |
| migration | a database change an app ships. The disable and enable cycle of OCC=1 runs the pending ones |
Installation · Building and packaging · Getting started |
min-version |
<php min-version> in info.xml, the PHP floor the build resolves against |
Checkout audit · How ncmake understands your app · Building and packaging · Per-app tuning |
| mirror | a registry that serves copies of another one's images. ncmake pulls the Docker Official Images from ECR Public and mirror.gcr.io before Docker Hub |
How ncmake understands your app |
| MIT | the license of ncmake | Workflows · Why ncmake |
NCMAKE |
the path of the core Makefile to include. Pointed at a local file, it runs an uncommitted change | Per-app tuning |
ncmake-node |
ncmake's Node image, published for amd64 and arm64: Debian slim with git, the compiler node-gyp needs, the distutils of setuptools for a node-gyp before 10, and Yarn 1, but no Node. The Node line, the official build from nodejs.org, is mounted into it at /usr/local
|
How ncmake understands your app · Per-app tuning |
ncmake-php |
ncmake's PHP build image, published for amd64 and arm64 for every PHP minor from the floor up to the ceiling of Nextcloud master. Built on the host as localhost/ncmake-php when it cannot be pulled. For every minor above that ceiling it is published as ncmake-php:<minor>-next, from the release or the newest alpha, beta or RC, which php-compat runs apart from the range |
Checkout audit · How ncmake understands your app · Target reference · Per-app tuning |
ncmake-signature |
the line in the tag message with the id of the signature's gist, covered by the tag's GPG signature | Integrity signature |
.ncmake-workflows.json |
the lock file of the workflow manager: source, upstream sha and hash of every managed workflow | Workflows · Step by step · Workflow updater |
ncmake.inputs |
the label with the fingerprint of a locally built PHP image's inputs. The image is built again only when one of them changes | How ncmake understands your app |
ncmake.mk |
the optional per-app file with single variable overrides. See Per-app tuning | Per-app tuning · How ncmake understands your app · AI assistant · Building and packaging · Why ncmake · Workflows · App Store · Checkout audit |
| ncmake/ branch | the prefix of every branch ncmake opens: ncmake/release/X.Y.Z, ncmake/ci/..., ncmake/docs/changelog
|
Workflows · Releasing · Workflow updater · Deleting merged branches |
.ncmake/certificate.crt |
the committed public certificate that marks an app as signed and pins the certificate every verification is held against | Integrity signature · Per-app tuning · Step by step · Target reference · Workflows |
NCMAKE_DIR |
the cache location: $XDG_CACHE_HOME/ncmake, else ~/.cache/ncmake
|
Per-app tuning |
NCMAKE_REF |
pins ncmake to a branch or tag, in the stub or on the command line | Getting started · Per-app tuning · Workflows · AI assistant · App Store · Why ncmake |
NCMAKE_TTL_MIN |
minutes between two update checks of the cached Makefile, default 1440 | Getting started · Per-app tuning |
NCMAKE_UPDATER_CLIENT_ID |
the repository secret with the workflow updater's GitHub App Client ID. See GitHub App | GitHub App · Workflow updater |
NCMAKE_UPDATER_PRIVATE_KEY |
the repository secret with the full .pem of the workflow updater's GitHub App. See GitHub App
|
GitHub App · Workflow updater |
nextcloud-version-matrix |
the action a Nextcloud template computes its PHP matrix with, from info.xml at run time |
Workflows |
.nextcloudignore |
an optional exclude list that trims within the shipped file set | Why ncmake · Building and packaging · Integrity signature · Per-app tuning · Workflows |
| nightly | the App Store channel that keeps one development build per app: NIGHTLY=1
|
App Store · Checkout audit · Releasing |
NO_CHANGELOG_LINT |
make tag NO_CHANGELOG_LINT=1: tag without the changelog check |
Checkout audit · Releasing |
NO_COLOR |
turns off the colors of make help
|
Target reference |
| Node | the JavaScript runtime npm runs on, in the version engines.node allows |
Checkout audit · How ncmake understands your app · Per-app tuning · Installation · Target reference · Bundle analysis · Why ncmake · Build tools · Building and packaging · Workflows |
| Node.js release schedule | the start, LTS and end date of every Node line, from schedule.json in nodejs/Release. ncmake picks the build Node from it, and consistency-audit holds engines.node against it |
Checkout audit · How ncmake understands your app · Target reference |
node_build_cmd |
the frontend build command, auto-detected. Set empty in ncmake.mk, it skips the npm build |
Per-app tuning |
node_image |
the image npm runs in, ncmake-node by default, with the Node line engines.node picks |
Per-app tuning · Checkout audit · How ncmake understands your app |
node_modules/ |
npm's install directory. Git-ignored, it is a build output that make dist-clean removes |
Workflows · Building and packaging · How ncmake understands your app |
non-esm |
the finding for webpack and rspack output, whose files load each other through the webpack runtime: each counts as one file, its inside unseen. See Build tools | Build tools |
| npm | Node's package manager. ncmake runs it in a container: make npm ARGS=...
|
How ncmake understands your app · Building and packaging · Build tools · Why ncmake · Checkout audit · Per-app tuning · Target reference · Installation · Step by step · Workflow updater · Workflows |
| npm cache | where npm keeps the tarballs it downloads; ncmake mounts it, and the corepack downloads, from npm/ and corepack/ of the cache into every Node container, so each tarball is downloaded once per host |
How ncmake understands your app · Per-app tuning · Target reference |
| npm ci | installs exactly what package-lock.json records; pnpm and yarn have their frozen-lockfile install in its place. make build runs it before the build script |
Build tools · Building and packaging · How ncmake understands your app · Workflows |
npm-shrinkwrap.json |
an npm lock file under another name. Like package-lock.json, it makes the build run npm ci
|
Building and packaging |
.nvmrc |
a file naming the app's Node version. consistency-audit holds it against package.json and the installed workflows |
Integrity signature · Checkout audit |
| OCC |
OCC=1 on rsync and cp: disable the app, copy, fix ownership and enable it again through Nextcloud's occ
|
Installation · Integrity signature · Per-app tuning · Building and packaging · Step by step · App Store · Getting started · Releasing |
| origin | the git remote a clone came from. ncmake reads the repository URL and its owner from it | Git tips · Workflows · Releasing |
| output directory | where the bundler writes: build.outDir in a vite config, output.path in webpack and rspack, else js/ and css/. build-verify compares what is there |
Build tools · Checkout audit · Bundle analysis |
package-lock.json |
npm's lock file | Building and packaging · How ncmake understands your app |
package.json |
the Node package manifest. A build script in it makes make build run npm |
Workflows · Checkout audit · Why ncmake · Building and packaging · Bundle analysis · How ncmake understands your app · Target reference · Releasing |
packageManager |
the field in package.json that names the pnpm or yarn version corepack provides |
Building and packaging · How ncmake understands your app |
| page | in the analysers: an entry plus its stylesheet, what one addScript and addStyle load in a browser |
Bundle analysis · Build tools · GitHub App · Checkout audit · GitHub PAT · Releasing · Step by step · Deleting merged branches · Why ncmake · App Store · Building and packaging · Getting started · Git tips · Installation · Integrity signature · Target reference |
| PAT | personal access token, the alternative to a GitHub App. See GitHub PAT | GitHub PAT · GitHub App · Workflows |
| PEM | the text form of a certificate or key, between -----BEGIN and -----END lines |
GitHub App · Integrity signature |
PHP |
the variable `PHP=min | max: maxruns composer onanalysis_image, minonphp_image, the build floor. make buildalways usesmin` |
php -l |
PHP's syntax check. php-compat and lint-php-syntax run it over the PHP files |
Checkout audit · Workflows |
| PHP extension | a compiled PHP module, named ext-<name> in composer.json. consistency-audit holds the required ones against the <lib> entries in info.xml
|
Checkout audit · How ncmake understands your app |
php-compat |
the analyser that checks the app against the PHP versions its servers run. See Checkout audit | Checkout audit · Target reference · How ncmake understands your app · Per-app tuning · Step by step |
php_base_image |
the official PHP image a local php_image is built from |
Per-app tuning |
php_build_cmd |
the PHP build command, auto-detected. Set empty in ncmake.mk, it skips the PHP build |
Per-app tuning |
php_extensions |
the PHP extensions compiled into php_image. One the published image lacks makes ncmake build the image locally |
How ncmake understands your app · Per-app tuning · Target reference |
php_image |
the build image, ghcr.io/ernolf/ncmake-php:<min>: the PHP floor with the extensions a Nextcloud server offers. See Per-app tuning
|
Per-app tuning · How ncmake understands your app |
PHP_VERSIONS |
the repository variable with the PHP versions lint-php-syntax checks; a .php-version file comes next, then the default 8.2 8.4
|
Workflows |
phpunit |
the Nextcloud workflow templates for apps with PHPUnit tests, such as phpunit-mariadb
|
Workflows |
| pinning | fixing ncmake to a tag with NCMAKE_REF
|
Getting started · AI assistant · Why ncmake |
| placeholder | a stand-in for a value: $default-branch in a workflow template, filled in at install; APP_ID and <version> in the install commands |
Workflows · Installation · Build tools |
| pnpm | an npm alternative, used when the app has pnpm-lock.yaml
|
Building and packaging · How ncmake understands your app · Build tools · Step by step |
| podman | a daemonless container runtime, ncmake's first choice | Installation · How ncmake understands your app · Per-app tuning · Target reference · Why ncmake · Workflows |
post-install-cmd |
a composer script that runs after the install, where an app moves dependencies into a prefixed namespace under lib/Vendor
|
Building and packaging |
PR |
PR=1: implies COMMIT=1, then pushes the branch and opens the pull request through gh
|
Workflows · Releasing · Step by step · Deleting merged branches · Target reference |
pre-release |
a version such as 1.2.0-rc.1, released through the same steps as any other. See Releasing
|
Releasing · App Store · Checkout audit · Step by step · Why ncmake |
| private key | the secret half of a key pair: <app_id>.key signs for the App Store, a GitHub App's .pem mints its tokens. Never committed |
GitHub App · App Store · Workflow updater |
| psalm | a static analyser for PHP: make psalm
|
Building and packaging · Target reference · How ncmake understands your app · Per-app tuning · Workflows · Step by step |
psalm-matrix |
a Nextcloud workflow template that runs psalm in CI | Workflows · Step by step |
publish |
make publish: sign the bytes a release URL serves and register them with the App Store |
App Store · Integrity signature · Target reference · AI assistant · Releasing · Step by step · Why ncmake |
| publishing rules | the App Store's rules for an app. consistency-audit checks the two that info.xml decides: no <nextcloud max-version> beyond the newest released major plus one, and no Nextcloud in the app name |
Checkout audit |
pull.ff |
pull.ff only: git pull only fast-forwards, and stops when the local branch has commits of its own |
Git tips |
push.autoSetupRemote |
the git setting that makes the first push of a new branch set its upstream without -u
|
Git tips |
| rate limit | the GitHub API budget: 60 requests an hour anonymously, 5000 with a token | GitHub PAT · How ncmake understands your app · Workflows |
ratings |
the app's App Store ratings | App Store · Target reference |
| rebase comment |
@ncmake-updater rebase on the updater's pull request, which rebuilds it on the current default branch. See Workflow updater
|
Workflow updater |
register |
make register: register the app id and its certificate with the App Store, once |
App Store · Step by step |
| registry | a server that hands out container images, such as Docker Hub, ECR Public or ghcr.io. image-sources lists which ones to try |
How ncmake understands your app · Per-app tuning · Target reference |
release |
make release: dist plus sign in one step |
App Store · How ncmake understands your app · Integrity signature · Releasing · Workflows |
| release branch |
ncmake/release/X.Y.Z, the branch make version opens for the bump and the changelog |
Releasing · Step by step · Deleting merged branches · Git tips · Why ncmake |
| release gate | a check a release has to pass. Through the integrity signature, a runner build that does not reproduce stops the release | Integrity signature |
release.yml |
the shipped workflow that builds the tarball and attaches it to a GitHub release | Why ncmake · Workflows · Workflow updater |
| remote-tracking ref | git's local record of a remote branch, such as origin/main. --prune drops those of deleted branches |
Git tips |
| Renovate | a dependency updater like Dependabot | GitHub App |
| reproducible build | a build that yields the same bytes from the same source every time. Lock files, .nvmrc and pinned images keep it so; build-verify tests it, and the integrity signature depends on it |
Building and packaging · Checkout audit · Integrity signature |
| required check | a CI job that branch protection makes a merge wait for. For a matrix, require its summary job | Checkout audit · Workflows · Releasing |
resolve.alias |
the bundler setting that maps a name to a directory. build-verify reads it to tell source files from build output |
Build tools · Checkout audit |
| REUSE | the FSFE standard for declaring the license of every file. make reuse checks it |
Workflows · Target reference · Building and packaging · How ncmake understands your app · Releasing · Why ncmake |
| root certificate | Nextcloud's resources/codesigning/root.crt, against which the server checks that an app certificate was issued by Nextcloud |
Integrity signature |
| rootless | a container runtime run by an ordinary user, without root | How ncmake understands your app · Installation · Per-app tuning · Target reference |
| RSA-PSS | the signature scheme of signature.json. At salt length 0 it is deterministic, so openssl and occ produce the same bytes |
Integrity signature |
| rsbuild | a build tool on top of rspack. See Build tools | Build tools |
| rspack | a webpack-compatible bundler written in Rust. See Build tools | Build tools · Checkout audit |
rsync |
make rsync: deploy the staged app to an apps/ directory, local or over ssh |
Installation · Building and packaging · Per-app tuning · Target reference · Getting started · Step by step · Integrity signature · Why ncmake · Workflows |
| runner | the machine a GitHub Actions job runs on | Integrity signature · Workflows · Workflow updater · App Store · Target reference |
| runner label | the name a job picks its runner by. ubuntu-latest-low exists only in the nextcloud org, so elsewhere the manager rewrites it to ubuntu-latest (wf_runner_org, wf_runner_rewrite) |
Workflows |
RUNTIME |
selects the container runtime: podman, docker, docker-rootless or bare
|
Installation · How ncmake understands your app · Checkout audit · Per-app tuning · AI assistant · Bundle analysis · Target reference · Why ncmake |
| scratch tree | the git repository with the tracked files outside the app in which build-verify installs and builds, removed afterwards |
Checkout audit · Target reference |
| secret | an encrypted value in a repository's settings that workflows read as secrets.NAME, masked in the logs. See GitHub PAT
|
GitHub PAT · GitHub App · Integrity signature · Workflows · Workflow updater |
| secret gist | a gist that anyone with its id can read and nobody can find. It carries signature.json from make tag to the release runner |
Integrity signature · App Store · Target reference · Workflows |
self-update |
make self-update: fetch the newest Makefile now instead of at the next check |
Getting started · AI assistant · Target reference |
| SELinux | the Linux security module on Fedora and RHEL that may block bind mounts | How ncmake understands your app · Installation |
sha512 |
the hash signature.json records for every file |
Integrity signature |
| sidecar | a <file>.license next to a file that cannot carry a license header, as REUSE defines it. A kept file ships with its sidecar |
Workflows · Building and packaging · Checkout audit |
sign |
make sign: sign the built tarball for the App Store |
App Store · Integrity signature · Releasing |
signature.json |
see integrity signature | Integrity signature · App Store · Building and packaging · Releasing · Step by step · Target reference · Workflows |
SKILL.md |
the instruction file that teaches an AI assistant ncmake; make skill-install installs it. See AI assistant
|
AI assistant · Step by step · Target reference |
skill_dir |
where make skill-install puts the skill file, ~/.claude/skills/ncmake/ by default |
AI assistant |
| source map | a .map file linking built code back to its source. The analysers charge bytes to packages through it |
Bundle analysis · Build tools · Checkout audit |
| SPDX | the standard license identifiers, such as MIT or CC0-1.0, that license headers name |
Workflows |
| stable branch |
stableX.Y, the branch of a maintenance line; make stable-branch opens it |
Releasing · Step by step · Target reference · Workflows |
| stage |
build/stage/<app_id>/, exactly the shipped file set, the source of dist, rsync and cp
|
Integrity signature · Building and packaging · Step by step · Why ncmake · Git tips · Target reference · Workflows |
| stale files | files of an older version left behind when a tarball is extracted over it. rsync and cp replace the directory whole and leave none |
Installation |
| submodule | a git repository nested in the app. build-verify copies an initialized one like the app's own source; git submodule update --init fetches it |
Checkout audit |
tag |
make tag: create and push the signed vX.Y.Z tag on main
|
Releasing · Integrity signature · Checkout audit · Target reference · Step by step · AI assistant · Git tips |
| tarball | the .tar.gz that a release ships and the App Store downloads |
Installation · Integrity signature · App Store · Workflows · Building and packaging · Getting started · How ncmake understands your app · Releasing · Step by step · Target reference · Checkout audit · Why ncmake |
TARBALL |
TARBALL=<file> points integrity-check at a packed release |
Integrity signature · Target reference |
TARGET |
the parent apps/ directory for rsync and cp; the app directory is appended |
Installation · Step by step · Target reference · Building and packaging |
| target | a job make runs, named after it: make build, make dist. See Target reference
|
Target reference · Installation · Bundle analysis · Checkout audit · App Store · Integrity signature · Step by step · AI assistant · Workflows · Building and packaging · Getting started · How ncmake understands your app · Per-app tuning · Build tools · Releasing |
| token | a key automation authenticates with, carrying who acts and what is allowed. See GitHub PAT | GitHub PAT · GitHub App · App Store · Workflow updater · Deleting merged branches · Integrity signature · Per-app tuning · Workflows |
| Transifex | the translation platform the Nextcloud bot syncs app translations from | Releasing |
| translated changelog |
CHANGELOG.<code>.md, a changelog in one language, which the App Store reads next to CHANGELOG.md. Written by hand |
Building and packaging · Checkout audit · Releasing · Target reference |
| tree shaking | the bundler leaving out the code nothing uses. What it keeps of a whole library is its decision, not the app's | Workflows |
| TTL | time to live: how long a cached file counts as current before it is checked again | App Store · Bundle analysis · Checkout audit · Workflows |
.tx/backport |
the list on main of the release lines the Transifex bot syncs as well, one branch per line |
Releasing |
.tx/config |
the Transifex configuration of an app whose translations the Nextcloud bot syncs | Releasing |
| Unreleased | the ## [Unreleased] section of the changelog, which collects entries between releases |
Releasing · Checkout audit · Step by step |
UNRELEASED |
make changelog UNRELEASED=1: write under ## [Unreleased] despite a pending version bump |
Releasing |
| update channel | which releases a server offers. A version with a - reaches only the beta, daily and git channels, or occ app:update --allow-unstable
|
App Store · Releasing |
| Update with rebase | GitHub's button that rebases a pull request. Its commits carry no signature, so the updater's pull request takes the rebase comment instead | Workflow updater |
| upstream | where something comes from: the ncmake repository for the cached Makefile, the source of a managed workflow, the remote branch a local one tracks | Workflows · Workflow updater · Git tips · Per-app tuning · Step by step · Why ncmake · App Store · Getting started · Target reference |
URL |
make publish URL=...: the tarball URL, without a prompt |
App Store |
vendor/ |
composer's install directory. Git-ignored, it is a build output | Checkout audit · Building and packaging · How ncmake understands your app · Workflows · Getting started · Integrity signature · Per-app tuning |
| verified commit | a commit GitHub shows as signed. Branch protection can require it; the workflow updater's commits are signed by its GitHub App | GitHub App · Workflow updater |
version |
make version: bump the version everywhere on a new release branch |
Releasing · Step by step · App Store · Deleting merged branches · Getting started · Git tips · Why ncmake · Workflows |
version.php |
the file that states a Nextcloud server's version. consistency-audit reads it from nextcloud/server master for the major developed there |
Checkout audit |
version_compare |
PHP's version order, which puts 1.2.0-rc.1 before 1.2.0. make version validates the new version against it |
Releasing |
versioncheck.php |
the file in a Nextcloud server that states the PHP versions it runs on | Checkout audit |
| vite | a frontend bundler, the base of @nextcloud/vite-config. See Build tools
|
Build tools · Bundle analysis · Checkout audit |
| Vue | the frontend framework of Nextcloud, with its component library @nextcloud/vue
|
Workflows · Build tools · Bundle analysis · Checkout audit · Step by step |
W |
names the workflows for make workflows-install, comma or space separated |
Workflows · Workflow updater · Releasing · Step by step · Target reference |
| wall-clock | elapsed real time, as a stopwatch measures it. The build and install times on Build tools are wall-clock times on one machine | Build tools |
web_user |
the user the web server runs as, www-data by default; OCC=1 hands the app to it |
Installation · Per-app tuning · Building and packaging · Integrity signature |
| webpack | the long-standing frontend bundler, the base of @nextcloud/webpack-vue-config. See Build tools
|
Build tools · Checkout audit · Bundle analysis |
| webpack runtime | the loader webpack and rspack put into their output (webpackChunk, __webpack_require__) in place of import. The analysers cannot see into it |
Build tools |
wf_lock_license |
wf_lock_license and wf_lock_copyright: license and copyright line of the workflow lock file's sidecar, CC0-1.0 by default |
Workflows |
| workflow | a GitHub Actions file under .github/workflows/. See Workflows
|
Workflows · Workflow updater · GitHub PAT · GitHub App · Step by step · Releasing · Why ncmake · Integrity signature · Target reference · Deleting merged branches · Bundle analysis · App Store · AI assistant · Getting started · How ncmake understands your app · Checkout audit · Git tips |
| workflow manager | the developer module that installs and updates CI workflows from their sources and records them in the lock file. See Workflows | Workflows · AI assistant · Bundle analysis · Workflow updater |
| workflow source | where the manager takes workflows from: ncmake, its own, and nextcloud, the nextcloud/.github templates. ncmake wins a name collision |
Workflows · AI assistant · Workflow updater |
| workflow status | the state workflows-list shows per workflow: installed, update available, modified, missing, unmanaged or gone upstream. See Workflows
|
Workflows |
| workflow template | a workflow from nextcloud/.github. Largely self-configuring, so one file works in every app | Workflows |
workflow-updater |
the shipped workflow that keeps the managed workflows current through a pull request. See Workflow updater | Workflow updater · Workflows · GitHub App · GitHub PAT · Step by step · Why ncmake · Deleting merged branches · Releasing |
workflow_dispatch |
the trigger that lets a workflow be run by hand from the Actions tab | Workflow updater · Workflows |
workflows-install |
installs the named workflows from their upstream source | Workflows · Workflow updater · Deleting merged branches · Releasing · Step by step · Target reference |
workflows-list |
lists every available workflow with its status | Workflows · Step by step · Target reference |
workflows-update |
brings every managed workflow to its upstream state, skipping locally modified ones | Workflows · Workflow updater · Releasing · Target reference |
X.Y.Z |
a version as major.minor.patch; its tag is vX.Y.Z
|
Releasing · Step by step · Checkout audit · Deleting merged branches · Git tips |
| XDG | the base directory variables XDG_CACHE_HOME and XDG_STATE_HOME that the cache and the image record follow |
How ncmake understands your app · Per-app tuning · Target reference |
| xmllint | the libxml2 tool ncmake reads info.xml with when it is installed; without it, python3 reads the file |
Target reference |
yarn |
an npm alternative, used when the app has yarn.lock, and provided through corepack. Yarn 1 is in ncmake-node besides, for a build script that calls yarn without a yarn.lock
|
How ncmake understands your app · Building and packaging · Build tools · Step by step |
© 2026 [ernolf] Raphael Gradenwitz · MIT-licensed · Report an issue
For app developers
- Getting started
- How ncmake understands your app
- Building and packaging
- Bundle analysis
- Build tools
- Checkout audit
- Releasing
- Integrity signature
- Per-app tuning
- Target reference
- AI assistant
CI workflows
App Store
For app users
Git
Background
Reference