Template repository for bootstrapping new Angular-based dnd-mapp repositories, with shared tooling, CI, and browser-based testing pre-configured.
- Node.js and pnpm: versions are pinned in
package.json'sdevEnginesfield. - mise (recommended): manages the Node.js and pnpm versions above automatically. Run
mise installafter installing it to pick up matching versions.
Click Use this template on GitHub to create a new repository from this one. In the new repository, install dependencies (this also sets up the Husky git hooks) and the Chromium browser used for tests:
pnpm install
pnpm playwright-install-browsersThen update package.json's name and description, and this README, to match the new repository. Also reset CHANGELOG.md: remove this template's entries and leave just the header and an empty ## [Unreleased] section, so the new repository starts its own history from scratch.
The release workflow (release-prepare.yml, release-publish.yml, release-retry-tag.yml) is scaffolded into every repository created from this template. Two grants don't carry over automatically, though, and must be set up once by an org owner before the first release:
- Grant the new repository access to the
DMA_BOT_SSH_SIGNING_KEYorganization secret (organization Settings → Secrets and variables → Actions →DMA_BOT_SSH_SIGNING_KEY→ add the repository to its access list). It's scoped to an explicit repository allowlist, currently justtemplate-app-angular. - Add the
dnd-mappGitHub App as a bypass actor on the new repository'smainbranch ruleset (repository Settings → Rules → Rulesets →main→ bypass list). Configure it the same way it's configured ontemplate-app-angular.
Everything else the workflow depends on is already organization-wide and needs no per-repository setup: the App's contents:write/packages:write/discussions:write permissions.
See Release Process for how the workflow itself works once these are in place.
- Editor setup: configuring Prettier, ESLint, and Stylelint to run in VS Code or WebStorm.
- Usage: available
pnpmscripts, and what runs in CI.
See Creating a Pull Request for how to open a pull request in any dnd-mapp repository, and Angular & TypeScript Conventions for this repo's coding conventions.