Skip to content

📋 Align package keywords with metadata policy#210

Merged
taras merged 4 commits intomainfrom
tm/pr-1136-keyword-audit
Apr 5, 2026
Merged

📋 Align package keywords with metadata policy#210
taras merged 4 commits intomainfrom
tm/pr-1136-keyword-audit

Conversation

@taras
Copy link
Copy Markdown
Member

@taras taras commented Apr 5, 2026

Motivation

The package metadata policy (.policies/package-json-metadata.md) requires all published packages to use only approved category keywords. Many packages still had arbitrary keywords like effection, effectionx, bdd, node, events, and starfx that don't conform to the policy.

This is a companion to thefrontside/effection#1136, which adds category-based grouping to the extensions page and llms.txt — the categorization depends on packages having policy-compliant keywords.

Approach

Updated keywords in 24 published package manifests to use only approved category values: testing, io, process, streams, concurrency, reactivity, interop, platform.

Notable decisions:

  • fx mapped to ["interop"] (not reactivity) — description says "adapted from starfx", which is ecosystem bridging
  • context-api and middleware were already compliant and left unchanged

Summary by CodeRabbit

  • Chores
    • Standardized and reduced npm package keywords across multiple packages to refine metadata and improve discoverability.
    • Replaced broader, project-specific keyword lists with smaller, focused keyword sets (e.g., single or dual keywords) where appropriate.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 5, 2026

Warning

Rate limit exceeded

@taras has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 16 minutes and 0 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 16 minutes and 0 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9f7363d3-97de-4851-bbd7-76b1129ebd38

📥 Commits

Reviewing files that changed from the base of the PR and between 56f8f60 and 676d566.

📒 Files selected for processing (10)
  • chain/package.json
  • converge/package.json
  • fetch/package.json
  • process/package.json
  • raf/package.json
  • scope-eval/package.json
  • signals/package.json
  • task-buffer/package.json
  • watch/package.json
  • worker/package.json
📝 Walkthrough

Walkthrough

This PR updates the keywords metadata field in 23 package.json files across the repo, replacing broader or effection-specific keyword lists with smaller, domain-focused keyword arrays (e.g., io, streams, interop, testing, platform, concurrency, process, reactivity). No code, exports, dependencies, or runtime behavior were changed.

Changes

Cohort / File(s) Summary
IO & Network
fetch/package.json, fs/package.json, jsonl-store/package.json, websocket/package.json
Replaced broader keyword lists with ["io"] or ["io","streams"] (node/websocket).
Streams & Animation
raf/package.json, stream-helpers/package.json, stream-yaml/package.json, node/package.json
Consolidated stream-related packages to ["streams"] (node includes ["io","streams"]).
Interop / Integrations
chain/package.json, effect-ts/package.json, fx/package.json, test-adapter/package.json
Keywords normalized to ["interop"] (test-adapter: ["testing","interop"]).
Process & Execution
process/package.json, tinyexec/package.json, watch/package.json
Keywords unified to ["process"].
Concurrency & Coordination
scope-eval/package.json, task-buffer/package.json, timebox/package.json, converge/package.json
Keywords set to ["concurrency"] (converge also includes ["testing","concurrency"]).
Testing
bdd/package.json, vitest/package.json
Keywords reduced to ["testing"].
Platform / Runtimes
deno-deploy/package.json, worker/package.json
Keywords set to ["platform"].
Reactivity / Signals
signals/package.json
Keywords changed to ["reactivity"].

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Policy Compliance ❓ Inconclusive Policy files referenced in custom check (.policies/index.md, .policies/package-json-metadata.md, .policies/no-agent-marketing.md, .policies/version-bump.md) do not exist in repository. Locate or provide the referenced policy files to verify keyword compliance, description field requirements, and absence of AI marketing material in commits.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: aligning package keywords with a metadata policy across 24 packages.
Description check ✅ Passed The description follows the template with well-populated Motivation and Approach sections, explaining the policy compliance issue, the 24 packages updated, approved keywords used, and notable mapping decisions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tm/pr-1136-keyword-audit

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 5, 2026

Open in StackBlitz

@effectionx/bdd

npm i https://pkg.pr.new/@effectionx/bdd@210

@effectionx/chain

npm i https://pkg.pr.new/@effectionx/chain@210

@effectionx/converge

npm i https://pkg.pr.new/@effectionx/converge@210

@effectionx/effect-ts

npm i https://pkg.pr.new/@effectionx/effect-ts@210

@effectionx/fetch

npm i https://pkg.pr.new/@effectionx/fetch@210

@effectionx/fs

npm i https://pkg.pr.new/@effectionx/fs@210

@effectionx/fx

npm i https://pkg.pr.new/@effectionx/fx@210

@effectionx/jsonl-store

npm i https://pkg.pr.new/@effectionx/jsonl-store@210

@effectionx/node

npm i https://pkg.pr.new/@effectionx/node@210

@effectionx/process

npm i https://pkg.pr.new/@effectionx/process@210

@effectionx/raf

npm i https://pkg.pr.new/@effectionx/raf@210

@effectionx/scope-eval

npm i https://pkg.pr.new/@effectionx/scope-eval@210

@effectionx/signals

npm i https://pkg.pr.new/@effectionx/signals@210

@effectionx/stream-helpers

npm i https://pkg.pr.new/@effectionx/stream-helpers@210

@effectionx/stream-yaml

npm i https://pkg.pr.new/@effectionx/stream-yaml@210

@effectionx/task-buffer

npm i https://pkg.pr.new/@effectionx/task-buffer@210

@effectionx/test-adapter

npm i https://pkg.pr.new/@effectionx/test-adapter@210

@effectionx/timebox

npm i https://pkg.pr.new/@effectionx/timebox@210

@effectionx/tinyexec

npm i https://pkg.pr.new/@effectionx/tinyexec@210

@effectionx/vitest

npm i https://pkg.pr.new/@effectionx/vitest@210

@effectionx/watch

npm i https://pkg.pr.new/@effectionx/watch@210

@effectionx/websocket

npm i https://pkg.pr.new/@effectionx/websocket@210

@effectionx/worker

npm i https://pkg.pr.new/@effectionx/worker@210

commit: 676d566

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@process/package.json`:
- Around line 5-7: Update the package.json "keywords" array to include
"concurrency" as a secondary keyword to reflect the package's structured
concurrency capability and improve discoverability; ensure the array ordering
follows relevance with "process" first and "concurrency" added immediately
after, and update any metadata validation/comments to match the
`.policies/package-json-metadata.md` requirement.

In `@raf/package.json`:
- Around line 5-8: Reorder the package.json "keywords" array so the most
relevant term appears first: move "streams" before "platform" in the keywords
list; update the array ["platform","streams"] to ["streams","platform"]
(referencing the "keywords" array and the values "streams" and "platform") to
reflect stream-centric relevance and follow the approved-category ordering
guideline.

In `@watch/package.json`:
- Around line 5-7: Add the "io" keyword to the package.json "keywords" array to
reflect file I/O / file-watching functionality (in addition to "process"), and
reorder the keywords by relevance per the .policies/package-json-metadata.md
guidance (e.g., keep "process" first if process-management is primary, otherwise
place "io" first if file-watching is primary) so the keywords accurately
describe the package and improve discoverability.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2aa14d71-c8fc-4bfd-8d10-a1b4f3d32c89

📥 Commits

Reviewing files that changed from the base of the PR and between 8e9b532 and bd5b124.

📒 Files selected for processing (24)
  • bdd/package.json
  • chain/package.json
  • converge/package.json
  • deno-deploy/package.json
  • effect-ts/package.json
  • fetch/package.json
  • fs/package.json
  • fx/package.json
  • jsonl-store/package.json
  • node/package.json
  • process/package.json
  • raf/package.json
  • scope-eval/package.json
  • signals/package.json
  • stream-helpers/package.json
  • stream-yaml/package.json
  • task-buffer/package.json
  • test-adapter/package.json
  • timebox/package.json
  • tinyexec/package.json
  • vitest/package.json
  • watch/package.json
  • websocket/package.json
  • worker/package.json

Comment thread process/package.json Outdated
Comment on lines 5 to 7
"keywords": [
"effection",
"effectionx",
"process",
"spawn",
"exec",
"child-process"
"process"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Consider adding concurrency to better reflect the package's core feature.

The description explicitly mentions "structured concurrency" as a key capability, and concurrency is an approved category keyword. Including it would improve discoverability and better align with the package's differentiating features.

📋 Suggested enhancement
   "keywords": [
-    "process"
+    "process",
+    "concurrency"
   ],

As per coding guidelines: .policies/package-json-metadata.md requires keywords to be "ordered by relevance" — adding concurrency as a secondary category aligns with the package description's emphasis on structured concurrency.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"keywords": [
"effection",
"effectionx",
"process",
"spawn",
"exec",
"child-process"
"process"
],
"keywords": [
"process",
"concurrency"
],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@process/package.json` around lines 5 - 7, Update the package.json "keywords"
array to include "concurrency" as a secondary keyword to reflect the package's
structured concurrency capability and improve discoverability; ensure the array
ordering follows relevance with "process" first and "concurrency" added
immediately after, and update any metadata validation/comments to match the
`.policies/package-json-metadata.md` requirement.

Comment thread raf/package.json Outdated
Comment on lines 5 to 8
"keywords": [
"effection",
"effectionx",
"platform",
"browser",
"animation",
"raf"
"streams"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Reorder keywords by relevance (streams should likely come first).

The values are valid, but for this package the description on Line 3 is stream-centric, so ordering streams before platform better matches the policy intent.

Proposed metadata-only adjustment
   "keywords": [
-    "platform",
-    "streams"
+    "streams",
+    "platform"
   ],

As per coding guidelines, keywords must use approved categories and be ordered by relevance.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"keywords": [
"effection",
"effectionx",
"platform",
"browser",
"animation",
"raf"
"streams"
],
"keywords": [
"streams",
"platform"
],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@raf/package.json` around lines 5 - 8, Reorder the package.json "keywords"
array so the most relevant term appears first: move "streams" before "platform"
in the keywords list; update the array ["platform","streams"] to
["streams","platform"] (referencing the "keywords" array and the values
"streams" and "platform") to reflect stream-centric relevance and follow the
approved-category ordering guideline.

Comment thread watch/package.json Outdated
Comment on lines 5 to 7
"keywords": [
"effection",
"effectionx",
"process",
"watch",
"file-watcher",
"dev"
"process"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Consider adding io keyword for file-watching functionality.

While process accurately captures the command restart functionality, this package also performs file I/O monitoring (watches source files via chokidar and depends on @effectionx/fs). Adding io would better reflect the dual nature of this package and improve discoverability.

📝 Proposed enhancement
   "keywords": [
+    "io",
     "process"
   ],

As per coding guidelines, the .policies/package-json-metadata.md policy requires keywords to be "ordered by relevance" — if io is added, consider whether file-watching or process-management is the primary concern to determine ordering.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"keywords": [
"effection",
"effectionx",
"process",
"watch",
"file-watcher",
"dev"
"process"
],
"keywords": [
"io",
"process"
],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@watch/package.json` around lines 5 - 7, Add the "io" keyword to the
package.json "keywords" array to reflect file I/O / file-watching functionality
(in addition to "process"), and reorder the keywords by relevance per the
.policies/package-json-metadata.md guidance (e.g., keep "process" first if
process-management is primary, otherwise place "io" first if file-watching is
primary) so the keywords accurately describe the package and improve
discoverability.

@taras taras merged commit 440fb7f into main Apr 5, 2026
7 checks passed
@taras taras deleted the tm/pr-1136-keyword-audit branch April 5, 2026 13:43
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