-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The Swiss Army knife for Nextcloud app development: one generic Makefile for building, packaging, deploying, versioning and App Store management of a Nextcloud app.
Everything is derived from the app itself, so there is nothing to configure for a standard app: drop it in, run make, done. The package managers run in throwaway containers, so the host needs neither PHP nor Node.
Tip
TL;DR — Commit the bootstrap stub as your app's Makefile, then make gives you build, packaging, test-deploy, release and App Store targets — all in throwaway containers, so no PHP or Node on your host. make alone prints a colorized, annotated help; make help-<target> explains one target in depth.
New to ncmake? Start with Getting started — the one-line bootstrap stub that turns any app repository into an ncmake app — and read Why ncmake for how it compares to other tooling and which files it makes obsolete.
Developing an app
- Getting started — add ncmake to your app (the bootstrap stub)
-
How ncmake understands your app — what is read from
info.xml,composer.json,package.json,.gitignore, and the container runtime -
Building and packaging —
make build, the allowlist keep model, deploying to a test instance -
Releasing —
make version,make changelog,make tag -
Per-app tuning —
.nextcloudignore,ncmake.mk, the full variable table - Target reference — every target and the requirements
CI workflows
- Workflows — the workflow manager: sources, status model, the lock file
- Workflow updater — the pull request that keeps workflows current
- GitHub App / GitHub PAT — how the updater authenticates
- Deleting merged branches — the repository setting and its workflow-shipped equivalent
App Store
- App Store — certificate onboarding, signing and the publish flow
Installing an ncmake app (for the people who use your app, not develop it)
-
Installation — release tarball, build from source,
make rsync,make cp
The Step by step guide walks through the whole life of an app with ncmake, from the first make to a published release, in order.
© 2026 [ernolf] Raphael Gradenwitz · MIT-licensed · Report an issue
For app developers
- Getting started
- How ncmake understands your app
- Building and packaging
- Releasing
- Per-app tuning
- Target reference
CI workflows
App Store
For app users
Background