Repository navigation
feat: add unscoped Primitree launcher - #14
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #14 +/- ##
==========================================
+ Coverage 82.05% 83.74% +1.69%
==========================================
Files 16 77 +61
Lines 1326 6367 +5041
Branches 415 1774 +1359
==========================================
+ Hits 1088 5332 +4244
- Misses 120 540 +420
- Partials 118 495 +377 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_8b107af5-f865-4aed-b7ac-8c7529503337) |
There was a problem hiding this comment.
Pull request overview
Adds a public, unscoped primitree launcher package that delegates to @primitree/cli, and updates the release tooling/contracts so the monorepo can publish coordinated 1.0.0-next.0 prereleases on the next channel while protecting latest from accidental prerelease tagging.
Changes:
- Introduces
packages/primitree(unscoped) with aprimitreebin that forwards execution to@primitree/cli/bin. - Extends release tooling to support
vMAJOR.MINOR.PATCH-next.Ntags,nextdist-tag publication, and prerelease-specific validation/cleanup (including removing an unexpectedlatestdist-tag on prereleases). - Updates tests, docs, CI, and Changesets config to enforce the prerelease train and document
npx primitree@nextusage.
Reviewed changes
Copilot reviewed 53 out of 55 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/e2e/docs-home-governance.spec.ts | Stabilizes governance e2e by waiting for the UI readiness stage before clicking. |
| scripts/release-publish.test.mjs | Expands workflow tests for next tagging, dist-tag cleanup, and launcher-only consumer installs/smoke checks. |
| scripts/release-publish.mjs | Implements next/latest channel selection, prerelease latest dist-tag cleanup, and launcher-only consumer smoke path. |
| scripts/release-config.mjs | Adds version→channel helpers and registers the new primitree package plus CLI ./bin export expectations. |
| scripts/release-artifacts.test.mjs | Updates artifact expectations to include the new unscoped tarball and -next.N versions. |
| scripts/release-artifacts.mjs | Supports -next.N versions, correct tarball naming for primitree, and channel-aware publish dry-runs. |
| scripts/prerelease-contract.test.mjs | Adds a root-level contract test enforcing Changesets prerelease/fixed-group coordination. |
| scripts/github-release.test.mjs | Extends GitHub release tests for prerelease tags and complete asset sets including primitree. |
| scripts/github-release.mjs | Marks -next.N releases as GitHub prereleases and validates tag patterns/asset inventory generically. |
| scripts/check-release.test.mjs | Updates release/runbook/CI assertions for 6 packages, prerelease tag/channel semantics, and launcher inventory. |
| scripts/check-release.mjs | Allows -next.N versions/tags and renames required workspace root name to primitree-workspace. |
| scripts/check-prose.test.mjs | Makes declaration-file checks tolerant of packages (launcher) with no declared types. |
| scripts/check-brand.test.mjs | Allows migration references in the new prerelease launch notes doc. |
| scripts/brand-rules.mjs | Whitelists the new prerelease launch notes path for approved references. |
| README.md | Updates primary usage examples to npx primitree@next … and documents the new launcher package. |
| pnpm-lock.yaml | Updates lockfile for the new workspace package and related dependency graph changes. |
| packages/primitree/README.md | Documents the launcher package purpose and @next usage. |
| packages/primitree/package.json | Defines the unscoped package metadata, bin entrypoint, files list, and dependency on @primitree/cli. |
| packages/primitree/LICENSE | Adds license file for the new package. |
| packages/primitree/CHANGELOG.md | Adds launcher changelog aligned with the 1.0.0-next.0 train. |
| packages/primitree/bin/primitree.js | Implements the forwarding launcher (import '@primitree/cli/bin'). |
| packages/mcp/README.md | Updates changelog link text to 1.0.0-next.0. |
| packages/mcp/package.json | Moves @primitree/mcp to 1.0.0-next.0. |
| packages/mcp/CHANGELOG.md | Finalizes prerelease changelog content for 1.0.0-next.0. |
| packages/hooks/README.md | Updates install/build examples to use @next / primitree@next. |
| packages/hooks/package.json | Moves @primitree/hooks to 1.0.0-next.0. |
| packages/hooks/CHANGELOG.md | Finalizes prerelease changelog content for 1.0.0-next.0. |
| packages/dtcg/README.md | Updates install and changelog references to @next / 1.0.0-next.0. |
| packages/dtcg/package.json | Moves @primitree/dtcg to 1.0.0-next.0. |
| packages/dtcg/CHANGELOG.md | Finalizes prerelease changelog content for 1.0.0-next.0. |
| packages/core/README.md | Updates install and changelog references to @next / 1.0.0-next.0. |
| packages/core/package.json | Moves @primitree/core to 1.0.0-next.0. |
| packages/core/CHANGELOG.md | Finalizes prerelease changelog content for 1.0.0-next.0. |
| packages/cli/tests/public-copy.test.ts | Asserts the new CLI ./bin export is present. |
| packages/cli/tests/launcher-package.test.ts | Adds a test verifying the unscoped launcher forwards to the scoped CLI. |
| packages/cli/README.md | Updates usage and install instructions to primitree@next / @primitree/cli@next. |
| packages/cli/package.json | Moves CLI to 1.0.0-next.0 and adds the ./bin export. |
| packages/cli/CHANGELOG.md | Finalizes prerelease changelog content for 1.0.0-next.0. |
| package.json | Renames workspace root and requires the prerelease contract test in the root test script. |
| docs/releasing.md | Updates the release runbook for 6 packages, prerelease next semantics, and latest protection/cleanup. |
| docs/launch/v1.0.0-next.0.md | Adds prerelease launch notes describing the launcher and next channel behavior. |
| docs/launch/announcement.md | Updates announcement draft copy for prerelease and npx primitree@next examples. |
| apps/docs/content/docs/mcp/index.mdx | Updates npx @primitree/mcp example to @next. |
| apps/docs/content/docs/index.mdx | Updates CLI install instructions to @primitree/cli@next. |
| apps/docs/content/docs/hooks/migration.mdx | Updates migration install command to @primitree/hooks@next. |
| apps/docs/content/docs/hooks/local-tokens.mdx | Updates build example to primitree@next. |
| apps/docs/content/docs/hooks/index.mdx | Updates hooks install example to @primitree/hooks@next. |
| apps/docs/content/docs/getting-started/index.mdx | Updates CLI install instructions to @primitree/cli@next. |
| apps/docs/content/docs/cli/index.mdx | Updates CLI install instructions to @primitree/cli@next. |
| apps/docs/content/docs/cli/check.mdx | Updates CLI install instructions to @primitree/cli@next. |
| .github/workflows/ci.yml | Accepts prerelease tag patterns and fixes Codecov file list formatting. |
| .changeset/README.md | Updates Changesets guidance to include the unscoped launcher in the fixed group. |
| .changeset/primitree-one.md | Adds the launch changeset covering all six public packages. |
| .changeset/pre.json | Enables prerelease mode (next) and initializes versions for all six packages. |
| .changeset/config.json | Extends the fixed version group to include primitree. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 245a2e9b4e
ℹ️ 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".
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b2adcb15-729c-4259-b04c-becd2fbc4807) |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 049502ce21
ℹ️ 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".
What changed
primitreepackage and forward its executable to@primitree/cli/bin1.0.0-next.0Changesets prerelease trainnextchannelslatestbefore publishing the next package, while preserving a stablelatest.bin/primitreebefore the broader six-package consumernpx primitree@nextWhy
The short npm name should be the public command while the scoped package remains the implementation and programmatic API. The first release must remain on
next, preserve any stable package onlatest, and prove that installing onlyprimitreeexposes the intended command.User and maintainer impact
npx primitree@next checkandnpx primitree@next build@primitree/cli@nextRelease safeguards
latestis removed and re-inspected before publication advances; a stablelatestis preservedprimitree@VERSIONand invokes both the wrapper and.bin/primitreebefore the six-package consumer runsVerification
pnpm run format:checkpnpm run lint: exit 0; existing warnings onlypnpm run typecheck: 15/15 Turbo taskspnpm run test: 147 root tests, 100 artifact tests, 66 release-workflow tests, and 15/15 workspace taskspnpm run test:coverage: 11/11 Turbo tasks; all five LCOV files are present and non-emptypnpm run test:e2e: 49/49 browser testspnpm run check:release: six packages at1.0.0-next.0, eight exact artifacts, packed consumer, public metadata, built prose, brand checks, and hooks size limitnode scripts/release-publish.mjs packed-consumer: passed against the real packed artifactsprimitree-1.0.0-next.0.tgzcontains only the launcher, README, changelog, license, and manifest; its dependency is rewritten to@primitree/cli: 1.0.0-next.0git diff --check