{"_id":"@allons-y/template-actions","_rev":"2-d61193db4e15d8d012ae0b08b37ae2b6","name":"@allons-y/template-actions","dist-tags":{"beta":"0.0.0","latest":"1.0.0"},"versions":{"0.0.0":{"name":"@allons-y/template-actions","version":"0.0.0","keywords":["actions","github"],"author":{"url":"https://allons-y.studio","name":"Cassondra Roberts","email":"castastrophe@users.noreply.github.com"},"license":"MPL-2.0","_id":"@allons-y/template-actions@0.0.0","maintainers":[{"name":"castastrophe","email":"castastrophe+npm@hey.com"}],"homepage":"https://github.com/allonsy-studio/template-actions#readme","bugs":{"url":"https://github.com/allonsy-studio/template-actions/issues"},"dist":{"shasum":"fb3414e4fab0d2b232f2023237c9cf07a908cc91","tarball":"https://registry.npmjs.org/@allons-y/template-actions/-/template-actions-0.0.0.tgz","fileCount":21,"integrity":"sha512-P67Py+nAFeF+llI9VTohH4llMcFUNXN7i8bQrVNDnmb2sdXXoERS7eAeF1I29oXjj53QPEiXwOVO2XKhbu/2RQ==","signatures":[{"sig":"MEUCIBO4B6e/baTUalAQV7PFyeozoL8bKa4ujdoASB+kJG7iAiEA6f46BDUVnPE2J/Zh7EGeBpTsYlAGGX49bKRET/L+yjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69069},"main":"scripts/rename.js","type":"module","$schema":"https://www.schemastore.org/package.json","engines":{"node":">=24"},"gitHead":"faa038d41e078d6dfbcd95a672520e1911ac9be6","scripts":{"ci":"yarn format","lint":"eslint --no-error-on-unmatched-pattern --no-warn-ignored --cache '**/*'","test":"node --experimental-vm-modules $(yarn bin jest)","format":"yarn lint --fix","rename":"node scripts/rename.js","prepare":"husky && envoy || true","coverage":"yarn test --coverage","precommit":"lint-staged","semantic-release":"yarn format && semantic-release"},"_npmUser":{"name":"castastrophe","email":"castastrophe+npm@hey.com"},"repository":{"url":"git+https://github.com/allonsy-studio/template-actions.git","type":"git"},"_npmVersion":"11.12.1","description":"A template repository for the creation of new GitHub Actions.","directories":{},"lint-staged":{"*":["eslint --fix --format stylish"],".github/renovate.json":"npx --yes --package renovate -- renovate-config-validator --strict"},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.16.0","devDependencies":{"jest":"^30.4.2","yaml":"^2.9.0","husky":"^9.1.7","eslint":"^10.4.1","globals":"^17.6.0","prettier":"^3.0.0","commander":"^15.0.0","@eslint/js":"^10.0.1","lint-staged":"^17.0.4","@eslint/json":"^1.2.0","@clack/prompts":"^1.5.1","@eslint/compat":"^1.4.1","@allons-y/envoy":"^1.1.0","@commitlint/cli":"^21.0.1","@eslint/markdown":"^8.0.2","semantic-release":"^25.0.3","eslint-plugin-jest":"^29.15.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsonc":"^3.2.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^2.13.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^21.0.2"},"_npmOperationalInternal":{"tmp":"tmp/template-actions_0.0.0_1780696911615_0.7094199287644001","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"$schema":"https://www.schemastore.org/package.json","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"name":"@allons-y/template-actions","version":"1.0.0","description":"A template repository for the creation of new GitHub Actions.","license":"MPL-2.0","author":{"name":"Cassondra Roberts","email":"castastrophe@users.noreply.github.com","url":"https://allons-y.studio"},"homepage":"https://github.com/allonsy-studio/template-actions#readme","repository":{"type":"git","url":"git+https://github.com/allonsy-studio/template-actions.git"},"bugs":{"url":"https://github.com/allonsy-studio/template-actions/issues"},"type":"module","main":"scripts/rename.js","scripts":{"changeset":"changeset","ci":"yarn format","coverage":"yarn test --coverage","format":"yarn lint --fix","lint":"eslint --no-error-on-unmatched-pattern --no-warn-ignored --cache '**/*'","precommit":"lint-staged","prepare":"husky && envoy || true","rename":"node scripts/rename.js","test":"node --experimental-vm-modules $(yarn bin jest)"},"devDependencies":{"@allons-y/envoy":"^1.1.0","@changesets/cli":"^2.31.0","@changesets/get-github-info":"^0.8.0","@clack/prompts":"^1.5.1","@commitlint/cli":"^21.0.1","@commitlint/config-conventional":"^21.0.2","@eslint/compat":"^1.4.1","@eslint/js":"^10.0.1","@eslint/json":"^1.2.0","@eslint/markdown":"^8.0.2","@stylistic/eslint-plugin":"^2.13.0","commander":"^15.0.0","eslint":"^10.4.1","eslint-config-prettier":"^10.1.8","eslint-plugin-jest":"^29.15.2","eslint-plugin-jsonc":"^3.2.0","eslint-plugin-node":"^11.1.0","globals":"^17.6.0","husky":"^9.1.7","jest":"^30.4.2","lint-staged":"^17.0.4","prettier":"^3.0.0"},"keywords":["actions","github"],"engines":{"node":">=24"},"lint-staged":{"*":["eslint --fix --format stylish"],".github/renovate.json":"npx --yes --package renovate -- renovate-config-validator --strict"},"packageManager":"yarn@4.16.0","gitHead":"4d2cf0b8828f9f79a9581e3ed72b341fcf9d94dd","_id":"@allons-y/template-actions@1.0.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-L74dwomv7F6dbyS6hoGZu7qM/s7me3QBuIIwaNt77H2OJP1kTmuQXAbervzM+FNo0A3pKiV4LIYuSBgB7dsbIQ==","shasum":"f2f103a6027555f150820e9c60cff814b8de76db","tarball":"https://registry.npmjs.org/@allons-y/template-actions/-/template-actions-1.0.0.tgz","fileCount":23,"unpackedSize":79886,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEMCH1kyUpZPM85arxzERemJda+Vf1i81cT4q1RvUYxbem0CIEFSkHyK0FXzEHq+F401EkQZflGnWwyObYR2iMCeqJVU"}]},"_npmUser":{"name":"castastrophe","email":"castastrophe+npm@hey.com"},"directories":{},"maintainers":[{"name":"castastrophe","email":"castastrophe+npm@hey.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/template-actions_1.0.0_1784145686436_0.6854290201104942"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-05T22:01:51.388Z","modified":"2026-07-15T20:01:26.723Z","0.0.0":"2026-06-05T22:01:51.768Z","1.0.0":"2026-07-15T20:01:26.569Z"},"bugs":{"url":"https://github.com/allonsy-studio/template-actions/issues"},"author":{"name":"Cassondra Roberts","email":"castastrophe@users.noreply.github.com","url":"https://allons-y.studio"},"license":"MPL-2.0","homepage":"https://github.com/allonsy-studio/template-actions#readme","keywords":["actions","github"],"repository":{"type":"git","url":"git+https://github.com/allonsy-studio/template-actions.git"},"description":"A template repository for the creation of new GitHub Actions.","maintainers":[{"name":"castastrophe","email":"castastrophe+npm@hey.com"}],"readme":"# Actions Template Repository\n\n> A batteries-included template for scaffolding new GitHub Actions.\n\nA starting point for ESM, bundled GitHub Actions — ships with `action.yml`, an\nexample handler, Jest (with manual `@actions/*` mocks), ESLint/Prettier,\nChangesets, Renovate, and issue/PR templates, plus a one-shot setup CLI\nthat wires it all to your action.\n\n## Use this template\n\n1. Click **Use this template** on GitHub and create your repository.\n2. `yarn install`\n3. `yarn rename` — an interactive CLI that collects the action name,\n   description, owner, author, and your input/output variables, then rewrites\n   `action.yml`, `package.json`, the README, and everything else before\n   removing itself (the entire `scripts/` directory).\n   - Pass `--dry-run` to preview every change without writing anything.\n   - Supply `--name`, `--description`, `--owner`, and/or `--author` to skip the\n     matching prompts.\n4. Edit `src/main.js` to implement your action's logic. `yarn build` bundles\n   `src/` locally so you can smoke-test it, but the bundle is never\n   committed — CI only confirms it still compiles (see Architecture below).\n5. Run `yarn changeset` to record any release-worthy change, then commit and\n   push — [Changesets](https://github.com/changesets/changesets) handles\n   versioning, the changelog, and tagging the release. The release workflow\n   builds `dist/` and commits it only to the release tag, so `main` stays\n   source-only.\n\n## What the setup does\n\n- Replaces the `{{ ACTION_NAME }}` / `{{ ACTION_DESCRIPTION }}` /\n  `{{ ACTION_AUTHOR }}` / `{{ ACTION_AUTHOR_EMAIL }}` / `{{ OWNER }}`\n  placeholders across the repository.\n- Generates the `action.yml` inputs/outputs and the README tables from the\n  variables you define.\n- Installs the action-only `package.json`, `jest.config.js`, and `README.md`\n  from `scripts/template/` over the repository's own copies.\n- Detects sensible defaults: the owner from the git remote, and the author from\n  `gh`, the GitHub Actions context, or your commit email.\n\n## Architecture\n\nThe scaffolded action separates hand-written source from the generated\nbundle, and never commits the bundle to `main`:\n\n```text\nsrc/\n  index.js       # entry shell: reads the `token` input, builds the octokit\n                  # client, calls main(), and maps a thrown error to\n                  # core.setFailed()\n  main.js         # the action's logic\n  main.test.js    # jest coverage for main.js\ndist/\n  index.mjs       # generated by `yarn build` (@vercel/ncc) — the\n                   # dependency-free bundle action.yml actually runs.\n                   # Gitignored: built fresh at release time, not committed.\n```\n\nGitHub runs `uses: owner/repo@vX` by checking out that ref and executing\n`dist/index.mjs` directly, with no install step — so every consumer needs a\ndependency-free bundle at that ref. Rather than committing `dist/` to\n`main` (which would put generated, `node_modules`-derived code in every PR\ndiff and dependency bump), the generated repo's release workflow builds\n`dist/` **only when it publishes a release**, commits it to a throwaway\ncommit reachable solely from the release tag (`vX.Y.Z` and the floating\n`vX`), and pushes just that tag — `main` never sees it. The same bundle also\nships in the npm tarball via `package.json`'s `files` allowlist, which\napplies independently of `.gitignore`.\n\nPR CI (`linting.yml`) still runs `yarn build` on every PR so a broken bundle\nis caught before it can reach a release, without needing to diff a committed\nartifact.\n\nThe bundle is ESM (`dist/index.mjs`, built with `@vercel/ncc`) because the\npackage is `\"type\": \"module\"` — the entry source and configs are ESM, and\nncc's ESM output correctly wires `createRequire` for the Node built-ins the\nbundled dependencies need. The `.mjs` extension matters: it forces ESM\nregardless of the nearest `package.json`'s `\"type\"` field, so the bundle\ndoesn't depend on (or get invalidated by) ncc's auxiliary\n`dist/package.json`, which the build step deletes.\n\n## Development\n\n```sh\nyarn format    # eslint\nyarn lint      # eslint\nyarn test      # jest\nyarn coverage  # jest with the 80% coverage threshold\n```\n\n---\n<sub>Built and maintained by [Allons-y Studio](https://allons-y.studio) — a US-based studio specializing in design systems, front-end architecture, and accessibility.</sub>\n","readmeFilename":"README.md"}