Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 16, 2026

IDE integration links (VS Code, Cursor/Antigravity/Trae, JetBrains, Standard Schema) were taking up excessive vertical space in the documentation sidebar.

Changes

  • Created apps/www/content/docs/arkenv/integrations/meta.json defining a collapsible "IDE Integrations" folder with defaultOpen: false
  • Updated apps/www/content/docs/arkenv/meta.json to reference the integrations folder instead of 4 individual page links

Result

Sidebar now shows a single collapsible "IDE Integrations" section (collapsed by default) instead of 4 separate links.

Collapsed state:
Collapsed

Expanded state:
Expanded

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • fonts.googleapis.com
    • Triggering command: /usr/local/bin/node /usr/local/bin/node /home/REDACTED/work/arkenv/arkenv/node_modules/.pnpm/next@16.1.1_@babel+core@7.28.6_@opentelemetry+api@1.9.0_@playwright+test@1.57.0_react-d_d32c2105b6828ec876660e3401ccc9b5/node_modules/next/dist/server/lib/start-server.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Collapse IDE integrations in sidebar</issue_title>
<issue_description>IDE integrations are taking too much space in the sidebar. collapse them into one category.</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Summary by CodeRabbit

  • Documentation
    • Added a dedicated "IDE Extensions" section with separate pages for VS Code, VSCodium-style IDEs, and JetBrains; consolidated Integrations navigation to point to this subsection.
    • Adjusted Quickstart content placement and installer links; clarified validator-mode guidance about ArkType DSL and recommended setups.
  • Tests
    • Updated integration navigation checks to match the new IDE section paths.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Jan 16, 2026

⚠️ No Changeset found

Latest commit: 3515c60

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

Walkthrough

IDE integration docs were collapsed into a new "IDE Extensions" category (new meta.json), paths were prefixed with /ide/, related docs content wording/placement adjusted, and Playwright tests/selectors updated to the new paths.

Changes

Cohort / File(s) Summary
IDE meta files
apps/www/content/docs/arkenv/integrations/ide/meta.json, apps/www/content/docs/arkenv/integrations/meta.json
Added a collapsible "IDE Extensions" navigation entry and updated parent integrations meta to reference the IDE category and Standard Schema link.
Top-level integrations nav
apps/www/content/docs/arkenv/meta.json
Replaced multiple explicit integration entries with a single placeholder entry to reduce sidebar footprint.
Docs content edits
apps/www/content/docs/arkenv/quickstart.mdx, apps/www/content/docs/arkenv/validator-mode.mdx, apps/www/content/docs/arkenv/index.mdx
Moved/reworded explanatory lines around quickstart code blocks, clarified ArkType vs standard validator wording, and updated IDE integration links to include /ide/.
Package README update
packages/arkenv/README.md
Updated documentation links to API-scoped integration paths.
Playwright tests
tooling/playwright-www/tests/*
tooling/playwright-www/tests/a11y.test.ts, .../docs-navigation.test.ts, .../integrations.test.ts, .../quickstart.test.ts
Updated test selectors and navigation assertions to use /docs/arkenv/integrations/ide/... (string/path updates only).

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰
I hopped through folders, neat and spry,
Tucked IDE links where they fit, oh my!
Sidebar breathes light,
Docs paths now tight,
Hop, click, and joy — a doc-bunny's try! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes minor out-of-scope changes: documentation content rewording in validator-mode.mdx about DSL terminology and validation modes that extends beyond the sidebar collapsing objective. Verify whether the validator-mode.mdx content changes were intentional or should be separated into a distinct PR focused on documentation clarification.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: collapsing IDE integrations into a collapsible sidebar section, matching the primary objective of reducing vertical space in the sidebar.
Linked Issues check ✅ Passed The PR successfully addresses issue #740 by creating a collapsible IDE integrations folder structure, grouping individual IDE pages into one expandable category to reduce sidebar vertical space.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.



📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2db6c97 and 3515c60.

📒 Files selected for processing (1)
  • packages/arkenv/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/arkenv/README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: test-e2e (e2e)
  • GitHub Check: test-e2e (a11y)
  • GitHub Check: Deploy-Preview
  • GitHub Check: test-build (lts/*)
  • GitHub Check: test-build (latest)
  • GitHub Check: test-typesafety

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


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

❤️ Share

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

Co-authored-by: yamcodes <2014360+yamcodes@users.noreply.github.com>
Copilot AI changed the title [WIP] Collapse IDE integrations in sidebar Collapse IDE integrations into collapsible sidebar section Jan 16, 2026
Copilot AI requested a review from yamcodes January 16, 2026 15:24
@github-actions github-actions bot added docs Improvements or additions to documentation www Improvements or additions to arkenv.js.org labels Jan 16, 2026
@yamcodes yamcodes marked this pull request as ready for review January 16, 2026 18:10
@yamcodes
Copy link
Owner

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/www/content/docs/arkenv/quickstart.mdx (1)

128-130: Fix the IDE Integrations card link to the new path.

Line 129 still points to /docs/arkenv/integrations/vscode, but the new structure nests IDE docs under /docs/arkenv/integrations/ide/*. This will likely 404 after the sidebar reorg.

🔧 Proposed fix
-    href="/docs/arkenv/integrations/vscode"
+    href="/docs/arkenv/integrations/ide/vscode"
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 187b087 and be76dd8.

📒 Files selected for processing (9)
  • apps/www/content/docs/arkenv/integrations/ide/import-guide.mdx
  • apps/www/content/docs/arkenv/integrations/ide/jetbrains.mdx
  • apps/www/content/docs/arkenv/integrations/ide/meta.json
  • apps/www/content/docs/arkenv/integrations/ide/open-vsx.mdx
  • apps/www/content/docs/arkenv/integrations/ide/vscode.mdx
  • apps/www/content/docs/arkenv/integrations/meta.json
  • apps/www/content/docs/arkenv/meta.json
  • apps/www/content/docs/arkenv/quickstart.mdx
  • apps/www/content/docs/arkenv/validator-mode.mdx
🧰 Additional context used
🧠 Learnings (13)
📚 Learning: 2025-12-22T19:44:11.474Z
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 596
File: examples/basic/index.ts:4-5
Timestamp: 2025-12-22T19:44:11.474Z
Learning: In examples/basic/index.ts: Use explicit ArkType syntax (e.g., "string.ip | 'localhost'", "0 <= number.integer <= 65535") instead of built-in validators (string.host, number.port) to showcase ArkType's type system capabilities for educational purposes.

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Use built-in validators (host, port, url, email) from ArkEnv when available instead of custom ArkType schemas

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-12-05T20:33:10.676Z
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 498
File: apps/playgrounds/node/index.ts:2-2
Timestamp: 2025-12-05T20:33:10.676Z
Learning: ArkType 2.1.28+ supports Standard Schema specification, allowing interoperability with other Standard Schema-compliant validation libraries (e.g., Zod, Valibot) within the same schema definition

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Use ArkType's `type()` function to define schemas in environment variable definitions

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's built-in types (e.g., `string.host`, `number.port`) where possible in environment schemas

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : For environment schema definition, use ArkType string literal syntax for enumerated values (e.g., "'development' | 'production' | 'test'")

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Keep environment variable schemas readable and TypeScript-like using ArkType syntax

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: ArkType validates environment variables at runtime and TypeScript types are inferred from the schema definition

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Use `createEnv(schema)` function (or default import as `arkenv`) to create validated environment objects in TypeScript

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Use union types for enums in ArkType schemas (e.g., `"'dev' | 'prod'"`) instead of separate enum definitions

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:04:00.957Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/coding-guidelines.mdc:0-0
Timestamp: 2025-11-24T16:04:00.957Z
Learning: Applies to **/*.{ts,tsx} : Use `ArkEnvError` for environment variable validation errors

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's type inference for TypeScript types instead of manual type definitions

Applied to files:

  • apps/www/content/docs/arkenv/validator-mode.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Convert ArkType validation errors to `ArkEnvError` for user-friendly error messages that include variable name and expected type

Applied to files:

  • apps/www/content/docs/arkenv/quickstart.mdx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: test-e2e (e2e)
  • GitHub Check: test-e2e (a11y)
  • GitHub Check: Deploy-Preview
  • GitHub Check: test-typesafety
  • GitHub Check: test-build (latest)
  • GitHub Check: test-build (lts/*)

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

…subdirectory structure for VS Code and JetBrains integrations.
@github-actions github-actions bot added arkenv Changes to the `arkenv` npm package. tests This issue or PR is about adding, removing or changing tests labels Jan 16, 2026
@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 16, 2026

Open in StackBlitz

npm i https://pkg.pr.new/arkenv@741
npm i https://pkg.pr.new/@arkenv/bun-plugin@741
npm i https://pkg.pr.new/@arkenv/vite-plugin@741

commit: 3515c60

@arkenv-bot
Copy link
Contributor

arkenv-bot bot commented Jan 16, 2026

📦 Bundle Size Report

Package Size Limit Diff Status
arkenv 1.38 kB 2.93 kB 0.0%

All size limits passed!

@yamcodes
Copy link
Owner

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@packages/arkenv/README.md`:
- Line 112: Update the three broken docs links in the README line referencing VS
Code, Cursor/Antigravity (open-vsx), and JetBrains: replace the
`/docs/integrations/api/...` paths with the correct
`/docs/arkenv/integrations/ide/...` paths so the links point to
`/docs/arkenv/integrations/ide/vscode`, `/docs/arkenv/integrations/ide/open-vsx`
(or cursor/antigravity equivalent), and
`/docs/arkenv/integrations/ide/jetbrains` respectively; edit the link targets on
the line containing the highlighted sentence to use those corrected URLs.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between be76dd8 and 2db6c97.

📒 Files selected for processing (7)
  • apps/www/content/docs/arkenv/index.mdx
  • apps/www/content/docs/arkenv/quickstart.mdx
  • packages/arkenv/README.md
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/www/content/docs/arkenv/quickstart.mdx
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/coding-guidelines.mdc)

**/*.{ts,tsx}: Prefer type over interface for type definitions in TypeScript
Use TypeScript 5.1+ features when appropriate
Leverage const type parameters for better inference in TypeScript
Use JSDoc comments for public APIs
Use tabs for indentation (configured in Biome)
Use double quotes for strings (configured in Biome)
Organize imports automatically (Biome handles this)
Avoid explicit types when TypeScript can infer them (noInferrableTypes error)
Use as const where appropriate for immutable values (useAsConstAssertion error)
Don't reassign function parameters (noParameterAssign error)
Place default parameters last in function signatures (useDefaultParameterLast error)
Always initialize enum values (useEnumInitializers error)
Declare one variable per statement (useSingleVarDeclarator error)
Avoid unnecessary template literals (noUnusedTemplateLiteral error)
Prefer Number.parseInt over global parseInt (useNumberNamespace error)
Use kebab-case for TypeScript filenames (e.g., create-env.ts)
Use camelCase for function names (e.g., createEnv)
Use PascalCase for type names (e.g., ArkEnvError)
Use UPPER_SNAKE_CASE for environment variables and constants
Include examples in JSDoc comments when helpful for public APIs
Document complex type logic with JSDoc comments
Use ArkEnvError for environment variable validation errors
Provide clear, actionable error messages that include the variable name and expected type

**/*.{ts,tsx}: Use createEnv(schema) function (or default import as arkenv) to create validated environment objects in TypeScript
Use built-in validators (host, port, url, email) from ArkEnv when available instead of custom ArkType schemas
Provide default values for optional environment variables using ArkType syntax (e.g., 'boolean = false')
Use ArkEnvError for environment variable errors instead of generic Error types
For environment schema definition, use ArkType string literal syntax for enumerated values (e.g., "'deve...

Files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
**/*.test.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/coding-guidelines.mdc)

Co-locate tests with components: Component.tsx next to Component.test.tsx

**/*.test.{ts,tsx}: Use Vitest for unit and integration tests
Test individual functions, components, and hooks in isolation with mocked dependencies in unit tests
Unit tests should focus on individual function logic and edge cases, component rendering and props, error handling and validation, and type checking
Unit tests should execute in less than 100ms per test
Mock external dependencies (clipboard, network, etc.) in unit tests
Co-locate unit test files with source files using naming convention: source file → test file (e.g., create-env.ts → create-env.test.ts)
Test component behavior, not aesthetics, and focus on what users can do and what the component guarantees through its API
Test component public API (props, events, and component contract), user behavior (clicks, typing, focus, keyboard, ARIA), state transitions, accessibility, and side effects in component tests
Do not test pure styling or CSS classes, library internals (Radix/shadcn), implementation details (hooks, setState, private variables), or visual variants in component tests
Use Testing Library with user-event for real user simulation in component tests
Query by role, name, label, and text (accessibility first) in component tests
Use beforeEach/afterEach for cleanup, not beforeAll/afterAll when possible
Keep tests fast, deterministic, and parallelizable
Mock at component boundaries (network, time, context)

Create unit tests with .test.ts or .test.tsx suffix located alongside source files, testing individual functions and components in isolation with mocked dependencies

Files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
tooling/playwright-www/**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/test-patterns.mdc)

tooling/playwright-www/**/*.{ts,tsx}: Use Playwright for end-to-end tests to validate real browser behavior across Chromium, Firefox, and WebKit
End-to-end tests should focus on user-facing behavior, not implementation details

Files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
**/*.{test,integration.test}.{ts,tsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{test,integration.test}.{ts,tsx}: Use Vitest's describe/it structure for all test files
Test both success and failure cases in unit and integration tests
Mock process.env in unit tests to test different environment variable scenarios

Files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
🧠 Learnings (24)
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to tooling/playwright-www/**/*.{ts,tsx} : Use Playwright for end-to-end tests to validate real browser behavior across Chromium, Firefox, and WebKit

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to tooling/playwright-www/**/*.{ts,tsx} : End-to-end tests should focus on user-facing behavior, not implementation details

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.integration.test.{ts,tsx} : Integration tests should focus on component and hook interactions, function composition and data flow, real dependencies between units, and state synchronization across boundaries

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.integration.test.{ts,tsx} : Create integration tests with `.integration.test.ts` or `.integration.test.tsx` suffix, testing how multiple units work together without mocking their interactions (except external APIs)

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.test.{ts,tsx} : Test component public API (props, events, and component contract), user behavior (clicks, typing, focus, keyboard, ARIA), state transitions, accessibility, and side effects in component tests

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.integration.test.{ts,tsx} : Use *.integration.test.ts suffix to distinguish integration tests from unit tests

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.integration.test.{ts,tsx} : Test how multiple units (components, hooks, functions) work together without mocking their interactions in integration tests

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{test,integration.test}.{ts,tsx} : Test both success and failure cases in unit and integration tests

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-09-09T17:37:19.650Z
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 132
File: packages/arkenv/README.md:13-14
Timestamp: 2025-09-09T17:37:19.650Z
Learning: For yamcodes/arkenv project: Runtime support documentation should link to specific examples: Node.js (examples/basic), Bun (examples/with-bun), Vite (examples/with-vite-react-ts).

Applied to files:

  • tooling/playwright-www/tests/docs-navigation.test.ts
  • tooling/playwright-www/tests/a11y.test.ts
  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
  • packages/arkenv/README.md
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Keep environment variable schemas readable and TypeScript-like using ArkType syntax

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: ArkType validates environment variables at runtime and TypeScript types are inferred from the schema definition

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Use `createEnv(schema)` function (or default import as `arkenv`) to create validated environment objects in TypeScript

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Use ArkType's `type()` function to define schemas in environment variable definitions

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : For environment schema definition, use ArkType string literal syntax for enumerated values (e.g., "'development' | 'production' | 'test'")

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's built-in types (e.g., `string.host`, `number.port`) where possible in environment schemas

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Use built-in validators (host, port, url, email) from ArkEnv when available instead of custom ArkType schemas

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
📚 Learning: 2025-11-24T16:04:00.957Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/coding-guidelines.mdc:0-0
Timestamp: 2025-11-24T16:04:00.957Z
Learning: Applies to **/*.{ts,tsx} : Use `ArkEnvError` for environment variable validation errors

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Provide default values for optional environment variables using ArkType syntax (e.g., 'boolean = false')

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-11-24T16:03:45.295Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.295Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's type inference for TypeScript types instead of manual type definitions

Applied to files:

  • apps/www/content/docs/arkenv/index.mdx
  • packages/arkenv/README.md
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.test.{ts,tsx} : Query by role, name, label, and text (accessibility first) in component tests

Applied to files:

  • tooling/playwright-www/tests/a11y.test.ts
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{test,integration.test}.{ts,tsx} : Use Vitest's `describe`/`it` structure for all test files

Applied to files:

  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-12T13:20:01.954Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/test-patterns.mdc:0-0
Timestamp: 2025-12-12T13:20:01.954Z
Learning: Applies to **/*.test.{ts,tsx} : Use Vitest for unit and integration tests

Applied to files:

  • tooling/playwright-www/tests/quickstart.test.ts
  • tooling/playwright-www/tests/integrations.test.ts
📚 Learning: 2025-12-23T07:09:57.130Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-23T07:09:57.130Z
Learning: Applies to **/*.{ts,tsx} : Use ArkEnvError for environment variable errors instead of generic Error types

Applied to files:

  • packages/arkenv/README.md
📚 Learning: 2025-09-10T19:35:18.179Z
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 136
File: .changeset/vast-bananas-win.md:2-3
Timestamp: 2025-09-10T19:35:18.179Z
Learning: The arkenv package is currently in v0.x.x (pre-1.0) development phase, where breaking changes are acceptable in minor version bumps according to semantic versioning conventions.

Applied to files:

  • packages/arkenv/README.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: test-e2e (e2e)
  • GitHub Check: test-e2e (a11y)
  • GitHub Check: Deploy-Preview
🔇 Additional comments (5)
apps/www/content/docs/arkenv/index.mdx (1)

34-34: LGTM — IDE link path update aligns with the new integrations structure.

tooling/playwright-www/tests/a11y.test.ts (1)

15-16: LGTM — route updates are consistent with the IDE-prefixed docs.

tooling/playwright-www/tests/docs-navigation.test.ts (1)

27-28: LGTM — integration paths updated consistently in navigation tests.

Also applies to: 198-199

tooling/playwright-www/tests/integrations.test.ts (1)

6-7: LGTM — all integration tests now target the IDE-prefixed routes.

Also applies to: 19-20, 44-45, 56-57, 71-72, 82-83, 95-96, 109-111, 128-130, 155-157

tooling/playwright-www/tests/quickstart.test.ts (1)

88-113: Looks good — updated IDE integration paths are consistent.

The locator hrefs and URL expectations now match the new /integrations/ide/* routes, keeping the test aligned with the docs navigation change.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

:rocket: **Let's get started!** Read the [2-minute setup guide](https://arkenv.js.org/docs/quickstart) or [start with an example](https://arkenv.js.org/docs/examples).
> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/integrations/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/integrations/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/integrations/jetbrains).
> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/integrations/api/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/integrations/api/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/integrations/api/jetbrains).
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# First, let's explore the repository structure
git ls-files | head -20
echo "---"
# Check if apps/www/content/docs exists and explore it
fd -t d "docs" --max-depth 3 | grep -E "(docs|content)" | head -20

Repository: yamcodes/arkenv

Length of output: 732


🏁 Script executed:

#!/bin/bash
# Check the exact line 112 in the README
sed -n '110,115p' packages/arkenv/README.md

Repository: yamcodes/arkenv

Length of output: 510


🏁 Script executed:

#!/bin/bash
# Search for all occurrences of integration links in the repo
rg -n "integrations/(api|ide)" packages/arkenv/README.md apps/www/content/docs 2>/dev/null | head -30

Repository: yamcodes/arkenv

Length of output: 1428


🏁 Script executed:

#!/bin/bash
# Check the actual documentation structure for integrations
fd -t f . apps/www/content/docs 2>/dev/null | grep -i integration | head -20

Repository: yamcodes/arkenv

Length of output: 467


Fix broken integration links in README.
Line 112 uses incorrect URL paths (/docs/integrations/api/...) that don't match the actual documentation structure. The correct paths are /docs/arkenv/integrations/ide/... as confirmed by existing docs references and the file structure.

Proposed fix
-> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/integrations/api/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/integrations/api/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/integrations/api/jetbrains).
+> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/arkenv/integrations/ide/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/arkenv/integrations/ide/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/arkenv/integrations/ide/jetbrains).
📝 Committable suggestion

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

Suggested change
> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/integrations/api/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/integrations/api/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/integrations/api/jetbrains).
> Improve your DX with _syntax highlighting_ in [VS Code](https://arkenv.js.org/docs/arkenv/integrations/ide/vscode), [Cursor, Antigravity](https://arkenv.js.org/docs/arkenv/integrations/ide/open-vsx), and [JetBrains IDEs](https://arkenv.js.org/docs/arkenv/integrations/ide/jetbrains).
🤖 Prompt for AI Agents
In `@packages/arkenv/README.md` at line 112, Update the three broken docs links in
the README line referencing VS Code, Cursor/Antigravity (open-vsx), and
JetBrains: replace the `/docs/integrations/api/...` paths with the correct
`/docs/arkenv/integrations/ide/...` paths so the links point to
`/docs/arkenv/integrations/ide/vscode`, `/docs/arkenv/integrations/ide/open-vsx`
(or cursor/antigravity equivalent), and
`/docs/arkenv/integrations/ide/jetbrains` respectively; edit the link targets on
the line containing the highlighted sentence to use those corrected URLs.

@yamcodes
Copy link
Owner

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@yamcodes yamcodes changed the title Collapse IDE integrations into collapsible sidebar section Collapse IDE integrations into collapsible sidebar section + light docs fixes Jan 16, 2026
@yamcodes
Copy link
Owner

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@yamcodes yamcodes merged commit 384f126 into main Jan 16, 2026
16 of 19 checks passed
@yamcodes yamcodes deleted the copilot/collapse-ide-integrations-sidebar branch January 16, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arkenv Changes to the `arkenv` npm package. docs Improvements or additions to documentation tests This issue or PR is about adding, removing or changing tests www Improvements or additions to arkenv.js.org

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Collapse IDE integrations in sidebar

2 participants