forcedotcom/apex-language-support · Archived

wireit

Author and use Wireit scripts for npm. Use when working with Wireit configuration, npm scripts, build pipelines, or when the user mentions Wireit.

First seen Jun 18, 2026

Installation

$ npx skills add forcedotcom/apex-language-support --skill wireit

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from forcedotcom/apex-language-support · top by installs.

npx skills add forcedotcom/apex-language-support

Browse all from forcedotcom/apex-language-support

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 11
License LICENSE.txt
Default branch main
Open issues 1
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,530 B
  • docs SUMMARY.md 160 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Wireit

Documentation

Full documentation: https://github.com/google/wireit

Authoring Wireit Scripts

  • Wireit is very static, list dependencies explicitly (won't infer them from npm workspace relationships).
  • if something needs go (ex:compile) before another thing go (ex:bundle) that's a dependency
  • envs: see https://github.com/google/wireit?tab=readme-ov-file#environment-variables
  • deps can be relative ex "../../other-pkg:script-name"
  • If a package in this repo has another package as a package.json dep or devDep, it should be a wireit dep for compile
  • If an extension has another extension as an extensionDependency, it should be a wireit dep for bundle

caching: if you specify files and output (even []) you'll get caching (skips when neither have changed)

  • You can have a wireit script without it being an npm script (ex: you can't execute it on its own, but it can run as a dep of another wireit script that can start from npm run)
  • don't make circular references

Using Wireit Scripts

  • run commands with WIREIT_CACHE=none to avoid caching behaviors
  • Agents should not run these (they won't exit)

- any script with --watch - any service:true if you're an Agent, it won't exit

  • wireit can't follow stuff outside files

- manually changing code in nodemodules then running compile or bundle - exception: salesforcedx-vscode-services vscode:bundle tracks nodemodules/@salesforce/templates/lib/** - npm link'd packages (ex: symlinks to node libraries locally modified)

Extra Arguments (passing CLI flags through wireit)

ref: https://github.com/google/wireit?tab=readme-ov-file#extra-arguments

  • npm run {script} -- {script args} — single -- forwards args to underlying command
  • ex: npm run build -- --verbose passes --verbose to the command in wireit.build.command

Common Patterns

top level compile, lint, test should run all of that in the various packages. When creating new packages, update these.

Errors

If you see "Unknown error thrown: Error: Did not expect..." or "Internal error!" from wireit — another process was running the same scripts. Re-run the command yourself to confirm it passes. DO NOT CLEAR .wireit to solve this.

Notes

each package will have its own .wireit cache, and there's also one at the top level.