[FEAT]: Add agents.md with relevant skills for the repository#101
[FEAT]: Add agents.md with relevant skills for the repository#101AshutoshDash1999 wants to merge 2 commits into
Conversation
|
@AshutoshDash1999 is attempting to deploy a commit to the niharika-mente's projects Team on Vercel. A member of the Team first needs to authorize it. |
📝 WalkthroughWalkthroughThis PR adds repository agent guidance, installs and locks many agent skills, expands large documentation/reference sets for accessibility, Next.js, MongoDB, Tailwind, TypeScript, and React performance, and adds two shell scripts for fallback Vercel deployments. ChangesAgent skills and documentation bundle
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (6)
.agents/skills/next-best-practices/file-conventions.md (1)
9-9: ⚡ Quick winAdd language specifications to fenced code blocks (MD040 linting rule).
Markdown linting requires all fenced code blocks to have a language identifier. Several blocks in the Next.js best-practices documentation omit language tags—they are directory/file structures and error output blocks that should specify a language (e.g.,
plain,text).
.agents/skills/next-best-practices/file-conventions.md#L9,L43,L54,L65,L84: Add language tags to the directory structure and configuration blocks (suggestplainortext).agents/skills/next-best-practices/async-patterns.md#L7: Add language tag to the decision tree block (suggestplainortext).agents/skills/next-best-practices/bundling.md#L11,L112: Add language tags to the error output blocks (suggesttextorplain).agents/skills/next-best-practices/data-patterns.md#L7: Add language tag to the decision tree block (suggestplainortext).agents/skills/next-best-practices/error-handling.md#L218: Add language tag to the error hierarchy diagram (suggestplainortext)Example fix for file-conventions.md line 9:
📝 Proposed fix for language specification
-``` +```plain app/ ├── layout.tsx # Root layout (required)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/next-best-practices/file-conventions.md at line 9, All fenced code blocks in the Next.js best-practices documentation files must include language identifiers to comply with MD040 linting rules. In `.agents/skills/next-best-practices/file-conventions.md` at lines 9, 43, 54, 65, and 84, add a language tag (suggest `plain` or `text`) to each fenced code block containing directory structures and configuration blocks. In `.agents/skills/next-best-practices/async-patterns.md` at line 7, add a language tag to the decision tree block. In `.agents/skills/next-best-practices/bundling.md` at lines 11 and 112, add language tags to the error output blocks. In `.agents/skills/next-best-practices/data-patterns.md` at line 7, add a language tag to the decision tree block. In `.agents/skills/next-best-practices/error-handling.md` at line 218, add a language tag to the error hierarchy diagram. Use `plain` or `text` as the language identifier for all these blocks.Source: Linters/SAST tools
.agents/skills/mongodb-query-optimizer/references/aggregation-optimization.md (1)
133-145: 💤 Low valueMarkdown spacing: Remove spaces inside code span.
Line 145 has extra spaces inside the code span:
`$filter`should be`$filter`. LanguageTool (MD038) flagged this. This is minor and does not affect rendering, but aligns with markdown linting standards.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/mongodb-query-optimizer/references/aggregation-optimization.md around lines 133 - 145, Remove the extra spaces inside the markdown code spans on line 145 of the $unwind Best Practices section. The code spans for $filter, $map, and $reduce currently have unnecessary spacing inside the backticks that should be removed to comply with markdown linting standards (MD038). Simply ensure each inline code span has no extra spaces between the backticks and the code content.Source: Linters/SAST tools
.agents/skills/mongodb-query-optimizer/SKILL.md (1)
24-24: 💤 Low valueCompound word formatting: "High Level" should be "High-Level".
Line 24 uses "High Level" as a compound adjective; use a hyphen for clarity. This matches LanguageTool's QB_NEW_EN_HYPHEN feedback.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/mongodb-query-optimizer/SKILL.md at line 24, The heading "High Level Workflow" uses a compound adjective that needs hyphenation for proper formatting. Change "High Level" to "High-Level" in the heading to comply with standard English grammar rules for compound adjectives.Source: Linters/SAST tools
.agents/skills/mongodb-query-optimizer/references/core-indexing-principles.md (1)
1-10: 💤 Low valueHeading hierarchy violation: "Compound Index Guidelines" should be h2, not h3.
Line 3 declares
### Compound Index Guidelinesbut should be##to follow proper heading increment from h1 (line 1:# Core Index Principles). LanguageTool (MD001) flagged this structural issue.🔧 Proposed fix
# Core Index Principles -### Compound Index Guidelines +## Compound Index Guidelines🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/mongodb-query-optimizer/references/core-indexing-principles.md around lines 1 - 10, The markdown file has a heading hierarchy violation where "Compound Index Guidelines" is declared as h3 (###) but should be h2 (##) to properly increment from the h1 heading "Core Index Principles". Change the three hash symbols (###) before "Compound Index Guidelines" to two hash symbols (##) to follow proper heading hierarchy and resolve the LanguageTool MD001 violation.Source: Linters/SAST tools
.agents/skills/mongodb-schema-design/SKILL.md (1)
56-73: 💤 Low valueHeading hierarchy violation: "Schema Fundamentals Summary" should be h3, not h4.
Line 66 declares
#### Schema Fundamentals Summary(h4) but should be###(h3) because it follows## Key Principleat line 56. Heading levels should increment by one. LanguageTool (MD001) flagged this.🔧 Proposed fix
## Key Principle > **"Data that is accessed together should be stored together."** -#### Schema Fundamentals Summary +### Schema Fundamentals Summary🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/mongodb-schema-design/SKILL.md around lines 56 - 73, The heading hierarchy in the document violates markdown standards by jumping from h2 (## Key Principle) directly to h4 (#### Schema Fundamentals Summary), skipping h3. Change the "Schema Fundamentals Summary" heading from four hash marks (####) to three hash marks (###) to maintain proper heading hierarchy where each level increments by exactly one.Source: Linters/SAST tools
.agents/skills/mongodb-query-optimizer/references/antipattern-examples.md (1)
21-37: 💤 Low valueCompound adjective formatting: "case-insensitive" should use hyphen.
Lines 23 and 26 use "case insensitive" as a compound adjective; use a hyphen: "case-insensitive". LanguageTool flagged this at line 23.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/mongodb-query-optimizer/references/antipattern-examples.md around lines 21 - 37, Add hyphens to instances of "case insensitive" when used as a compound adjective modifying a noun. In the antipattern-examples.md file, locate all occurrences of "case insensitive" (without hyphen) used to describe or modify other nouns and change them to "case-insensitive". This includes instances in code comments and explanatory text where the phrase functions as a compound adjective rather than a standalone noun phrase.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/skills/deploy-to-vercel/resources/deploy.sh:
- Line 239: The curl commands used to deploy to Vercel can hang indefinitely
during network stalls because they lack timeout settings. Add network timeout
parameters to both curl invocations in the script: the RESPONSE curl command
that POSTs to DEPLOY_ENDPOINT with the TARBALL and FRAMEWORK, and the other curl
command that appears later in the script (also communicating with the deployment
endpoint). Use curl flags such as --max-time or --connect-timeout to set
reasonable timeout values that prevent indefinite blocking while still allowing
sufficient time for the deployment operations to complete.
- Around line 201-206: The tar command in the deploy.sh file that packages the
project for staging excludes only node_modules, .git, and .env files, leaving
common credential artifacts vulnerable to accidental upload. Add additional
--exclude flags to the tar command to prevent including sensitive files such as
.npmrc, .pypirc, .netrc, .aws, .ssh, and files with extensions like .pem and
.key. These exclusions should be added as separate --exclude arguments before
the -cf flag in the same tar invocation.
In @.agents/skills/deploy-to-vercel/SKILL.md:
- Around line 67-69: The deployment skill's git workflow has two issues that
need hardening. First, replace the overly broad `git add .` command with
explicit file staging to prevent unintended or sensitive files from being
committed in the deployment flow. Second, update the commit message template in
the git commit command to follow the repository's enforced conventional-commit
format, which requires one of 11 defined commit types, a kebab-case scope in
parentheses, a lowercase subject line, and a maximum of 72 characters total.
Update both the staging approach and the commit message template to match these
standards for secure and consistent deployment commits.
In @.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md:
- Around line 1-39: Add React version requirement documentation to both skill
files that use React 19+ APIs. In
`.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md` (lines
1-39), add a note documenting that useEffectEvent requires React 19.2+, and in
`.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md`
(lines 1-100), add a note documenting that the use() hook requires React 19+.
Additionally, consider adding a `requires` field to the YAML front matter at
both locations (e.g., `requires: "React 19.2+"` for advanced-use-latest.md and
`requires: "React 19+"` for async-suspense-boundaries.md) to provide consistent
version documentation across all skill files.
In
@.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md:
- Around line 1-28: Five rule documentation files are missing a required
"Reference:" section at the end that should link to authoritative documentation,
as defined in the _template.md template contract. In
.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md
(lines 1-28), add a Reference section linking to V8 property access optimization
or MDN performance guides. In js-cache-storage.md (lines 1-70), add a Reference
section linking to MDN Web Storage API or cache-busting strategies. In
js-combine-iterations.md (lines 1-32), add a Reference section linking to
JavaScript array iteration or performance documentation. In js-early-exit.md
(lines 1-50), add a Reference section linking to control-flow or guard-clause
best practices documentation. In js-flatmap-filter.md (lines 1-60), add a
Reference section linking to MDN flatMap documentation. Each file should
conclude with a consistent Reference format matching the template structure.
In
@.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md:
- Around line 1-73: The rule files are missing required Reference links at the
end, violating the documented rule format contract. Add a Reference line to the
end of each of the four affected files as follows: In
`.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md`
(lines 1-73), add `Reference: [useRef
documentation](https://react.dev/reference/react/useRef)` after line 73. In
`.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md` (lines
1-65), add `Reference: [React Server Components
documentation](https://react.dev/reference/react/use_server)` after line 65. In
`.agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md`
(lines 1-150), add `Reference: [Next.js Route Handlers
documentation](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)`
after line 150. In
`.agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md`
(lines 1-50), add `Reference: [Next.js Server Components
documentation](https://nextjs.org/docs/app/building-your-application/rendering/server-components)`
after line 50. Each Reference line should follow the format used in other rules
like server-auth-actions.md and server-cache-react.md to ensure consistency
across the ruleset.
In @.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md:
- Around line 12-33: The rule currently uses a single "**Implementation:**"
section with code example, but it deviates from the documented format contract
which requires "**Incorrect:**" and "**Correct:**" sections. Restructure this
rule by replacing the "**Implementation:**" header and its content with two
sections: first, create an "**Incorrect:**" section that shows the problem
(caching without LRU, or not caching at all - the inefficient approach), then
create a "**Correct:**" section containing the current implementation example
with the getUser function and LRUCache setup. Ensure both sections include
descriptive explanations of what's wrong and what's right before their
respective code examples, matching the pattern used in other rules like
server-cache-react.md and server-dedup-props.md.
---
Nitpick comments:
In
@.agents/skills/mongodb-query-optimizer/references/aggregation-optimization.md:
- Around line 133-145: Remove the extra spaces inside the markdown code spans on
line 145 of the $unwind Best Practices section. The code spans for $filter,
$map, and $reduce currently have unnecessary spacing inside the backticks that
should be removed to comply with markdown linting standards (MD038). Simply
ensure each inline code span has no extra spaces between the backticks and the
code content.
In @.agents/skills/mongodb-query-optimizer/references/antipattern-examples.md:
- Around line 21-37: Add hyphens to instances of "case insensitive" when used as
a compound adjective modifying a noun. In the antipattern-examples.md file,
locate all occurrences of "case insensitive" (without hyphen) used to describe
or modify other nouns and change them to "case-insensitive". This includes
instances in code comments and explanatory text where the phrase functions as a
compound adjective rather than a standalone noun phrase.
In
@.agents/skills/mongodb-query-optimizer/references/core-indexing-principles.md:
- Around line 1-10: The markdown file has a heading hierarchy violation where
"Compound Index Guidelines" is declared as h3 (###) but should be h2 (##) to
properly increment from the h1 heading "Core Index Principles". Change the three
hash symbols (###) before "Compound Index Guidelines" to two hash symbols (##)
to follow proper heading hierarchy and resolve the LanguageTool MD001 violation.
In @.agents/skills/mongodb-query-optimizer/SKILL.md:
- Line 24: The heading "High Level Workflow" uses a compound adjective that
needs hyphenation for proper formatting. Change "High Level" to "High-Level" in
the heading to comply with standard English grammar rules for compound
adjectives.
In @.agents/skills/mongodb-schema-design/SKILL.md:
- Around line 56-73: The heading hierarchy in the document violates markdown
standards by jumping from h2 (## Key Principle) directly to h4 (#### Schema
Fundamentals Summary), skipping h3. Change the "Schema Fundamentals Summary"
heading from four hash marks (####) to three hash marks (###) to maintain proper
heading hierarchy where each level increments by exactly one.
In @.agents/skills/next-best-practices/file-conventions.md:
- Line 9: All fenced code blocks in the Next.js best-practices documentation
files must include language identifiers to comply with MD040 linting rules. In
`.agents/skills/next-best-practices/file-conventions.md` at lines 9, 43, 54, 65,
and 84, add a language tag (suggest `plain` or `text`) to each fenced code block
containing directory structures and configuration blocks. In
`.agents/skills/next-best-practices/async-patterns.md` at line 7, add a language
tag to the decision tree block. In
`.agents/skills/next-best-practices/bundling.md` at lines 11 and 112, add
language tags to the error output blocks. In
`.agents/skills/next-best-practices/data-patterns.md` at line 7, add a language
tag to the decision tree block. In
`.agents/skills/next-best-practices/error-handling.md` at line 218, add a
language tag to the error hierarchy diagram. Use `plain` or `text` as the
language identifier for all these blocks.
🪄 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: CHILL
Plan: Pro
Run ID: 81f8b829-dd82-4d4e-9092-46b661d303d1
📒 Files selected for processing (142)
.agents/skills/accessibility-compliance/SKILL.md.agents/skills/accessibility-compliance/references/aria-patterns.md.agents/skills/accessibility-compliance/references/details.md.agents/skills/accessibility-compliance/references/mobile-accessibility.md.agents/skills/accessibility-compliance/references/wcag-guidelines.md.agents/skills/core-web-vitals/SKILL.md.agents/skills/core-web-vitals/references/LCP.md.agents/skills/deploy-to-vercel/SKILL.md.agents/skills/deploy-to-vercel/resources/deploy-codex.sh.agents/skills/deploy-to-vercel/resources/deploy.sh.agents/skills/eslint-prettier-config/SKILL.md.agents/skills/mongodb-query-optimizer/SKILL.md.agents/skills/mongodb-query-optimizer/references/aggregation-optimization.md.agents/skills/mongodb-query-optimizer/references/antipattern-examples.md.agents/skills/mongodb-query-optimizer/references/core-indexing-principles.md.agents/skills/mongodb-query-optimizer/references/update-query-examples.md.agents/skills/mongodb-schema-design/SKILL.md.agents/skills/mongodb-schema-design/references/antipattern-excessive-lookups.md.agents/skills/mongodb-schema-design/references/antipattern-unnecessary-collections.md.agents/skills/mongodb-schema-design/references/antipattern-unnecessary-indexes.md.agents/skills/mongodb-schema-design/references/fundamental-document-model.md.agents/skills/mongodb-schema-design/references/fundamental-document-size.md.agents/skills/mongodb-schema-design/references/fundamental-embed-vs-reference.md.agents/skills/mongodb-schema-design/references/fundamental-schema-validation.md.agents/skills/mongodb-schema-design/references/pattern-approximation.md.agents/skills/mongodb-schema-design/references/pattern-archive.md.agents/skills/mongodb-schema-design/references/pattern-attribute.md.agents/skills/mongodb-schema-design/references/pattern-bucket.md.agents/skills/mongodb-schema-design/references/pattern-computed.md.agents/skills/mongodb-schema-design/references/pattern-document-versioning.md.agents/skills/mongodb-schema-design/references/pattern-extended-reference.md.agents/skills/mongodb-schema-design/references/pattern-outlier.md.agents/skills/mongodb-schema-design/references/pattern-polymorphic.md.agents/skills/mongodb-schema-design/references/pattern-schema-versioning.md.agents/skills/mongodb-schema-design/references/pattern-time-series-collections.md.agents/skills/next-best-practices/SKILL.md.agents/skills/next-best-practices/async-patterns.md.agents/skills/next-best-practices/bundling.md.agents/skills/next-best-practices/data-patterns.md.agents/skills/next-best-practices/debug-tricks.md.agents/skills/next-best-practices/directives.md.agents/skills/next-best-practices/error-handling.md.agents/skills/next-best-practices/file-conventions.md.agents/skills/next-best-practices/font.md.agents/skills/next-best-practices/functions.md.agents/skills/next-best-practices/hydration-error.md.agents/skills/next-best-practices/image.md.agents/skills/next-best-practices/metadata.md.agents/skills/next-best-practices/parallel-routes.md.agents/skills/next-best-practices/route-handlers.md.agents/skills/next-best-practices/rsc-boundaries.md.agents/skills/next-best-practices/runtime-selection.md.agents/skills/next-best-practices/scripts.md.agents/skills/next-best-practices/self-hosting.md.agents/skills/next-best-practices/suspense-boundaries.md.agents/skills/next-cache-components/SKILL.md.agents/skills/posthog-instrumentation/SKILL.md.agents/skills/tailwind-design-system/SKILL.md.agents/skills/tailwind-design-system/references/advanced-patterns.md.agents/skills/tailwind-design-system/references/details.md.agents/skills/typescript-advanced-types/SKILL.md.agents/skills/typescript-advanced-types/references/details.md.agents/skills/vercel-react-best-practices/AGENTS.md.agents/skills/vercel-react-best-practices/README.md.agents/skills/vercel-react-best-practices/SKILL.md.agents/skills/vercel-react-best-practices/metadata.json.agents/skills/vercel-react-best-practices/rules/_sections.md.agents/skills/vercel-react-best-practices/rules/_template.md.agents/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md.agents/skills/vercel-react-best-practices/rules/async-api-routes.md.agents/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md.agents/skills/vercel-react-best-practices/rules/async-defer-await.md.agents/skills/vercel-react-best-practices/rules/async-dependencies.md.agents/skills/vercel-react-best-practices/rules/async-parallel.md.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md.agents/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md.agents/skills/vercel-react-best-practices/rules/bundle-preload.md.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md.agents/skills/vercel-react-best-practices/rules/js-early-exit.md.agents/skills/vercel-react-best-practices/rules/js-flatmap-filter.md.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md.agents/skills/vercel-react-best-practices/rules/js-index-maps.md.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md.agents/skills/vercel-react-best-practices/rules/js-request-idle-callback.md.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md.agents/skills/vercel-react-best-practices/rules/rendering-activity.md.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md.agents/skills/vercel-react-best-practices/rules/rendering-resource-hints.md.agents/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md.agents/skills/vercel-react-best-practices/rules/rerender-memo.md.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md.agents/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md.agents/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md.agents/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md.agents/skills/vercel-react-best-practices/rules/server-cache-react.md.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md.agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md.agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md.agents/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md.agents/skills/vercel-react-best-practices/rules/server-serialization.md.agents/skills/wcag-audit-patterns/SKILL.md.agents/skills/wcag-audit-patterns/references/details.mdAGENTS.mdskills-lock.json
| tar -C "$PROJECT_PATH" \ | ||
| --exclude='node_modules' \ | ||
| --exclude='.git' \ | ||
| --exclude='.env' \ | ||
| --exclude='.env.*' \ | ||
| -cf - . | tar -C "$STAGING_DIR" -xf - |
There was a problem hiding this comment.
Expand packaging excludes to reduce accidental credential exfiltration.
Current excludes only target .env*; common local credential artifacts (for example .npmrc, .pypirc, .netrc, .aws, .ssh, *.pem, *.key) are still included if present under the project path and will be uploaded.
Suggested update
tar -C "$PROJECT_PATH" \
--exclude='node_modules' \
--exclude='.git' \
--exclude='.env' \
--exclude='.env.*' \
+ --exclude='.npmrc' \
+ --exclude='.pypirc' \
+ --exclude='.netrc' \
+ --exclude='.aws' \
+ --exclude='.ssh' \
+ --exclude='*.pem' \
+ --exclude='*.key' \
-cf - . | tar -C "$STAGING_DIR" -xf -📝 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.
| tar -C "$PROJECT_PATH" \ | |
| --exclude='node_modules' \ | |
| --exclude='.git' \ | |
| --exclude='.env' \ | |
| --exclude='.env.*' \ | |
| -cf - . | tar -C "$STAGING_DIR" -xf - | |
| tar -C "$PROJECT_PATH" \ | |
| --exclude='node_modules' \ | |
| --exclude='.git' \ | |
| --exclude='.env' \ | |
| --exclude='.env.*' \ | |
| --exclude='.npmrc' \ | |
| --exclude='.pypirc' \ | |
| --exclude='.netrc' \ | |
| --exclude='.aws' \ | |
| --exclude='.ssh' \ | |
| --exclude='*.pem' \ | |
| --exclude='*.key' \ | |
| -cf - . | tar -C "$STAGING_DIR" -xf - |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/deploy-to-vercel/resources/deploy.sh around lines 201 - 206,
The tar command in the deploy.sh file that packages the project for staging
excludes only node_modules, .git, and .env files, leaving common credential
artifacts vulnerable to accidental upload. Add additional --exclude flags to the
tar command to prevent including sensitive files such as .npmrc, .pypirc,
.netrc, .aws, .ssh, and files with extensions like .pem and .key. These
exclusions should be added as separate --exclude arguments before the -cf flag
in the same tar invocation.
|
|
||
| # Deploy | ||
| echo "Deploying..." >&2 | ||
| RESPONSE=$(curl -s -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK") |
There was a problem hiding this comment.
Add network timeouts to all curl calls to avoid indefinite hangs.
Line 239 and Line 266 can block forever on network stalls, so the script may never return despite MAX_ATTEMPTS.
Suggested update
-RESPONSE=$(curl -s -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK")
+RESPONSE=$(curl -sS --connect-timeout 10 --max-time 120 -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK")
-HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$PREVIEW_URL")
+HTTP_STATUS=$(curl -sS --connect-timeout 5 --max-time 15 -o /dev/null -w "%{http_code}" "$PREVIEW_URL" || echo "000")Also applies to: 266-266
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/deploy-to-vercel/resources/deploy.sh at line 239, The curl
commands used to deploy to Vercel can hang indefinitely during network stalls
because they lack timeout settings. Add network timeout parameters to both curl
invocations in the script: the RESPONSE curl command that POSTs to
DEPLOY_ENDPOINT with the TARBALL and FRAMEWORK, and the other curl command that
appears later in the script (also communicating with the deployment endpoint).
Use curl flags such as --max-time or --connect-timeout to set reasonable timeout
values that prevent indefinite blocking while still allowing sufficient time for
the deployment operations to complete.
| git add . | ||
| git commit -m "deploy: <description of changes>" | ||
| git push |
There was a problem hiding this comment.
Harden the commit step before push-triggered deploys.
Line 67 uses git add ., which can stage unintended or sensitive files in a deployment-assist flow. Also, Line 68’s commit template should follow this repo’s enforced conventional-commit format.
Suggested update
- git add .
- git commit -m "deploy: <description of changes>"
+ git status --short
+ git add -u
+ # optionally add explicit paths for intended new files
+ # git add <path1> <path2>
+ git commit -m "<allowed-type>(deploy): <lowercase-subject>"Based on learnings: Enforce conventional commits with 11 types, kebab-case scope, lowercase subject, and max 72 character limit.
🧰 Tools
🪛 SkillSpector (2.1.1)
[warning] 113: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
(Rogue Agent (RA2))
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/deploy-to-vercel/SKILL.md around lines 67 - 69, The
deployment skill's git workflow has two issues that need hardening. First,
replace the overly broad `git add .` command with explicit file staging to
prevent unintended or sensitive files from being committed in the deployment
flow. Second, update the commit message template in the git commit command to
follow the repository's enforced conventional-commit format, which requires one
of 11 defined commit types, a kebab-case scope in parentheses, a lowercase
subject line, and a maximum of 72 characters total. Update both the staging
approach and the commit message template to match these standards for secure and
consistent deployment commits.
Source: Learnings
| --- | ||
| title: useEffectEvent for Stable Callback Refs | ||
| impact: LOW | ||
| impactDescription: prevents effect re-runs | ||
| tags: advanced, hooks, useEffectEvent, refs, optimization | ||
| --- | ||
|
|
||
| ## useEffectEvent for Stable Callback Refs | ||
|
|
||
| Access latest values in callbacks without adding them to dependency arrays. Prevents effect re-runs while avoiding stale closures. | ||
|
|
||
| **Incorrect (effect re-runs on every callback change):** | ||
|
|
||
| ```tsx | ||
| function SearchInput({ onSearch }: { onSearch: (q: string) => void }) { | ||
| const [query, setQuery] = useState('') | ||
|
|
||
| useEffect(() => { | ||
| const timeout = setTimeout(() => onSearch(query), 300) | ||
| return () => clearTimeout(timeout) | ||
| }, [query, onSearch]) | ||
| } | ||
| ``` | ||
|
|
||
| **Correct (using React's useEffectEvent):** | ||
|
|
||
| ```tsx | ||
| import { useEffectEvent } from 'react'; | ||
|
|
||
| function SearchInput({ onSearch }: { onSearch: (q: string) => void }) { | ||
| const [query, setQuery] = useState('') | ||
| const onSearchEvent = useEffectEvent(onSearch) | ||
|
|
||
| useEffect(() => { | ||
| const timeout = setTimeout(() => onSearchEvent(query), 300) | ||
| return () => clearTimeout(timeout) | ||
| }, [query]) | ||
| } | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What is the React version that stabilized useEffectEvent and the use() hook?
💡 Result:
The useEffectEvent hook was stabilized in React 19.2 [1][2]. It allows developers to extract non-reactive logic from within an Effect, enabling access to the latest props and state without triggering effect re-runs or requiring those values to be listed in the effect's dependency array [1][3][4]. The use hook was introduced in React 19 [5][6]. While it is a stable API in React 19 for use in Server Components, its usage in Client Components remained experimental upon the initial release of React 19 [5]. Current documentation confirms its stable usage for reading resources like Promises or Context in modern React applications [7][6].
Citations:
- 1: https://blog.logrocket.com/react-useeffectevent/
- 2: https://yceffort.kr/en/2025/12/use-effect-event
- 3: https://nerdleveltech.com/react-useeffectevent-stop-effect-reruns-tutorial
- 4: https://contentbuffer.com/guides/react-192-useeffectevent-kill-stale-closures-effects
- 5: https://dev.to/a1guy/react-19-use-hook-deep-dive-using-promises-directly-in-your-components-1plp
- 6: https://pockit.tools/blog/react-19-use-hook-data-fetching-complete-guide/
- 7: https://facebook-react.mintlify.app/api/hooks/use
🏁 Script executed:
cat -n .agents/skills/vercel-react-best-practices/rules/advanced-use-latest.mdRepository: niharika-mente/DevEvent_Tracker
Length of output: 1422
🏁 Script executed:
cat -n .agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.mdRepository: niharika-mente/DevEvent_Tracker
Length of output: 3278
Add React version requirement notices to skill files using React 19+ APIs.
Both files use newer React APIs requiring specific React versions but lack version documentation. Add version notices to prevent developers from using patterns unsupported in their environment:
.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md: Add note thatuseEffectEventrequires React 19.2+.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md: Add note thatuse()hook requires React 19+
Consider adding a requires field to the YAML front matter (e.g., requires: "React 19.2+") for consistent version documentation across all skill files.
📍 Affects 2 files
.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md#L1-L39(this comment).agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md#L1-L100
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md
around lines 1 - 39, Add React version requirement documentation to both skill
files that use React 19+ APIs. In
`.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md` (lines
1-39), add a note documenting that useEffectEvent requires React 19.2+, and in
`.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md`
(lines 1-100), add a note documenting that the use() hook requires React 19+.
Additionally, consider adding a `requires` field to the YAML front matter at
both locations (e.g., `requires: "React 19.2+"` for advanced-use-latest.md and
`requires: "React 19+"` for async-suspense-boundaries.md) to provide consistent
version documentation across all skill files.
| --- | ||
| title: Cache Property Access in Loops | ||
| impact: LOW-MEDIUM | ||
| impactDescription: reduces lookups | ||
| tags: javascript, loops, optimization, caching | ||
| --- | ||
|
|
||
| ## Cache Property Access in Loops | ||
|
|
||
| Cache object property lookups in hot paths. | ||
|
|
||
| **Incorrect (3 lookups × N iterations):** | ||
|
|
||
| ```typescript | ||
| for (let i = 0; i < arr.length; i++) { | ||
| process(obj.config.settings.value) | ||
| } | ||
| ``` | ||
|
|
||
| **Correct (1 lookup total):** | ||
|
|
||
| ```typescript | ||
| const value = obj.config.settings.value | ||
| const len = arr.length | ||
| for (let i = 0; i < len; i++) { | ||
| process(value) | ||
| } | ||
| ``` |
There was a problem hiding this comment.
Missing Reference links in 5 rule docs violates the established template contract.
The .agents/skills/vercel-react-best-practices/rules/_template.md defines a required Reference: [link] section at the end of every rule doc. Five of the eight rule files provided omit this section, breaking the contract. Root cause: incomplete adherence to the template during doc generation. Each rule should conclude with a reference to authoritative documentation or a relevant resource.
.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md#L1-L28: Add reference to V8 property access optimization or MDN performance guides..agents/skills/vercel-react-best-practices/rules/js-cache-storage.md#L1-L70: Add reference to MDN Web Storage API or cache-busting strategies..agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md#L1-L32: Add reference to JavaScript array iteration or performance documentation..agents/skills/vercel-react-best-practices/rules/js-early-exit.md#L1-L50: Add reference to control-flow or guard-clause best practices..agents/skills/vercel-react-best-practices/rules/js-flatmap-filter.md#L1-L60: Add reference to MDN flatMap documentation.
📍 Affects 5 files
.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md#L1-L28(this comment).agents/skills/vercel-react-best-practices/rules/js-cache-storage.md#L1-L70.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md#L1-L32.agents/skills/vercel-react-best-practices/rules/js-early-exit.md#L1-L50.agents/skills/vercel-react-best-practices/rules/js-flatmap-filter.md#L1-L60
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md
around lines 1 - 28, Five rule documentation files are missing a required
"Reference:" section at the end that should link to authoritative documentation,
as defined in the _template.md template contract. In
.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md
(lines 1-28), add a Reference section linking to V8 property access optimization
or MDN performance guides. In js-cache-storage.md (lines 1-70), add a Reference
section linking to MDN Web Storage API or cache-busting strategies. In
js-combine-iterations.md (lines 1-32), add a Reference section linking to
JavaScript array iteration or performance documentation. In js-early-exit.md
(lines 1-50), add a Reference section linking to control-flow or guard-clause
best practices documentation. In js-flatmap-filter.md (lines 1-60), add a
Reference section linking to MDN flatMap documentation. Each file should
conclude with a consistent Reference format matching the template structure.
| --- | ||
| title: Use useRef for Transient Values | ||
| impact: MEDIUM | ||
| impactDescription: avoids unnecessary re-renders on frequent updates | ||
| tags: rerender, useref, state, performance | ||
| --- | ||
|
|
||
| ## Use useRef for Transient Values | ||
|
|
||
| When a value changes frequently and you don't want a re-render on every update (e.g., mouse trackers, intervals, transient flags), store it in `useRef` instead of `useState`. Keep component state for UI; use refs for temporary DOM-adjacent values. Updating a ref does not trigger a re-render. | ||
|
|
||
| **Incorrect (renders every update):** | ||
|
|
||
| ```tsx | ||
| function Tracker() { | ||
| const [lastX, setLastX] = useState(0) | ||
|
|
||
| useEffect(() => { | ||
| const onMove = (e: MouseEvent) => setLastX(e.clientX) | ||
| window.addEventListener('mousemove', onMove) | ||
| return () => window.removeEventListener('mousemove', onMove) | ||
| }, []) | ||
|
|
||
| return ( | ||
| <div | ||
| style={{ | ||
| position: 'fixed', | ||
| top: 0, | ||
| left: lastX, | ||
| width: 8, | ||
| height: 8, | ||
| background: 'black', | ||
| }} | ||
| /> | ||
| ) | ||
| } | ||
| ``` | ||
|
|
||
| **Correct (no re-render for tracking):** | ||
|
|
||
| ```tsx | ||
| function Tracker() { | ||
| const lastXRef = useRef(0) | ||
| const dotRef = useRef<HTMLDivElement>(null) | ||
|
|
||
| useEffect(() => { | ||
| const onMove = (e: MouseEvent) => { | ||
| lastXRef.current = e.clientX | ||
| const node = dotRef.current | ||
| if (node) { | ||
| node.style.transform = `translateX(${e.clientX}px)` | ||
| } | ||
| } | ||
| window.addEventListener('mousemove', onMove) | ||
| return () => window.removeEventListener('mousemove', onMove) | ||
| }, []) | ||
|
|
||
| return ( | ||
| <div | ||
| ref={dotRef} | ||
| style={{ | ||
| position: 'fixed', | ||
| top: 0, | ||
| left: 0, | ||
| width: 8, | ||
| height: 8, | ||
| background: 'black', | ||
| transform: 'translateX(0px)', | ||
| }} | ||
| /> | ||
| ) | ||
| } | ||
| ``` |
There was a problem hiding this comment.
Missing required Reference links in four rules: a shared contract violation across the ruleset.
The documented rule format contract (README.md) requires each rule to end with a Reference: [Link](URL) line. Four files in this review cohort are missing these external reference links: rerender-use-ref-transient-values.md, server-dedup-props.md, server-hoist-static-io.md, and server-no-shared-module-state.md. This structural violation can break the ruleset build/validation and causes inconsistency with rules that do include references (e.g., server-auth-actions.md, server-cache-react.md).
.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md#L1-L73: AddReference: [useRef documentation](https://react.dev/reference/react/useRef)at line 74..agents/skills/vercel-react-best-practices/rules/server-dedup-props.md#L1-L65: AddReference: [React Server Components documentation](https://react.dev/reference/react/use_server)after line 65..agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md#L1-L150: AddReference: [Next.js Route Handlers documentation](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)after line 150..agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md#L1-L50: AddReference: [Next.js Server Components documentation](https://nextjs.org/docs/app/building-your-application/rendering/server-components)after line 50.
📍 Affects 4 files
.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md#L1-L73(this comment).agents/skills/vercel-react-best-practices/rules/server-dedup-props.md#L1-L65.agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md#L1-L150.agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md#L1-L50
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
@.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md
around lines 1 - 73, The rule files are missing required Reference links at the
end, violating the documented rule format contract. Add a Reference line to the
end of each of the four affected files as follows: In
`.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md`
(lines 1-73), add `Reference: [useRef
documentation](https://react.dev/reference/react/useRef)` after line 73. In
`.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md` (lines
1-65), add `Reference: [React Server Components
documentation](https://react.dev/reference/react/use_server)` after line 65. In
`.agents/skills/vercel-react-best-practices/rules/server-hoist-static-io.md`
(lines 1-150), add `Reference: [Next.js Route Handlers
documentation](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)`
after line 150. In
`.agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md`
(lines 1-50), add `Reference: [Next.js Server Components
documentation](https://nextjs.org/docs/app/building-your-application/rendering/server-components)`
after line 50. Each Reference line should follow the format used in other rules
like server-auth-actions.md and server-cache-react.md to ensure consistency
across the ruleset.
| **Implementation:** | ||
|
|
||
| ```typescript | ||
| import { LRUCache } from 'lru-cache' | ||
|
|
||
| const cache = new LRUCache<string, any>({ | ||
| max: 1000, | ||
| ttl: 5 * 60 * 1000 // 5 minutes | ||
| }) | ||
|
|
||
| export async function getUser(id: string) { | ||
| const cached = cache.get(id) | ||
| if (cached) return cached | ||
|
|
||
| const user = await db.user.findUnique({ where: { id } }) | ||
| cache.set(id, user) | ||
| return user | ||
| } | ||
|
|
||
| // Request 1: DB query, result cached | ||
| // Request 2: cache hit, no DB query | ||
| ``` |
There was a problem hiding this comment.
Restructure to match documented Incorrect/Correct format.
The rule format contract (README.md lines 54-93) requires each rule to follow this structure:
**Incorrect (description of what's wrong):**
[code example]
**Correct (description of what's right):**
[code example]
This file uses a single **Implementation:** section instead. While the content is valuable, the format deviates from the documented contract and makes this rule inconsistent with others in the ruleset (e.g., server-cache-react.md, server-dedup-props.md).
Restructure the example to show the problem (without LRU cache) and the solution (with LRU cache) as an Incorrect/Correct pair.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md around
lines 12 - 33, The rule currently uses a single "**Implementation:**" section
with code example, but it deviates from the documented format contract which
requires "**Incorrect:**" and "**Correct:**" sections. Restructure this rule by
replacing the "**Implementation:**" header and its content with two sections:
first, create an "**Incorrect:**" section that shows the problem (caching
without LRU, or not caching at all - the inefficient approach), then create a
"**Correct:**" section containing the current implementation example with the
getUser function and LRUCache setup. Ensure both sections include descriptive
explanations of what's wrong and what's right before their respective code
examples, matching the pattern used in other rules like server-cache-react.md
and server-dedup-props.md.
|
@AshutoshDash1999, Resolve all bots requested changes!! |
TarunyaProgrammer
left a comment
There was a problem hiding this comment.
The AGENTS.md documentation is helpful and does a good job explaining the project's architecture, tooling, and workflows.
A few things I'd like to see addressed before merging:
- The
Available Skillssection inAGENTS.mdappears to be empty. Since the PR introduces multiple skills, it would be helpful to list them there or remove the section. - The deployment skill includes scripts that could be made safer by default (e.g., adding timeouts to
curlcommands and excluding additional credential files from archives). git add .is used in the deployment guidance. Consider using more specific paths to avoid accidentally staging unrelated files.
Also, this PR adds a very large number of skill files. It may be worth reviewing whether all of them are needed for this repository or if the scope can be reduced.
Once these points are addressed, the documentation itself looks good.
Please let me know which skills you want me to add/remove. The skills are installed from https://skills.sh/. |
TarunyaProgrammer
left a comment
There was a problem hiding this comment.
The selected skills look spot-on and align perfectly with our project's tech stack!
The MongoDB/Mongoose specific optimization rules, Next.js 16/React 19 caching practices, Tailwind CSS v4 guidelines, and PostHog setup cover exactly what we need without adding any unnecessary noise (like Prisma or other framework configs).
These are all set. Thanks for updating this!
Description
AGENTS.mdfile to give coding agents project context.accessibility-compliancecore-web-vitalsdeploy-to-verceleslint-prettier-configmongodb-query-optimizermongodb-schema-designevent.model.tsandbooking.model.tsschemas — embed vs reference, indexesnext-best-practicesnext-cache-components'use cache',cacheLife,cacheTag,updateTaginEventDetailsand other server componentsposthog-instrumentationtailwind-design-systemtypescript-advanced-typesvercel-react-best-practiceswcag-audit-patternsFixes #95
Type of Change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:
Summary by CodeRabbit
Release Notes
Documentation
New Features