Skip to content

Add agentworkforce top-level wrapper package - #27

Merged
willwashburn merged 1 commit into
mainfrom
agentworkforce-wrapper
Apr 29, 2026
Merged

willwashburn merged 1 commit into
mainfrom
agentworkforce-wrapper

Conversation

@willwashburn

@willwashburn willwashburn commented Apr 29, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Adds packages/agentworkforce/ — a thin wrapper that depends on @agentworkforce/cli and exposes the agentworkforce bin so users can npm i -g agentworkforce and call agentworkforce agent <persona> / agentworkforce list / etc. Mirrors the burn/relayburn pattern.
  • Refactors cli.ts to derive its USAGE bin name from process.argv[1] so the same dist file produces correct help text whether invoked as agent-workforce or agentworkforce. Exports main so the wrapper bin can call it directly without re-entering the entry-detection guard.
  • Refactors publish.yml to (a) use dynamic node -p \"require(...).name\" instead of hand-rolled scope mappings, (b) use burn's tarball-name derivation so a single shared PACK_DIR works for both scoped and unscoped packages, and (c) collapse the per-package create-release matrix into one combined GitHub Release per publish run anchored to the agentworkforce tag — matching how burn anchors to relayburn. Per-package git tags are still pushed so the next run's changelog generator can find them.
  • verify-publish.yml: adds an agentworkforce smoke-test branch and parametrises the bin name (the previous Usage: agent-workforce agent grep was actually a no-op since that substring never appeared in the help output).

After this lands, an all publish run yields:

  • @agentworkforce/workload-router@<v>, @agentworkforce/harness-kit@<v>, @agentworkforce/cli@<v>, agentworkforce@<v> on npm
  • One GitHub Release named agentworkforce@<v> whose body lists all four packages with their per-package CHANGELOG sections inlined

Test plan

  • pnpm -r build succeeds
  • pnpm -r test — 37/37 cli tests pass on this branch (clean main); the wrapper's node --check passes
  • node packages/agentworkforce/bin/agentworkforce.js --help shows Usage: agentworkforce <command> ...
  • node packages/cli/dist/cli.js --help still shows Usage: agent-workforce <command> ... (test compatibility preserved)
  • agentworkforce list --json, agentworkforce harness check, agentworkforce show <persona> all execute the same code paths as the direct CLI
  • Run the Publish workflow with package=agentworkforce, version=none, dry_run=true to confirm the new branch packs/publishes cleanly before doing a real release

🤖 Generated with Claude Code


Open in Devin Review

Publishes the same CLI under the unscoped `agentworkforce` name so users
can `npm i -g agentworkforce` and call `agentworkforce agent <persona>`,
matching the burn/relayburn pattern.

- packages/agentworkforce: thin wrapper that depends on @agentworkforce/cli
  and exposes an `agentworkforce` bin (engines: node >= 22).
- cli.ts: derive USAGE bin name from process.argv[1] basename so the same
  dist file drives both `agent-workforce` and `agentworkforce` help text;
  export `main` so the wrapper bin can call it directly.
- publish.yml: replace hand-rolled scope mappings with dynamic
  `node -p \"require('./packages/<pkg>/package.json').name\"` lookups, use
  burn's tarball-name derivation so a single PACK_DIR works for scoped
  and unscoped packages, and collapse the per-package matrix release into
  one combined GitHub Release per publish run anchored to the
  `agentworkforce` tag.
- verify-publish.yml: add `agentworkforce` smoke test branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 409390e799

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +106 to 107
workload-router|harness-kit|cli|agentworkforce)
echo "packages=${{ github.event.inputs.package }}" >> "$GITHUB_OUTPUT"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include CLI when publishing wrapper package

Allowing agentworkforce as a standalone publish target can ship an uninstallable release when @agentworkforce/cli at the workspace version is not yet on npm. In this workflow, selecting agentworkforce alone skips publishing cli, but pnpm pack rewrites the wrapper’s workspace:* dependency to an exact @agentworkforce/cli version, so users installing that wrapper version will fail with a missing dependency if that CLI version has not been published yet. The wrapper target should either force-publish cli first or add a preflight check that @agentworkforce/cli@<resolved version> exists on npm.

Useful? React with 👍 / 👎.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 5 additional findings.

Open in Devin Review

@willwashburn
willwashburn merged commit 90614e0 into main Apr 29, 2026
2 checks passed
@willwashburn
willwashburn deleted the agentworkforce-wrapper branch April 29, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant