Make docs components app-owned#8
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR removes the package-root React MDX runtime export from Changes
Sequence Diagram(s)(omitted) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
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 `@packages/docs/agent-docs-src/docs/index.mdx`:
- Around line 28-33: Remove the repeated "Read" opener from the bullet list that
references [Convert], [Remark], [LLM], [Search], and [Lint]; instead start each
bullet with the link label or a short varied verb phrase (e.g., "Convert — when
you need...", "Remark — for custom plugin order...", "LLM — when generating...",
"Search — for static index or streaming answers", "Lint — for validating
frontmatter...") to improve scanability while keeping the same targets and
guidance.
In `@packages/docs/agent-docs/docs/llms-full/authoring/components.txt`:
- Line 19: Update the terminology in the sentence that reads "the remark
pipeline can flatten those components into markdown" to use the proper noun
capitalization: change "markdown" to "Markdown" so the phrase becomes "the
remark pipeline can flatten those components into Markdown"; locate this in the
string containing "remark pipeline can flatten those components into markdown"
within the component description and replace the lowercase term.
In `@packages/docs/src/internal/package-surface.test.ts`:
- Around line 8-17: The test currently asserts exact order of exportedPaths
which fails on harmless reordering; update the assertion in
package-surface.test.ts to be order-insensitive by comparing sets or by sorting
both arrays before asserting—reference the exportedPaths variable and the
expected list
["./remark","./convert","./llm","./search","./search/node","./search/ai","./search/bash","./lint"]
and change the expect(...) call to either compare new Set(exportedPaths) to a
new Set(expected) or to sort(exportedPaths) and sort(expected) before using
expect(...).toEqual(...).
🪄 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: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 3b655a6a-1064-4bd5-ae91-59310bc0229d
⛔ Files ignored due to path filters (3)
apps/docs-smoke/src/generated/docs-search-content.jsonis excluded by!**/generated/**apps/docs-smoke/src/generated/docs-search-index.jsonis excluded by!**/generated/**bun.lockis excluded by!**/*.lock
📒 Files selected for processing (33)
README.mdapps/docs-smoke/content/docs/guides/components-fixture.mdxapps/docs-smoke/content/docs/guides/quickstart.mdxapps/docs-smoke/content/docs/index.mdxapps/docs-smoke/src/components/docs-mdx/callout.tsxapps/docs-smoke/src/components/docs-mdx/card.tsxapps/docs-smoke/src/components/docs-mdx/command-tabs.tsxapps/docs-smoke/src/components/docs-mdx/index.tsapps/docs-smoke/src/components/docs-mdx/mdx-components.tsapps/docs-smoke/src/components/docs-mdx/mermaid.tsxapps/docs-smoke/src/components/docs-mdx/selector.tsxapps/docs-smoke/src/components/docs-mdx/steps.tsxapps/docs-smoke/src/components/docs-mdx/tabs.tsxapps/docs-smoke/src/components/docs-mdx/type-table.tsxapps/docs-smoke/src/lib/docs.tsapps/docs-smoke/src/mdx-components.tsxapps/docs-smoke/src/routes/docs/index.tsxapps/docs-smoke/src/routes/index.tsxapps/docs-smoke/src/routes/playground.tsxapps/docs-smoke/tests/e2e/smoke.e2e.tspackages/docs/README.mdpackages/docs/agent-docs-src/docs/components.mdxpackages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs/docs/llms.txtpackages/docs/package.jsonpackages/docs/src/components/components.test.tsxpackages/docs/src/internal/package-surface.test.tspackages/docs/tsconfig.jsonpackages/docs/tsup.config.ts
💤 Files with no reviewable changes (3)
- packages/docs/src/components/components.test.tsx
- packages/docs/tsup.config.ts
- apps/docs-smoke/src/components/docs-mdx/mdx-components.ts
625c841 to
42ba2de
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (2)
packages/docs/agent-docs-src/docs/index.mdx (1)
28-32: 🧹 Nitpick | 🔵 TrivialConsider varying the bullet openers for better scannability.
Lines 28–32 all begin with "Read", making the list harder to scan. Varying the verbs would improve readability.
✍️ Optional wording variation
- Read [Convert](/docs/convert) when you need markdown output from `.mdx` files. - Read [Remark](/docs/remark) when you need custom plugin order or component flattening behavior. - Read [LLM](/docs/llm) when generating `llms.txt` or topic-scoped full-context bundles. - Read [Search](/docs/search) when generating a static index, querying docs at runtime, or streaming grounded answers. - Read [Lint](/docs/lint) when validating frontmatter, docs URLs, or sidebar metadata. + Use [Convert](/docs/convert) for markdown output from `.mdx` files. + Check [Remark](/docs/remark) for custom plugin order or component flattening behavior. + See [LLM](/docs/llm) for generating `llms.txt` or topic-scoped full-context bundles. + Open [Search](/docs/search) for static indexing, runtime querying, or streaming grounded answers. + Use [Lint](/docs/lint) to validate frontmatter, docs URLs, or sidebar metadata.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/docs/agent-docs-src/docs/index.mdx` around lines 28 - 32, The bulleted list items starting with "Read" (references: Convert, Remark, LLM, Search, Lint) are repetitive; update each bullet opener to vary the verb for better scannability (e.g., "Use Convert...", "Configure Remark...", "Generate LLM...", "Use Search...", "Validate with Lint...") while preserving the target links and short descriptions; edit the lines that mention Convert, Remark, LLM, Search, and Lint to replace the leading "Read" with more specific verbs and ensure tone and tense remain consistent across the list.packages/docs/src/internal/package-surface.test.ts (1)
8-20: 🧹 Nitpick | 🔵 TrivialMake the export allowlist assertion order-insensitive.
The current
toEqual()assertion is order-sensitive, meaning a harmless reordering of exports inpackage.jsonwould fail this test.♻️ Proposed fix to make assertion order-insensitive
+ const expectedExports = [ + "./remark", + "./convert", + "./llm", + "./search", + "./search/node", + "./search/ai", + "./search/bash", + "./search/vercel", + "./search/tanstack", + "./search/cloudflare", + "./lint", + ]; + it("does not expose runtime component entry points", () => { - expect(exportedPaths).toEqual([ - "./remark", - "./convert", - "./llm", - "./search", - "./search/node", - "./search/ai", - "./search/bash", - "./search/vercel", - "./search/tanstack", - "./search/cloudflare", - "./lint", - ]); + expect(exportedPaths).toHaveLength(expectedExports.length); + expect(new Set(exportedPaths)).toEqual(new Set(expectedExports)); });🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/docs/src/internal/package-surface.test.ts` around lines 8 - 20, The test currently uses expect(exportedPaths).toEqual([...]) which is order-sensitive; change it to an order-insensitive assertion by replacing that line with two checks: expect(exportedPaths).toEqual(expect.arrayContaining([...the same list...])); and then assert the count to prevent extras, e.g. expect(exportedPaths).toHaveLength([...the same list...].length). This uses the existing exportedPaths symbol and removes reliance on toEqual's ordering.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/docs/agent-docs/docs/index.md`:
- Around line 29-33: The repeated "Read" opener in the list items for Convert,
Remark, LLM, Search, and Lint makes the bullets monotonous; change the leading
verb for some entries (for example use "Use", "See", "Generate", "Query",
"Validate") to improve scannability while keeping the link targets and
explanatory text intact—update the lines containing "Read
[Convert](/docs/convert)", "Read [Remark](/docs/remark)", "Read
[LLM](/docs/llm)", "Read [Search](/docs/search)", and "Read [Lint](/docs/lint)"
to alternate verbs and ensure tone and meaning remain equivalent.
In `@packages/docs/agent-docs/docs/llms-full/overview.txt`:
- Line 41: The repeated bullet opener "Read ..." in the "When To Read Which
Page" list reduces scanability; replace this specific bullet "* Read
[Lint](/docs/lint) when validating frontmatter, docs URLs, or sidebar metadata."
with a varied opener (e.g., "Refer to", "See", "Consult", or "When
validating...") and review neighboring bullets in the same list to introduce
different starters so the pattern is broken and the list reads more scannably.
---
Duplicate comments:
In `@packages/docs/agent-docs-src/docs/index.mdx`:
- Around line 28-32: The bulleted list items starting with "Read" (references:
Convert, Remark, LLM, Search, Lint) are repetitive; update each bullet opener to
vary the verb for better scannability (e.g., "Use Convert...", "Configure
Remark...", "Generate LLM...", "Use Search...", "Validate with Lint...") while
preserving the target links and short descriptions; edit the lines that mention
Convert, Remark, LLM, Search, and Lint to replace the leading "Read" with more
specific verbs and ensure tone and tense remain consistent across the list.
In `@packages/docs/src/internal/package-surface.test.ts`:
- Around line 8-20: The test currently uses expect(exportedPaths).toEqual([...])
which is order-sensitive; change it to an order-insensitive assertion by
replacing that line with two checks:
expect(exportedPaths).toEqual(expect.arrayContaining([...the same list...]));
and then assert the count to prevent extras, e.g.
expect(exportedPaths).toHaveLength([...the same list...].length). This uses the
existing exportedPaths symbol and removes reliance on toEqual's ordering.
🪄 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: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6b46d5a4-9e6d-46ce-b1e1-cc124e3abcdd
⛔ Files ignored due to path filters (3)
apps/docs-smoke/src/generated/docs-search-content.jsonis excluded by!**/generated/**apps/docs-smoke/src/generated/docs-search-index.jsonis excluded by!**/generated/**bun.lockis excluded by!**/*.lock
📒 Files selected for processing (37)
README.mdapps/docs-smoke/content/docs/guides/components-fixture.mdxapps/docs-smoke/content/docs/guides/quickstart.mdxapps/docs-smoke/content/docs/index.mdxapps/docs-smoke/src/components/docs-mdx/accordion.tsxapps/docs-smoke/src/components/docs-mdx/callout.tsxapps/docs-smoke/src/components/docs-mdx/card.tsxapps/docs-smoke/src/components/docs-mdx/command-tabs.tsxapps/docs-smoke/src/components/docs-mdx/example.tsxapps/docs-smoke/src/components/docs-mdx/index.tsapps/docs-smoke/src/components/docs-mdx/mdx-components.tsapps/docs-smoke/src/components/docs-mdx/mermaid.tsxapps/docs-smoke/src/components/docs-mdx/selector.tsxapps/docs-smoke/src/components/docs-mdx/steps.tsxapps/docs-smoke/src/components/docs-mdx/tabs.tsxapps/docs-smoke/src/components/docs-mdx/topic-switcher.tsxapps/docs-smoke/src/components/docs-mdx/type-table.tsxapps/docs-smoke/src/lib/docs.tsapps/docs-smoke/src/mdx-components.tsxapps/docs-smoke/src/routes/docs/index.tsxapps/docs-smoke/src/routes/index.tsxapps/docs-smoke/src/routes/playground.tsxapps/docs-smoke/tests/e2e/smoke.e2e.tspackages/docs/README.mdpackages/docs/agent-docs-src/docs/components.mdxpackages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs/docs/llms.txtpackages/docs/package.jsonpackages/docs/src/components/components.test.tsxpackages/docs/src/internal/package-surface.test.tspackages/docs/src/remark/remark-output.test.tspackages/docs/tsconfig.jsonpackages/docs/tsup.config.ts
💤 Files with no reviewable changes (3)
- packages/docs/tsup.config.ts
- apps/docs-smoke/src/components/docs-mdx/mdx-components.ts
- packages/docs/src/components/components.test.tsx
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/docs/agent-docs/docs/llms-full/authoring/components.txt (1)
3-3:⚠️ Potential issue | 🟡 MinorRemove stale React-specific subtitle to avoid contract drift.
Line 3 still states “React MDX component adapters,” which contradicts the new app-owned/framework-neutral contract described in later updated lines.
✏️ Proposed fix
-> React MDX component adapters. +> App-owned MDX component contract consumed by the remark pipeline.Also applies to: 7-25
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/docs/agent-docs/docs/llms-full/authoring/components.txt` at line 3, Remove the stale React-specific subtitle string "React MDX component adapters" and replace it with a framework-neutral subtitle (e.g., "MDX component adapters" or "MDX component adapters — framework-neutral") so the header aligns with the new app-owned / framework-neutral contract described later; update the same subtitle occurrences referenced around lines 7–25 to the neutral wording to avoid contract drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@packages/docs/agent-docs/docs/llms-full/authoring/components.txt`:
- Line 3: Remove the stale React-specific subtitle string "React MDX component
adapters" and replace it with a framework-neutral subtitle (e.g., "MDX component
adapters" or "MDX component adapters — framework-neutral") so the header aligns
with the new app-owned / framework-neutral contract described later; update the
same subtitle occurrences referenced around lines 7–25 to the neutral wording to
avoid contract drift.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: f577249d-420a-4e67-b36b-32ec46d48718
📒 Files selected for processing (7)
packages/docs/agent-docs-src/docs/components.mdxpackages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/src/internal/package-surface.test.ts
📜 Review details
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Use explicit types for function parameters and return values when they enhance clarity
Preferunknownoveranywhen the type is genuinely unknown
Use const assertions (as const) for immutable values and literal types
Leverage TypeScript's type narrowing instead of type assertions
Files:
packages/docs/src/internal/package-surface.test.ts
**/*.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{js,ts,jsx,tsx}: Use meaningful variable names instead of magic numbers - extract constants with descriptive names
Use arrow functions for callbacks and short functions
Preferfor...ofloops over.forEach()and indexedforloops
Use optional chaining (?.) and nullish coalescing (??) for safer property access
Prefer template literals over string concatenation
Use destructuring for object and array assignments
Useconstby default,letonly when reassignment is needed, nevervar
Alwaysawaitpromises in async functions - don't forget to use the return value
Useasync/awaitsyntax instead of promise chains for better readability
Handle errors appropriately in async code with try-catch blocks
Don't use async functions as Promise executors
Removeconsole.log,debugger, andalertstatements from production code
ThrowErrorobjects with descriptive messages, not strings or other values
Usetry-catchblocks meaningfully - don't catch errors just to rethrow them
Prefer early returns over nested conditionals for error cases
Extract complex conditions into well-named boolean variables
Use early returns to reduce nesting
Prefer simple conditionals over nested ternary operators
Don't useeval()or assign directly todocument.cookie
Avoid spread syntax in accumulators within loops
Use top-level regex literals instead of creating them in loops
Prefer specific imports over namespace imports
Use descriptive names for functions, variables, and types for meaningful naming
Add comments for complex logic, but prefer self-documenting code
Files:
packages/docs/src/internal/package-surface.test.ts
**/*.{test,spec}.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{test,spec}.{js,ts,jsx,tsx}: Write assertions insideit()ortest()blocks
Avoid done callbacks in async tests - use async/await instead
Don't use.onlyor.skipin committed code
Keep test suites reasonably flat - avoid excessivedescribenesting
Files:
packages/docs/src/internal/package-surface.test.ts
🧠 Learnings (56)
📓 Common learnings
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/src/components/**/*.tsx : Place reusable components in `src/components` within the docs app
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/src/components/**/* : Place reusable components in `src/components`
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.mdx : Use MDX for documentation pages in the docs app
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.mdx : Include code examples where appropriate in MDX documentation pages of the docs app
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Use MDX for documentation pages
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Keep documentation organized by categories
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/app/**/*.{ts,tsx} : Use Next.js App Router conventions in the docs app
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Include code examples where appropriate in documentation
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{test,spec}.{ts,tsx} : Write unit tests for components in Elements package using Vitest
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{test,spec}.{ts,tsx} : Test accessibility features in Elements package component tests
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Test accessibility features
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Use Vitest for testing framework
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't use export or module.exports in test files
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{test,spec}.{ts,tsx} : Test error boundaries in Elements package component tests
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Write unit tests for components
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Test error boundaries
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{test,spec}.{ts,tsx} : Use Vitest as the testing framework for Elements package
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Include integration tests
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `node:assert/strict` over `node:assert`
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't compare expressions that modify string case with non-compliant values
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure iterable callbacks return consistent values
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-03-19T22:57:45.114Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:45.114Z
Learning: Applies to **/*.{ts,tsx} : Export type definitions for public API and avoid TypeScript enums; use const objects or 'as const' assertions instead due to runtime overhead and tree-shaking limitations
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't compare things where both sides are exactly the same
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-02-20T14:21:40.180Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Don't use `.only` or `.skip` in committed code
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure the assertion function, like expect, is placed inside an it() function call
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-02-20T14:21:19.208Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2026-02-20T14:21:19.208Z
Learning: Applies to **/*.{test,spec}.{ts,tsx,js,jsx} : Keep test suites reasonably flat - avoid excessive `describe` nesting
Applied to files:
packages/docs/src/internal/package-surface.test.ts
📚 Learning: 2026-03-19T22:57:19.913Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Use MDX for documentation pages
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.mdx : Use MDX for documentation pages in the docs app
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.mdx : Include code examples where appropriate in MDX documentation pages of the docs app
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:19.913Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Keep documentation organized by categories
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:19.913Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.mdx : Include code examples where appropriate in documentation
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : For each component, documentation should include: purpose and use case, required and optional props, context requirements, example usage, and common pitfalls
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:45.114Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:45.114Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Document components with purpose and use case, required and optional props, context requirements, example usage, and common pitfalls
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/app/**/{layout,page}.tsx : Keep layouts and pages separate in the docs app directory
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/app/**/*.{ts,tsx} : Use Next.js App Router conventions in the docs app
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/app/**/page.tsx : Place page components in appropriate route segments within the docs app
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{ts,tsx,js,jsx} : Write clear summary sentences in TSDoc and JSDoc comments
Applied to files:
packages/docs/agent-docs-src/docs/index.mdxpackages/docs/agent-docs/docs/llms-full/overview.txt
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{ts,tsx,js,jsx} : Prefer `{link ...}` for symbol references in TSDoc and JSDoc comments
Applied to files:
packages/docs/agent-docs-src/docs/index.mdx
📚 Learning: 2026-02-20T14:21:19.208Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2026-02-20T14:21:19.208Z
Learning: Applies to **/*.{tsx,jsx} : Use `next/head` or App Router metadata API for head elements
Applied to files:
packages/docs/agent-docs-src/docs/index.mdx
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Document props and usage examples
Applied to files:
packages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-02-20T14:21:40.180Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Focus code review attention on business logic correctness, meaningful naming, architecture decisions, edge cases, user experience, and documentation - Oxlint + Oxfmt handles most formatting and common issues automatically
Applied to files:
packages/docs/agent-docs/docs/index.md
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/src/components/**/*.tsx : Place reusable components in `src/components` within the docs app
Applied to files:
packages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{tsx,jsx} : Use compound components pattern (e.g., `Component.Root`, `Component.Child`)
Applied to files:
packages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : Each component should follow the specified structure using `forwardRef`, proper prop typing, and support for `asChild`, `className`, and HTML attributes
Applied to files:
packages/docs/agent-docs/docs/index.mdpackages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs/docs/llms-full/overview.txtpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:19.913Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/app/**/* : Use Next.js App Router conventions
Applied to files:
packages/docs/agent-docs/docs/index.md
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{ts,tsx,js,jsx} : Use `deprecated` with migration guidance in TSDoc and JSDoc comments
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txt
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{ts,tsx,js,jsx} : Use `remarks` for long-form context in TSDoc and JSDoc comments
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txt
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Document props and usage examples in Elements package components
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : Support custom styling and rendering in components
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-02-20T14:21:40.180Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Applies to **/*.{tsx,jsx} : Don't define components inside other components
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{js,jsx} : Add practical `example` snippets in JSDoc comments
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Include TypeScript examples
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{ts,tsx,js,jsx} : Use `example` for non-obvious usage in TSDoc and JSDoc comments
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx,md} : Include TypeScript examples in Elements package documentation
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-03-19T22:57:45.114Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:45.114Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Implement compound components pattern with components namespaced under a single parent (e.g., FormWizard.Root, FormWizard.Step), using React Context for state management
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : Components should be namespaced under a single parent (e.g., `FormWizard.Root`, `FormWizard.Step`)
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : Support screen readers through semantic markup in components
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-12-01T15:20:25.102Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/open-graph.mdc:0-0
Timestamp: 2025-12-01T15:20:25.102Z
Learning: Applies to src/pkgs/open-graph/**/*.{ts,tsx} : Keep JSX components pure, synchronous, and stateless—no React hooks, useEffect, or dynamic behavior
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.{ts,tsx,css} : Prefer utility classes over custom CSS in the docs app
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.mdpackages/docs/agent-docs-src/docs/components.mdx
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{tsx,jsx} : Root component should serve as the main context provider, manage global state, and handle initialization
Applied to files:
packages/docs/agent-docs/docs/llms-full/authoring/components.txtpackages/docs/agent-docs/docs/components.md
📚 Learning: 2026-03-19T22:57:45.114Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:45.114Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use React Context for global state management, implement proper state updates, and handle side effects appropriately
Applied to files:
packages/docs/agent-docs/docs/components.md
📚 Learning: 2026-02-19T01:12:44.177Z
Learnt from: CR
Repo: consentdotio/agent-skills PR: 0
File: tsdoc-jsdoc-authoring/AGENTS.md:0-0
Timestamp: 2026-02-19T01:12:44.177Z
Learning: Applies to tsdoc-jsdoc-authoring/**/*.{js,jsx} : Write JSDoc summaries with intent in JavaScript files
Applied to files:
packages/docs/agent-docs/docs/llms-full/overview.txt
📚 Learning: 2026-02-20T14:21:19.208Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2026-02-20T14:21:19.208Z
Learning: Applies to **/*.{tsx,jsx,html} : Use proper heading hierarchy in HTML/React components
Applied to files:
packages/docs/agent-docs-src/docs/components.mdx
🔍 Remote MCP Context7
Additional context relevant to this PR
-
MDX supports an app-owned component mapping via the useMDXComponents hook and passing a components object (including a special wrapper key); components can be merged at render time. This is an established pattern for injecting app-provided runtime components rather than relying on package-provided adapters.
-
MDX also documents a providerImportSource pattern (mdx-components file) that can be used to supply a global component map from the consuming app, which aligns with the PR’s approach of relocating mdxComponents into the docs app (e.g., "@/components/docs-mdx").
-
remark is the established AST-based markdown pipeline used for conversion, linting, and plugins (remark-lint, etc.). Using remark/remark plugins for conversion/LLM/lint/search as framework-neutral entry points (server/CLI) is consistent with the PR’s aim to keep conversion/search/lint pipeline responsibilities in the package while leaving runtime rendering to the app.
Tools used:
- Resolved library IDs: /mdx-js/mdx and /remarkjs/remark.,
- Queried documentation for MDX and Remark (useMDXComponents, providerImportSource, remark-lint examples).,
🔇 Additional comments (8)
packages/docs/src/internal/package-surface.test.ts (3)
1-5: Clean test setup and export key extraction.Imports and
exportedPathsinitialization are straightforward and fit the package-surface contract test goal.
8-24: Order-insensitive allowlist assertion is robust.Using both length and
Setequality makes this check strict while avoiding flaky failures from harmless key reordering.
26-29: Good guardrails for removed public entry points.Explicitly asserting absence of
"."and"./react"correctly protects the new framework-neutral package surface.packages/docs/agent-docs/docs/index.md (1)
19-37: Strong doc boundary clarification.The updated package-surface and framework notes clearly separate app-owned runtime components from framework-neutral pipeline APIs.
packages/docs/agent-docs-src/docs/index.mdx (1)
18-36: LGTM for source docs alignment.This source page now accurately reflects the app-owned
mdxComponentsmodel and matches the framework-neutral package positioning.packages/docs/agent-docs-src/docs/components.mdx (1)
8-16: Clear and actionable contract update.The revised ownership model, import example, and guidance bullets are consistent and easy to implement for consuming docs apps.
Also applies to: 38-46, 84-100, 145-146
packages/docs/agent-docs/docs/llms-full/overview.txt (1)
27-45: Full-context overview update looks good.The generated overview now consistently communicates the same app-owned runtime/component boundary as the primary docs pages.
packages/docs/agent-docs/docs/components.md (1)
9-17: Generated Components page is aligned and consistent.The updated markdown correctly mirrors the app-owned runtime contract and the expected
mdxComponentsimport pattern.Also applies to: 39-46, 85-100, 146-147
Integrates main's component-ownership refactor (PR #8) and AI search work (#5/#7). Adapts the c15t-compat changes from d289d82 onto the new component locations under apps/docs-smoke/src/components/docs-mdx/: - Callout: keeps `type` alias and `warn`/`note` mapping. Inlined normalizeVariant/titleCase since the component now lives in the app (no shared internal/ helpers needed). - Card: keeps `icon`, `variant`, `CardVariant` type. - Tabs: keeps `groupId` prop with JSDoc. - CommandTabs: takes main's design wholesale (`mode: run|install|create`, discriminated union). Drops the duplicate PackageCommandTabs. Drops `packages/docs/src/internal/{callout-variant,package-managers}.{ts,test.ts}` since main's design has the component app-owned (with its own table) and main's command-tabs.remark.ts is self-contained. Keeps the new remark plugins (section, details, remove-jsx-comments) and the warn/note alias in callout.remark.ts. Updates remark-output tests to use the renamed convertMdxToMarkdown.
Moves the runtime MDX component implementation out of @inth/docs and into the docs-smoke app, so the package exposes only framework-neutral pipeline entry points. Removes root React component exports, React peer/dev dependencies, and the component build entry from @inth/docs while adding a package-surface test for the supported exports. Updates README, source docs, generated agent docs, search fixtures, and e2e labels to document that consuming apps own runtime components.