jasonkuhrt avatar

authoring-global-scripts

Authors and manages global package scripts using the _: prefix convention. Scripts defined in root p

提供方 jasonkuhrt|开源

Authoring Global Scripts

Manage package scripts that apply to all packages in the monorepo.

Steps

Adding a Global Script

  1. Add script to root package.json with _: prefix:

    {
      "scripts": {
        "_:build": "tsgo -p tsconfig.build.json",
        "_:check:types": "tsgo --noEmit"
      }
    }
    
  2. Run the sync script at .claude/skills/authoring-global-scripts/scripts/sync-package-scripts.ts

Auditing for Inconsistencies

Run with --check flag to verify all packages are in sync without modifying:

tsx .claude/skills/authoring-global-scripts/scripts/sync-package-scripts.ts --check

Reference

Convention

LocationFormatExample
Root package.json_:script-name"_:build": "tsgo -p tsconfig.build.json"
Package package.jsonscript-name"build": "tsgo -p tsconfig.build.json"

The _: prefix marks scripts as "global templates". The sync script:

  • Strips the prefix when copying to packages
  • Replaces all package scripts (packages should not have custom scripts)
  • Warns about extra scripts in packages that aren't in the template

Relative Paths

Relative paths like ../../oxlint.json are preserved as-is. They're relative from each package directory, so ../../ correctly points to the monorepo root from packages/*/.

Notes

  • Packages should NOT have custom scripts - all scripts come from the global template
  • If a package needs a unique script, reconsider whether it belongs as a global script
  • Run audit (--check) to catch manual edits that broke the pattern
authoring-global-scripts - 适用于 Claude Code 与 Cursor 的 AI 智能体 Skill | Agent Skills