pipelines-npmlisted
Install: claude install-skill singleton-sd/ai-plattform-skills
# Pipelines npm
GitLab CI templates for Node/npm consumer repos.
Canonical source: [singletonsd/pipelines/npm](https://gitlab.com/singletonsd/pipelines/npm). Agent contract in that repo: `AGENTS.md`. Consumer copy-paste: `examples/`.
Compose with [`engineering/repo-init-npm-publish`](engineering/repo-init-npm-publish/SKILL.md) when scaffolding a new publishable package.
## When to use
- Adding or editing `.gitlab-ci.yml` in a library/CLI that should use shared npm jobs
- Enabling GitLab and/or npmjs publish from `release_job`
- Changing templates in `singletonsd/pipelines/npm` (match `AGENTS.md` there)
## Consumer include
```yaml
image: "node:22-alpine"
include:
- project: "singletonsd/pipelines/npm"
file: "/src/.gitlab-ci-main.yml"
variables:
GLOBAL_IMAGE_NAME: "node"
GLOBAL_IMAGE_TAG: "22-alpine"
ENABLE_RELEASE_JOB: "true"
ENABLE_RELEASE_PUBLISH_ALL: "true"
NPMJS_SCOPE: "singleton-sd"
PAGES_ENABLED: "false"
stages:
- install
- test_static
- build
- test_dynamic
- release
- package
- deploy
```
Full snippets: `examples/.gitlab-ci-example-main.yml`, `examples/.gitlab-ci-example-common.yml`, `examples/.gitlab-ci-example-release.yml`.
The consumer must define `yarn release:ci` (usually release-it). Package name is always `package.json` `"name"` on every registry. Scopes (`RELEASE_GROUP_NAME`, `NPMJS_SCOPE`) must match that name. The npm org/scope is `@singleton-sd`; the GitLab include path stays `singletonsd/pipelines/npm` (project pa