Skip to content

Conversation

@AlexSkrypnyk
Copy link
Member

@AlexSkrypnyk AlexSkrypnyk commented Sep 4, 2025

Summary by CodeRabbit

  • Documentation
    • Standardized “Usage” sections across tools with tabbed UI: Ahoy (default) and Docker Compose.
    • Updated Behat docs to use Docker Compose tab values consistently.
    • Converted gherkin-lint, phpmd, phpstan, and twig-cs-fixer examples from standalone code blocks to tabs; removed redundant snippets.
    • Revised Testing workflow: replaced “Direct” with “Docker Compose” commands for PHPUnit and Behat; refined formatting/indentation for clarity.
    • Overall, docs now emphasize running commands via Docker Compose alongside existing Ahoy guidance.

@coderabbitai
Copy link

coderabbitai bot commented Sep 4, 2025

Walkthrough

Documentation updates standardize usage sections to MDX Tabs with Ahoy and Docker Compose options, replace “Direct” tabs with “Docker Compose,” and adjust tab values. Changes affect multiple tool docs and the testing workflow page; no code or API modifications.

Changes

Cohort / File(s) Summary of changes
Tabs value update (Behat)
.vortex/docs/content/tools/behat.mdx
Updated TabItem values from "direct" to "docker-compose"; content and labels unchanged.
Tools usage to MDX Tabs (Ahoy/Docker Compose)
.vortex/docs/content/tools/gherkin-lint.mdx, .vortex/docs/content/tools/phpmd.mdx, .vortex/docs/content/tools/phpstan.mdx, .vortex/docs/content/tools/twig-cs-fixer.mdx
Converted separate code blocks to a Tabs UI with two TabItem entries: Ahoy (default) and Docker Compose. Added Tabs/TabItem imports; removed previous standalone command blocks.
Testing workflow tabs revised
.vortex/docs/content/workflows/testing.mdx
Replaced “Direct” tab with “Docker Compose” commands (docker compose exec cli ...); adjusted indentation for Ahoy code block within tab.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

A rabbit taps tabs with gentle grace,
Ahoy on the left, Compose in place.
Commands aligned, no scripts adrift,
Docs now glide— a tidy lift.
Hop, hop, hooray! The guides are clear,
Ship the docs; the carrots are near. 🥕

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/docs-update-more-tabs

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@AlexSkrypnyk AlexSkrypnyk enabled auto-merge (rebase) September 4, 2025 04:07
@github-actions github-actions bot temporarily deployed to commit September 4, 2025 04:09 Inactive
Copy link

@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: 7

Caution

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

⚠️ Outside diff range comments (6)
.vortex/docs/content/tools/behat.mdx (1)

19-20: Persist tab selection with a groupId.

Add a groupId to each Tabs block so the user's choice (Ahoy vs Docker Compose) persists across sections/pages.

Apply this diff in each Tabs opening tag:

-<Tabs>
+<Tabs groupId="executor">

Also applies to: 34-35, 49-50, 195-196

.vortex/docs/content/workflows/testing.mdx (5)

9-11: Align intro with new tabs (mention Docker Compose).

The sentence still refers to “directly,” but the tab now presents “Ahoy” and “Docker Compose.” Recommend updating wording.

-For local development, the tests can be run directly or using handy Ahoy
-commands:
+For local development, you can run tests with Ahoy or Docker Compose:

74-77: Grammar fix: article/number agreement.

-**Vortex** provides a [continuous integration pipeline configuration tests](https://github.com/drevops/vortex/blob/develop/tests/phpunit/CircleCiConfigTest.php)
-to check that the continuous integration configuration is correct. It is
-intended to be used in your site and kept up-to-date with the continuous
-integration configurations.
+**Vortex** provides [continuous integration pipeline configuration tests](https://github.com/drevops/vortex/blob/develop/tests/phpunit/CircleCiConfigTest.php)
+to check that the continuous integration configuration is correct. They are
+intended to be used in your site and kept up to date with the continuous
+integration configuration.

85-87: Grammar fix: “allows to write” → “allows you to write.”

- Behat allows to write human-readable stories that describe the behavior
+ Behat allows you to write human-readable stories that describe the behavior

110-112: Grammar fix: missing “is” and article.

- Behat's `default` profile configured with sensible defaults to allow running it
- with provided extensions.
+ Behat's `default` profile is configured with sensible defaults to allow running it
+ with the provided extensions.

133-135: Grammar/style tweak for clarity.

-If CI pipeline has only one runner - a `default` profile will be used and all tests
-(except for those that tagged with `@skipped`) will be run.
+If the CI pipeline has only one runner, the `default` profile will be used and all tests
+(except those tagged with `@skipped`) will run.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between f9db1fd and 859fe36.

📒 Files selected for processing (6)
  • .vortex/docs/content/tools/behat.mdx (4 hunks)
  • .vortex/docs/content/tools/gherkin-lint.mdx (1 hunks)
  • .vortex/docs/content/tools/phpmd.mdx (1 hunks)
  • .vortex/docs/content/tools/phpstan.mdx (1 hunks)
  • .vortex/docs/content/tools/twig-cs-fixer.mdx (1 hunks)
  • .vortex/docs/content/workflows/testing.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
.vortex/docs/content/tools/twig-cs-fixer.mdx

[grammar] ~13-~13: There might be a mistake here.
Context: ...# Usage import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <...

(QB_NEW_EN)


[grammar] ~14-~14: Use correct spacing
Context: ...'; import TabItem from '@theme/TabItem'; shell ahoy lint-fe shell docker compose exec cli vendor/bin/twig-cs-fixer ## Configuration See [configuration refere...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

.vortex/docs/content/tools/gherkin-lint.mdx

[grammar] ~11-~11: There might be a mistake here.
Context: ...# Usage import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <...

(QB_NEW_EN)


[grammar] ~12-~12: Use correct spacing
Context: ...'; import TabItem from '@theme/TabItem'; shell ahoy lint-tests shell docker compose exec cli vendor/bin/gherkinlint lint tests/behat/features ## Configuration See [configuration refere...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

.vortex/docs/content/tools/phpstan.mdx

[grammar] ~22-~22: There might be a mistake here.
Context: ...# Usage import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <...

(QB_NEW_EN)


[grammar] ~23-~23: Use correct spacing
Context: ...'; import TabItem from '@theme/TabItem'; shell ahoy lint-be shell docker compose exec cli vendor/bin/phpstan :::note PHPStan does not fix code. It o...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

.vortex/docs/content/tools/phpmd.mdx

[grammar] ~22-~22: There might be a mistake here.
Context: ...# Usage import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <...

(QB_NEW_EN)


[grammar] ~23-~23: Use correct spacing
Context: ...'; import TabItem from '@theme/TabItem'; shell ahoy lint-be shell docker compose exec cli vendor/bin/phpmd . text phpmd.xml ## Configuration See [configuration refere...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ 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). (14)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (4)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (7)
.vortex/docs/content/tools/behat.mdx (2)

25-29: Tab value rename is consistent and clear.

Switching value="direct" to value="docker-compose" matches the label and aligns with the new convention. Good change.

Also applies to: 40-44, 55-59, 203-209


26-29: Services names verified
Both cli (line 93) and chrome (line 237) are defined under services: in docker-compose.yml, matching the examples at lines 26–29, 41–44, 56–59, and 204–209. No changes needed.

.vortex/docs/content/tools/phpstan.mdx (1)

22-36: Tabs addition looks good; commands align with our tooling.

Ahoy and Docker Compose examples are correct.

.vortex/docs/content/tools/gherkin-lint.mdx (1)

11-25: Clean Tabs migration; commands are accurate.

Ahoy and Docker Compose snippets are correct for gherkin-lint.

.vortex/docs/content/tools/twig-cs-fixer.mdx (1)

13-27: Tabs-based usage reads well and matches our conventions.

Commands are correct for the CLI container.

.vortex/docs/content/tools/phpmd.mdx (1)

22-36: Solid conversion to Tabs; examples LGTM.

Ahoy and Docker Compose commands look correct.

.vortex/docs/content/workflows/testing.mdx (1)

17-23: Ahoy tab rendering looks correct.

Code fence indentation inside TabItem is correct; commands match the scripted tasks.

Comment on lines 41 to 43
```shell
docker compose exec cli vendor/bin/behat tests/behat/features/my.feature
```
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Unify Behat Docker Compose commands (memory limit).

For consistency with Line 27, consider adding the PHP memory limit flag to other Behat exec examples.

-    docker compose exec cli vendor/bin/behat tests/behat/features/my.feature
+    docker compose exec cli php -d memory_limit=-1 vendor/bin/behat tests/behat/features/my.feature
-    docker compose exec cli vendor/bin/behat --tags=group_name
+    docker compose exec cli php -d memory_limit=-1 vendor/bin/behat --tags=group_name

Also applies to: 56-58

🤖 Prompt for AI Agents
In .vortex/docs/content/tools/behat.mdx around lines 41-43 (and also update
lines 56-58), the Behat docker compose exec examples lack the PHP memory limit
flag used on line 27; update both examples to include the same PHP memory limit
environment flag/option used on line 27 (e.g., add the -e/--env
PHP_MEMORY_LIMIT=<value> or prefix with the same PHP_MEMORY_LIMIT=<value>
pattern) so the commands are consistent and use the increased PHP memory limit.

Comment on lines +14 to +15
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Persist tab selection via groupId.

Keeps the user’s choice consistent site-wide.

-<Tabs>
+<Tabs groupId="executor">
📝 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
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
<Tabs groupId="executor">
<TabItem value="ahoy" label="Ahoy" default>
🤖 Prompt for AI Agents
In .vortex/docs/content/tools/gherkin-lint.mdx around lines 14–15, the Tabs
component should persist the user’s selected tab across the site by supplying a
stable groupId; update the <Tabs> element to include a unique groupId prop (for
example "gherkin-lint-tabs" or another consistent key) so the tab selection is
stored and restored site-wide, and keep the existing default TabItem value
unchanged.

Comment on lines +25 to +26
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Persist tab state with groupId.

Small UX enhancement.

-<Tabs>
+<Tabs groupId="executor">
📝 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
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
<Tabs groupId="executor">
<TabItem value="ahoy" label="Ahoy" default>
🤖 Prompt for AI Agents
In .vortex/docs/content/tools/phpmd.mdx around lines 25-26, the Tabs component
should persist its selected tab per logical group; add a groupId prop to the
Tabs (e.g., groupId="phpmd-tools" or another unique identifier) so the component
will persist tab state, ensure TabItem values are unique and keep/remove the
default attribute as appropriate for your initial tab choice.

Comment on lines +25 to +26
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Add groupId to persist tab choice.

This improves UX across pages/sections.

-<Tabs>
+<Tabs groupId="executor">
📝 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
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
<Tabs groupId="executor">
<TabItem value="ahoy" label="Ahoy" default>
🤖 Prompt for AI Agents
.vortex/docs/content/tools/phpstan.mdx around lines 25-26: the TabItem lacks a
groupId so the user's tab selection isn't persisted across pages; add a groupId
attribute (e.g., groupId="tools-phpstan" or another stable, page-scoped
identifier) to this TabItem (and ensure other related TabItem components for the
same logical tab group use the same groupId) so the tab choice is persisted.

Comment on lines +16 to +17
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Add groupId to Tabs for state persistence.

Minor UX improvement.

-<Tabs>
+<Tabs groupId="executor">
📝 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
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
<Tabs groupId="executor">
<TabItem value="ahoy" label="Ahoy" default>
🤖 Prompt for AI Agents
.vortex/docs/content/tools/twig-cs-fixer.mdx around lines 16-17: the Tabs
component lacks a groupId prop so the selected tab isn't persisted across page
navigations; add a stable groupId (for example "twig-cs-fixer" or similar unique
string) to the Tabs element to enable state persistence, keeping existing
TabItem value attributes intact.

Comment on lines 15 to 16
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Add a Tabs groupId to sync selection across docs.

Using a shared groupId improves UX by remembering the user’s choice between “Ahoy” and “Docker Compose” across pages.

-<Tabs>
+<Tabs groupId="runner">
📝 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
<Tabs>
<TabItem value="ahoy" label="Ahoy" default>
<Tabs groupId="runner">
<TabItem value="ahoy" label="Ahoy" default>
🤖 Prompt for AI Agents
.vortex/docs/content/workflows/testing.mdx around lines 15-16: the <Tabs>
component is missing a groupId so the user's selection won't persist across
pages; add a shared groupId attribute (e.g., groupId="runtimes" or another
consistent name used elsewhere) to the <Tabs> element to sync the "Ahoy" vs
"Docker Compose" selection across docs, and ensure the same groupId is used on
other pages with matching Tabs components.

Comment on lines +25 to 33
<TabItem value="docker-compose" label="Docker Compose">
```shell
docker compose exec cli vendor/bin/phpunit # Run Unit, Kernel and Functional tests
docker compose exec cli vendor/bin/phpunit --testsuite=unit # Run Unit tests
docker compose exec cli vendor/bin/phpunit --testsuite=kernel # Run Kernel tests
docker compose exec cli vendor/bin/phpunit --testsuite=functional # Run Functional tests
docker compose exec cli vendor/bin/behat # Run BDD tests
```
</TabItem>
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Validate service name and consider a quick-start note for containers.

  • Assumes a cli service in docker-compose.yml; verify it exists.
  • exec requires running containers. Consider adding a one-liner to start containers, or switch to docker compose run --rm cli ….

Verification script:

Optional inline note:

   <TabItem value="docker-compose" label="Docker Compose">
+    Make sure containers are running: `docker compose up -d`
     ```shell

🏁 Script executed:

#!/bin/bash
# 1) Confirm 'cli' service exists in docker-compose.yml
rg -nP -C2 '(?s)^services:\s*(?:.*\n)*\s*cli:\s*$' docker-compose.yml

# 2) Check other docs for consistent Tab values and missing groupId
rg -nP --type=md --type=mdx '<TabItem\s+value="(ahoy|docker-compose)"' .vortex/docs
rg -nP --type=md --type=mdx '<Tabs(?![^>]*groupId=)' .vortex/docs

Length of output: 281


🏁 Script executed:

#!/bin/bash
# 1) Confirm 'services:' presence and 'cli:' service in docker-compose.yml
echo "--> Checking docker-compose.yml for 'services:'"
rg -n '^[[:space:]]*services:' docker-compose.yml || echo "ERROR: 'services:' not found"
echo "--> Checking docker-compose.yml for 'cli:' service"
rg -n '^[[:space:]]*cli:' docker-compose.yml || echo "ERROR: 'cli:' service entry not found"

# 2) Verify TabItem values in .vortex/docs for 'docker-compose' or 'ahoy'
echo "--> Scanning .vortex/docs for TabItem values 'docker-compose' or 'ahoy'"
rg -n '<TabItem\s+value="(docker-compose|ahoy)"' -g '*.mdx' .vortex/docs || echo "No matching <TabItem> entries found"

# 3) Find <Tabs> entries missing groupId attribute in .vortex/docs
echo "--> Looking for <Tabs> without groupId in .vortex/docs"
rg -n '<Tabs[^>]*>' -g '*.mdx' .vortex/docs | grep -v 'groupId=' || echo "All <Tabs> include groupId"

Length of output: 5817


Add container startup note and groupId to Tabs

  • Ensure containers are running before using exec, e.g. add a preamble like docker compose up -d (or switch to docker compose run --rm cli …) above the commands
  • The <Tabs> wrapper (line 15) needs a groupId attribute for consistency with other docs
🤖 Prompt for AI Agents
.vortex/docs/content/workflows/testing.mdx around lines 25 to 33: the
docker-compose TabItem commands use docker compose exec without ensuring
containers are started and the surrounding <Tabs> block is missing a groupId;
add a brief preamble line above the fenced block suggesting to start containers
(e.g., run docker compose up -d) or alternatively replace commands with docker
compose run --rm cli ... for single-run use, and add a groupId="testing" (or
matching existing docs convention) attribute to the <Tabs> wrapper on line 15 to
keep consistency.

@codecov
Copy link

codecov bot commented Sep 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.69%. Comparing base (f9db1fd) to head (859fe36).
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1977   +/-   ##
========================================
  Coverage    77.69%   77.69%           
========================================
  Files           90       90           
  Lines         5550     5550           
  Branches        44       44           
========================================
  Hits          4312     4312           
  Misses        1238     1238           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AlexSkrypnyk AlexSkrypnyk merged commit bcb00a4 into develop Sep 4, 2025
31 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/docs-update-more-tabs branch September 4, 2025 04:26
@github-project-automation github-project-automation bot moved this from BACKLOG to Release queue in Vortex Sep 4, 2025
@AlexSkrypnyk AlexSkrypnyk moved this from Release queue to Released in 25.8.0 in Vortex Sep 5, 2025
@AlexSkrypnyk AlexSkrypnyk added this to the 25.8.0 milestone Sep 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants