📋 Align package keywords with metadata policy#210
Conversation
|
Warning Rate limit exceeded
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 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (10)
📝 WalkthroughWalkthroughThis PR updates the Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
@effectionx/bdd
@effectionx/chain
@effectionx/converge
@effectionx/effect-ts
@effectionx/fetch
@effectionx/fs
@effectionx/fx
@effectionx/jsonl-store
@effectionx/node
@effectionx/process
@effectionx/raf
@effectionx/scope-eval
@effectionx/signals
@effectionx/stream-helpers
@effectionx/stream-yaml
@effectionx/task-buffer
@effectionx/test-adapter
@effectionx/timebox
@effectionx/tinyexec
@effectionx/vitest
@effectionx/watch
@effectionx/websocket
@effectionx/worker
commit: |
There was a problem hiding this comment.
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
📒 Files selected for processing (24)
bdd/package.jsonchain/package.jsonconverge/package.jsondeno-deploy/package.jsoneffect-ts/package.jsonfetch/package.jsonfs/package.jsonfx/package.jsonjsonl-store/package.jsonnode/package.jsonprocess/package.jsonraf/package.jsonscope-eval/package.jsonsignals/package.jsonstream-helpers/package.jsonstream-yaml/package.jsontask-buffer/package.jsontest-adapter/package.jsontimebox/package.jsontinyexec/package.jsonvitest/package.jsonwatch/package.jsonwebsocket/package.jsonworker/package.json
| "keywords": [ | ||
| "effection", | ||
| "effectionx", | ||
| "process", | ||
| "spawn", | ||
| "exec", | ||
| "child-process" | ||
| "process" | ||
| ], |
There was a problem hiding this comment.
🧹 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.
| "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.
| "keywords": [ | ||
| "effection", | ||
| "effectionx", | ||
| "platform", | ||
| "browser", | ||
| "animation", | ||
| "raf" | ||
| "streams" | ||
| ], |
There was a problem hiding this comment.
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.
| "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.
| "keywords": [ | ||
| "effection", | ||
| "effectionx", | ||
| "process", | ||
| "watch", | ||
| "file-watcher", | ||
| "dev" | ||
| "process" | ||
| ], |
There was a problem hiding this comment.
🧹 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.
| "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.
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 likeeffection,effectionx,bdd,node,events, andstarfxthat 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
keywordsin 24 published package manifests to use only approved category values:testing,io,process,streams,concurrency,reactivity,interop,platform.Notable decisions:
fxmapped to["interop"](notreactivity) — description says "adapted from starfx", which is ecosystem bridgingcontext-apiandmiddlewarewere already compliant and left unchangedSummary by CodeRabbit