{"_id":"@ahape/brightmetrics-projects-plugin-shared-scripts","name":"@ahape/brightmetrics-projects-plugin-shared-scripts","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@ahape/brightmetrics-projects-plugin-shared-scripts","version":"1.0.0","description":"Shared toolbelt for this plugin's skills: prompt rendering, gh GraphQL, Slack posting","type":"module","bin":{"brightmetrics-projects-plugin-shared-scripts":"cli.js"},"exports":{".":"./render.js"},"dependencies":{"eta":"^4.6.0"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/brightmetrics/projects-plugin.git","directory":"scripts"},"gitHead":"e7f6dca35a0fee3b1f14320d7cb399c8ab72f9d5","_id":"@ahape/brightmetrics-projects-plugin-shared-scripts@1.0.0","bugs":{"url":"https://github.com/brightmetrics/projects-plugin/issues"},"homepage":"https://github.com/brightmetrics/projects-plugin#readme","_nodeVersion":"25.9.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-5e+EbLuxa3ggS7uphcu8PHmmUHLXEUWGmZifv4UMyiWUWsntUr6lJUAbznUxXFmODvaQVxQGJXT3j1VJB7C4SA==","shasum":"c15119efb24bbbc2b55dbb1f067a0d6c8fc1d25d","tarball":"https://registry.npmjs.org/@ahape/brightmetrics-projects-plugin-shared-scripts/-/brightmetrics-projects-plugin-shared-scripts-1.0.0.tgz","fileCount":16,"unpackedSize":61653,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDjPvmGeUXu8hUMmAoVB0i9Oa/Be9WIVgz0K9YsQxlljQIhAKNoDVqbpYNy598Q4u+GnO4gBQ0HnptOzG1CRGZ6G8+d"}]},"_npmUser":{"name":"ahape","email":"epalan@gmail.com"},"directories":{},"maintainers":[{"name":"ahape","email":"epalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brightmetrics-projects-plugin-shared-scripts_1.0.0_1787619214213_0.39517438995005505"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T00:53:34.030Z","1.0.0":"2026-08-25T00:53:34.373Z","modified":"2026-08-25T00:53:34.562Z"},"maintainers":[{"name":"ahape","email":"epalan@gmail.com"}],"description":"Shared toolbelt for this plugin's skills: prompt rendering, gh GraphQL, Slack posting","homepage":"https://github.com/brightmetrics/projects-plugin#readme","repository":{"type":"git","url":"git+https://github.com/brightmetrics/projects-plugin.git","directory":"scripts"},"bugs":{"url":"https://github.com/brightmetrics/projects-plugin/issues"},"license":"MIT","readme":"# SCRIPTS\n\nThe shared toolbelt, published to npm as\n`@ahape/brightmetrics-projects-plugin-shared-scripts` from this directory as its\nown npm workspace.\n\nSkills reach it across a process boundary rather than by import, because a skill\nfolder copied into a vendor's skills directory carries no `node_modules`:\n\n```shell\nnpx -y @ahape/brightmetrics-projects-plugin-shared-scripts@latest <command>\n```\n\nRun `node scripts/cli.js` for the command list. `render` turns a skill's\ntemplate into its prompt; the rest are the steps that are worth keeping out of a\ncopied skill folder, because they talk to GitHub or Slack.\n\n## Working on it\n\n```shell\nnpm run render -- ./skills/<name> [args]   # render from this working tree\nnpm test                                   # scripts/tests/*.test.mjs\n```\n\nSet `BRIGHTMETRICS_PLUGIN_PKG` to the full local CLI command, such as\n`node \"<plugin-checkout>/scripts/cli.js\"`, to keep the `{{PKG}}` in a rendered\nprompt off the registry. A directory path alone is not executable.\n\nMerging a change under `scripts/` to `master` publishes the version in\n`scripts/package.json`, if that version is not already on the registry. Bump it\nin the same change, or nothing publishes.\n\nAnything not plugin-specific belongs in the\n[CommonScripts](https://github.com/brightmetrics/common-scripts) PowerShell\nmodule instead.\n\n## Conventions\n\n- **Say why, not what.** The code says what it does. The header comment says why\n  it exists, what it refuses to do, and which failure it was written to prevent.\n- **One runtime dependency.** `eta`, for rendering. Anything else has to earn\n  its place, and nothing a skill runs may depend on any of it.\n- **Fail loudly.** A script that cannot do its job exits non-zero and says what\n  would fix it. Silence reads as success.\n- **Test what breaks quietly.** A `*.test.mjs` under `tests/`, run by\n  `npm test`.\n","readmeFilename":"README.md","_rev":"1-b81bc03ab9d0fd96e85bcb6ae0d50b94"}