Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: clean-up project structure #550

Merged
merged 11 commits into from
Jun 7, 2024
Merged

refactor: clean-up project structure #550

merged 11 commits into from
Jun 7, 2024

Conversation

lotyp
Copy link
Member

@lotyp lotyp commented Jun 7, 2024

Summary by CodeRabbit

  • New Features

    • Introduced multiple GitHub Actions workflows for coding standards, dependency analysis, refactoring, security analysis, static analysis, and testing.
  • Documentation

    • Improved clarity and organization of the contribution guidelines.
    • Updated README for better alignment and presentation.
  • Bug Fixes

    • Adjusted paths and configurations in various project files to ensure proper functioning and compatibility.
  • Chores

    • Updated dependencies and configurations in composer.json, .pre-commit-config.yaml, and other project files.
    • Enhanced .gitignore to include additional directories.

Copy link

coderabbitai bot commented Jun 7, 2024

Walkthrough

The recent updates introduce significant enhancements across various aspects of the project, focusing on improving configuration, documentation, and workflows. Key changes include restructuring directories, updating dependencies, refining contribution guidelines, and adding new GitHub Actions workflows for coding standards, testing, and security analysis. These updates aim to streamline development processes, enforce better coding practices, and ensure robust project maintenance.

Changes

File/Directory Change Summary
.gitattributes, .github/.yamllint.yaml Removed docs directory from export-ignore and ignored paths.
.github/.markdownlint.json Updated $schema URL.
.github/CONTRIBUTING.md Rephrased and restructured content for clarity and organization.
.github/labeler.yml Modified file patterns for type: documentation label.
.github/renovate.json Added :semanticCommitTypeAll(deps) to extensions.
.github/workflows/... Added/updated workflows for auto-merge, coding standards, create-release, dependency analysis, refactoring, security analysis, shellcheck, static analysis, and testing.
.gitignore Included /idea/ directory.
.phive/phars.xml Updated versions for composer-normalize and composer-require-checker.
.php-cs-fixer.dist.php Removed static_lambda option and added useParallelConfig().
.pre-commit-config.yaml Updated commitizen revision and markdownlint-cli2 configuration.
Makefile Added HOST_UID and HOST_GID variables, updated commands, help messages, and introduced new targets.
README.md Restructured alignment and presentation of elements.
composer.json Added new keywords, updated author name, package dependencies, and scripts.
docker-compose.yaml Downgraded version and removed version declaration.
pest.xml.dist Introduced PHPUnit configuration settings.
phpstan.neon.dist Added excludePaths parameter.
phpunit.xml.dist Updated testsuite name, directory path, and added stderr="true".
psalm-baseline.xml Updated Psalm version and file paths.
psalm.xml Restructured project file directories and added ignore paths.
tests/src/... Updated namespaces and introduced new test files for strict typing and forbidden functions.

Poem

In the code's vast, winding maze,
New paths emerge, a brighter phase.
With workflows set and standards high,
The project soars, it aims the sky.
Dependencies now neatly aligned,
Contributions clear, well-defined.
A rabbit cheers, with joyful glee,
For changes made in harmony! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
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>.
    • Generate unit testing code for this file.
    • 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. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • 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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration 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

Documentation and Community

  • 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.

@github-actions github-actions bot added type: maintenance For maintenance, refactor and testing (perf, chore, style, revert, refactor, test, build, ci) type: enhancement For features and enhancements (feat) type: documentation labels Jun 7, 2024
@lotyp lotyp force-pushed the feat/local-dev-updates branch from d93847d to 146f600 Compare June 7, 2024 17:32
Copy link

codecov bot commented Jun 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (e645a63) to head (b44fc51).

Additional details and impacted files
@@             Coverage Diff             @@
##              master      #550   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity         8         8           
===========================================
  Files              2         2           
  Lines             19        19           
===========================================
  Hits              19        19           

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

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

Outside diff range and nitpick comments (11)
.github/workflows/refactoring.yml (1)

34-66: Review the workflow steps for potential optimizations.

Consider caching the setup-php action to speed up the workflow execution.

.github/workflows/static-analysis.yml (1)

49-130: Review the workflow steps for potential optimizations.

Consider caching the setup-php action to speed up the workflow execution.

.github/workflows/coding-standards.yml (1)

24-47: Review the workflow steps for potential optimizations.

Consider caching the setup-php action to speed up the workflow execution.

Makefile (1)

101-103: Update the help messages to reflect the latest changes and ensure they are clear and concise.

Consider refining the help messages to ensure they are up-to-date and provide clear guidance.

README.md (1)

12-33: Review the alignment and presentation of badges to ensure consistency and correct linking.

Consider aligning the badges in a more consistent manner and verify that all links are functional.

.github/CONTRIBUTING.md (6)

3-45: Ensure the introductory section is welcoming and provides clear guidance for new contributors.

Consider enhancing the introductory section to make it more welcoming and provide clearer guidance for new contributors.

Tools
LanguageTool

[style] ~43-~43: Consider a different adverb to strengthen your wording. (ALWAYS_CONSTANTLY)
Context: ...en an issue** or a pull request. We are always looking for ways to improve the project...


[uncategorized] ~45-~45: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...deas. The latest changes are always in master branch, so please make your ...


97-115: Review the Makefile usage instructions to ensure they are clear and cover all necessary commands.

Consider enhancing the clarity of the Makefile usage instructions to ensure they cover all necessary commands comprehensively.

Tools
LanguageTool

[uncategorized] ~107-~107: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...t.png) ### → Key Commands * make env: Creates a .env file from the `.env.ex...


[uncategorized] ~108-~108: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ....env.exampletemplate. *make install`: Installs project composer dependencies ...


[uncategorized] ~111-~111: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ices using Docker Compose. * make down: Stops and removes all services. * `make...


[uncategorized] ~112-~112: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... and removes all services. * make logs: Displays logs for all services. * `make...


[uncategorized] ~113-~113: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...lays logs for all services. * make ssh: Logs into the running application conta...


[uncategorized] ~114-~114: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...r command line operations. * make lint: Executes all linting procedures for YAM...


[uncategorized] ~115-~115: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PHP, and Composer files. * make commit: Runs cz-git, a commitizen adapter for c...


127-135: Ensure the workflow guidelines are clear and encourage best practices for contributions.

Consider refining the workflow guidelines to ensure they are clear and encourage best practices for contributions.


Line range hint 184-218: Ensure the commit message guidelines are clear and align with the Conventional Commits standard.

Consider refining the commit message guidelines to ensure they are clear and align with the Conventional Commits standard.

Tools
LanguageTool

[misspelling] ~210-~210: This word is normally spelled as one. (EN_COMPOUNDS_SEMI_COLONS)
Context: ...Code style changes (formatting, missing semi-colons, etc.) | | deps: | Updates dep...


[uncategorized] ~212-~212: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...refactor: | Code changes that neither fixes a bug nor adds a feature | | ci:...


[uncategorized] ~212-~212: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...de changes that neither fixes a bug nor adds a feature | | ci: | Change...


Line range hint 270-304: Review the static code analysis and mutation testing sections to ensure they are comprehensive and accurate.

Consider enhancing the static code analysis and mutation testing sections to ensure they are comprehensive and accurate.


[!TIP]
Codebase Verification

The Docker support section in the CONTRIBUTING.md file inaccurately describes the Docker image used. The docker-compose.yaml file uses the wayofdev/php-dev image, not wayofdev/docker-php-dev as mentioned in the documentation. Please update the documentation to reflect this.

  • Update the Docker image reference in the CONTRIBUTING.md file from wayofdev/docker-php-dev to wayofdev/php-dev.
Analysis chain

Line range hint 141-163: Confirm the Docker support section accurately describes the setup and usage of Docker in the project.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the Docker support section in the CONTRIBUTING.md.

# Test: Check the Docker setup and usage instructions.
grep 'Docker Support' .github/CONTRIBUTING.md

Length of output: 105



Script:

#!/bin/bash
# Verify the presence and content of the Makefile
echo "Makefile content:"
cat Makefile

# Verify the presence and content of the docker-compose.yaml
echo "docker-compose.yaml content:"
cat docker-compose.yaml

# Verify the usage of the wayofdev/docker-php-dev PHP image in docker-compose.yaml
echo "Usage of wayofdev/docker-php-dev PHP image:"
grep 'wayofdev/docker-php-dev' docker-compose.yaml

Length of output: 10253

Tools
LanguageTool

[uncategorized] ~143-~143: You might be missing the article “a” here. (AI_EN_LECTOR_MISSING_DETERMINER_A)
Context: ...ing the development experience. To run docker container: bash make up Other ...

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between e645a63 and 146f600.

Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock
Files selected for processing (31)
  • .gitattributes (2 hunks)
  • .github/.markdownlint.json (1 hunks)
  • .github/.yamllint.yaml (1 hunks)
  • .github/CONTRIBUTING.md (11 hunks)
  • .github/labeler.yml (1 hunks)
  • .github/renovate.json (1 hunks)
  • .github/workflows/auto-merge-release.yml (1 hunks)
  • .github/workflows/coding-standards.yml (1 hunks)
  • .github/workflows/create-release.yml (1 hunks)
  • .github/workflows/dependency-analysis.yml (1 hunks)
  • .github/workflows/refactoring.yml (1 hunks)
  • .github/workflows/security-analysis.yml (1 hunks)
  • .github/workflows/shellcheck.yml (1 hunks)
  • .github/workflows/static-analysis.yml (1 hunks)
  • .github/workflows/testing.yml (1 hunks)
  • .gitignore (1 hunks)
  • .phive/phars.xml (1 hunks)
  • .php-cs-fixer.dist.php (1 hunks)
  • .pre-commit-config.yaml (2 hunks)
  • Makefile (9 hunks)
  • README.md (4 hunks)
  • composer.json (3 hunks)
  • docker-compose.yaml (1 hunks)
  • pest.xml.dist (1 hunks)
  • phpstan.neon.dist (1 hunks)
  • phpunit.xml.dist (2 hunks)
  • psalm-baseline.xml (2 hunks)
  • psalm.xml (1 hunks)
  • tests/src/Arch/DebugTest.php (1 hunks)
  • tests/src/Functional/Bridge/Laravel/Providers/PackageServiceProviderTest.php (1 hunks)
  • tests/src/Functional/TestCase.php (1 hunks)
Files skipped from review due to trivial changes (11)
  • .github/.markdownlint.json
  • .github/.yamllint.yaml
  • .github/labeler.yml
  • .github/renovate.json
  • .github/workflows/auto-merge-release.yml
  • .github/workflows/dependency-analysis.yml
  • .github/workflows/shellcheck.yml
  • .gitignore
  • docker-compose.yaml
  • pest.xml.dist
  • psalm.xml
Additional context used
LanguageTool
README.md

[style] ~77-~77: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: .../github.com/ibiqlik/action-yamllint). - Automated PHP code linting to ensure code quality...


[style] ~193-~193: This phrasing can be overused. Try elevating your writing with a more formal alternative. (IF_YOU_WANT)
Context: ...are open to all kinds of contributions. If you want to: - 🤔 [Suggest a feature](https://gith...

.github/CONTRIBUTING.md

[style] ~43-~43: Consider a different adverb to strengthen your wording. (ALWAYS_CONSTANTLY)
Context: ...en an issue** or a pull request. We are always looking for ways to improve the project...


[uncategorized] ~45-~45: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...deas. The latest changes are always in master branch, so please make your ...


[typographical] ~64-~64: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’. (COMMA_THAT_NOUN)
Context: ...ps://cz-git.qbb.sh) — Commitizen adapter, that assists in formatting git commits. * ...


[uncategorized] ~107-~107: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...t.png) ### → Key Commands * make env: Creates a .env file from the `.env.ex...


[uncategorized] ~108-~108: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ....env.exampletemplate. *make install`: Installs project composer dependencies ...


[uncategorized] ~111-~111: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ices using Docker Compose. * make down: Stops and removes all services. * `make...


[uncategorized] ~112-~112: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... and removes all services. * make logs: Displays logs for all services. * `make...


[uncategorized] ~113-~113: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...lays logs for all services. * make ssh: Logs into the running application conta...


[uncategorized] ~114-~114: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...r command line operations. * make lint: Executes all linting procedures for YAM...


[uncategorized] ~115-~115: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PHP, and Composer files. * make commit: Runs cz-git, a commitizen adapter for c...


[uncategorized] ~143-~143: You might be missing the article “a” here. (AI_EN_LECTOR_MISSING_DETERMINER_A)
Context: ...ing the development experience. To run docker container: bash make up Other ...


[uncategorized] ~159-~159: This verb may not be in the correct form. Consider using a different form for this context. (AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
Context: ...t, phpunit and phpstan commands will be ran against docker environment.
## ?...


[uncategorized] ~174-~174: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ... | | [refactoring.yml](workflows/refactoring....


[uncategorized] ~176-~176: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ... | | [shellcheck.yml](workflows/shellcheck.ym...


[uncategorized] ~178-~178: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: .... | | testing.yml ...


[uncategorized] ~187-~187: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...butions effectively. * Commits: use Conventional Commits standard to create a commit <b...


[misspelling] ~210-~210: This word is normally spelled as one. (EN_COMPOUNDS_SEMI_COLONS)
Context: ...Code style changes (formatting, missing semi-colons, etc.) | | deps: | Updates dep...


[uncategorized] ~212-~212: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...refactor: | Code changes that neither fixes a bug nor adds a feature | | ci:...


[uncategorized] ~212-~212: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...de changes that neither fixes a bug nor adds a feature | | ci: | Change...

Additional comments not posted (46)
tests/src/Arch/DebugTest.php (1)

5-8: LGTM! Good practice to ensure debugging functions are not used in production.

phpstan.neon.dist (1)

12-13: Ensure the exclusion of tests/src/Arch is intentional to avoid false positives in static analysis.

Verification successful

The exclusion of tests/src/Arch in phpstan.neon.dist is intentional and consistent with other configurations in the repository.

  • psalm.xml also ignores tests/src/Arch.
  • pest.xml.dist includes tests/src/Arch in a specific test suite, indicating it contains specialized tests.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the reason for excluding `tests/src/Arch` from static analysis.

# Test: Check for comments or documentation justifying the exclusion.
rg --type php -C 3 'excludePaths' phpstan.neon.dist

Length of output: 231



Script:

#!/bin/bash
# Description: Search for mentions of `tests/src/Arch` in the repository to find any justifications or related documentation.

# Search for mentions of `tests/src/Arch` in the repository.
rg 'tests/src/Arch'

Length of output: 184



Script:

#!/bin/bash
# Description: Extract the relevant lines from `psalm.xml` and `pest.xml.dist` to understand the context of `tests/src/Arch`.

# Extract lines mentioning `tests/src/Arch` in `psalm.xml`.
rg 'tests/src/Arch' -A 3 -B 3 psalm.xml

# Extract lines mentioning `tests/src/Arch` in `pest.xml.dist`.
rg 'tests/src/Arch' -A 3 -B 3 pest.xml.dist

Length of output: 503

.phive/phars.xml (1)

3-4: Updated PHAR versions align with best practices for keeping dependencies current.

.php-cs-fixer.dist.php (1)

10-15: Ensure the environment supports parallel configuration for PHP-CS-Fixer to leverage performance improvements.

tests/src/Functional/Bridge/Laravel/Providers/PackageServiceProviderTest.php (2)

5-5: Namespace update aligns with the new functional test structure.


9-9: Import statement update is correct and necessary due to the namespace change.

.gitattributes (1)

17-17: Addition of pest.xml.dist to export-ignore is appropriate to keep the distribution clean.

.github/workflows/create-release.yml (1)

19-19: Updating the GitHub action to v4.1.1 ensures the use of the latest features and fixes.

psalm-baseline.xml (3)

2-2: Updating the Psalm version in the baseline file ensures compatibility with the latest static analysis features.


11-11: Flagging methods as possibly invalid or unused in PackageServiceProviderTest.php is crucial for maintaining code quality.


19-19: Flagging the faker method as possibly unused is a proactive measure to maintain clean and efficient test code.

tests/src/Functional/TestCase.php (3)

5-5: Namespace change aligns with the updated directory structure.


Line range hint 17-19: Method ignorePackageDiscoveriesFrom correctly specifies packages to ignore.


Line range hint 23-26: Method getPackageProviders correctly returns the expected service providers.

.pre-commit-config.yaml (2)

13-13: Updated commitizen revision to v3.27.0.


39-40: Updated markdownlint entry and added args to specify the configuration file.

phpunit.xml.dist (3)

10-10: Addition of stderr="true" directs errors to STDERR, useful for CI environments.


11-11: Addition of beStrictAboutOutputDuringTests="true" ensures robust testing by failing tests with unexpected output.


17-18: Updated testsuite configuration aligns with the restructured test directories.

.github/workflows/security-analysis.yml (1)

5-9: Updated branch filters to include only the master branch, ensuring efficiency.

.github/workflows/refactoring.yml (1)

18-22: Ensure concurrency group uniqueness.

Verification successful

The concurrency group name refactoring-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} is unique within the .github/workflows/refactoring.yml file and does not conflict with other workflows.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all workflow files. Expect: Unique group names.
rg --type yaml 'group: refactoring-' --glob '*.yml'

Length of output: 202



Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all workflow files. Expect: Unique group names.
rg --type yaml 'group: refactoring-' .github/workflows --glob '*.yml' --glob '*.yaml'

Length of output: 223

.github/workflows/static-analysis.yml (1)

33-79: Ensure concurrency group uniqueness.

composer.json (4)

6-13: Keywords updated to enhance discoverability.


16-16: Author's name updated for accuracy.


35-49: Dependency versions updated to ensure compatibility with newer PHP versions.


93-122: Script definitions updated to include new testing and linting commands.

.github/workflows/coding-standards.yml (1)

13-30: Ensure concurrency group uniqueness.

Verification successful

Ensure concurrency group uniqueness.

The search results show that the concurrency group names in the .github/workflows/coding-standards.yml file are unique and follow a consistent naming pattern with other workflows.

  • .github/workflows/coding-standards.yml:
    • group: markdown-linting-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
    • group: composer-linting-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
    • group: coding-standards-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

These group names are distinct from those in other workflow files.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all workflow files. Expect: Unique group names.
rg --type yaml 'group: markdown-linting-' --glob '*.yml'

Length of output: 207



Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all workflow files. Expect: Unique group names.
rg --type yaml 'group:' --glob '.github/workflows/*.yml'

Length of output: 205



Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all YAML files. Expect: Unique group names.
rg --type yaml 'group:' --glob '**/*.yml'

Length of output: 190



Script:

#!/bin/bash
# Description: Verify that the concurrency group name is unique across different workflows.

# Test: Search for the concurrency group pattern in all YAML files within the .github/workflows directory. Expect: Unique group names.
rg 'group:' .github/workflows/*.yml

Length of output: 2262

Makefile (9)

39-39: Ensure the YAML lint configuration file path is correct and accessible.

Verification successful

The YAML lint configuration file path is correct and the file is accessible.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the YAML lint configuration file path.

# Test: Check if the YAML lint configuration file exists.
cat ./.github/.yamllint.yaml

Length of output: 1107


51-52: Confirm the markdown lint configuration file is correctly specified and the file exists.

Verification successful

The markdown lint configuration file is correctly specified and exists.

  • The file .github/.markdownlint.json was found and its contents were displayed successfully.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the markdown lint configuration file path.

# Test: Check if the markdown lint configuration file exists.
cat ./.github/.markdownlint.json

Length of output: 275


147-149: Ensure the stop target in the Makefile functions as expected across different Docker environments.


60-62: Ensure that the exported environment variables are correctly utilized in the Docker context.

Verification successful

The exported environment variables COMPOSE_PROJECT_NAME, COMPOSER_AUTH, HOST_UID, and HOST_GID are correctly utilized in the Docker context.

  • COMPOSE_PROJECT_NAME is used in the Makefile and docker-compose.yaml for setting environment variables and naming containers and volumes.
  • COMPOSER_AUTH is used in the Makefile for setting an environment variable.
  • HOST_UID and HOST_GID are used in the Makefile for setting environment variables.

Locations:

  • Makefile: Lines referencing COMPOSE_PROJECT_NAME, COMPOSER_AUTH, HOST_UID, and HOST_GID.
  • docker-compose.yaml: Lines referencing COMPOSE_PROJECT_NAME.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the usage of exported environment variables in Docker context.

# Test: Check the Docker compose files for the usage of these variables.
grep -r 'COMPOSE_PROJECT_NAME\|COMPOSER_AUTH\|HOST_UID\|HOST_GID' ./

Length of output: 820


296-296: Confirm the commit target uses the correct configuration for commitizen.

Verification successful

The commit target in the Makefile is correctly configured to use commitizen with the specified configuration file .github/.cz.config.js, which exists and contains valid configuration settings.

  • The commit target uses czg commit --config="./.github/.cz.config.js".
  • The configuration file .github/.cz.config.js exists and is properly set up with detailed commit message settings.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the `commit` target configuration.

# Test: Check the commitizen configuration in the Makefile.
grep 'czg commit' Makefile

Length of output: 75



Script:

#!/bin/bash
# Description: Verify the existence and content of the commitizen configuration file.

# Test: Check if the .github/.cz.config.js file exists.
if [ -f .github/.cz.config.js ]; then
  echo ".github/.cz.config.js exists"
  # Display the content of the configuration file for review.
  cat .github/.cz.config.js
else
  echo ".github/.cz.config.js does not exist"
fi

Length of output: 3513


256-256: Confirm the composer-normalize command is correctly set up and functional.


278-287: Ensure the test targets are correctly configured and functional.


9-10: Ensure the default values for HOST_UID and HOST_GID are appropriate for all environments.


186-186: Verify the phive install command is correctly configured with the appropriate trust keys.

README.md (2)

Line range hint 1-10: Ensure the updated image paths in the README are correct and the images are accessible.

Verification successful

The image paths in the README are correct and the images are accessible.

  • Both image URLs returned HTTP/2 200 status codes, confirming their accessibility.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the image paths in the README.

# Test: Check the image URLs for accessibility.
curl -I https://raw.githubusercontent.com/wayofdev/.github/master/assets/logo.gh-dark-mode-only.png
curl -I https://raw.githubusercontent.com/wayofdev/.github/master/assets/logo.gh-light-mode-only.png

Length of output: 2565


208-214: Ensure the contributors' section is updated and the image links are correct.

Verification successful

The image link for the contributors' badge is accessible and returns an HTTP 200 status code, indicating that the link is correct. Now, let's verify if the contributors' section in the README file is correctly formatted and updated.


The contributors' section in the README file is correctly formatted and includes the appropriate image link, which has been verified to be accessible.

  • The <a> tag correctly links to the contributors' graph on GitHub.
  • The <img> tag correctly points to the contributors' badge image URL, which is accessible.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the contributors' section in the README.

# Test: Check the contributors' image URL for accessibility.
curl -I https://img.shields.io/github/contributors-anon/wayofdev/laravel-package-tpl?style=for-the-badge

Length of output: 1172



Script:

#!/bin/bash
# Description: Verify the contributors' section in the README file.

# Test: Check the contributors' section in the README file.
grep -A 5 '<a href="https://github.com/wayofdev/laravel-package-tpl/graphs/contributors">' README.md

Length of output: 349

.github/workflows/testing.yml (4)

5-12: Ensure the branch filters in the workflow are correctly set to trigger the actions on the appropriate branches.

Verification successful

The branch filters in the GitHub Actions workflow are correctly set to trigger actions on the master branch for both pull_request and push events.

  • pull_request:
    • branches:
      • master
  • push:
    • branches:
      • master
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the branch filters in the GitHub Actions workflow.

# Test: Check the workflow file for branch specifications.
grep 'branches:' .github/workflows/testing.yml

Length of output: 74



Script:

#!/bin/bash
# Description: Extract and display the lines containing the branch specifications in the GitHub Actions workflow.

# Display the lines containing the branch specifications.
sed -n '/branches:/,/^[^ ]/p' .github/workflows/testing.yml

Length of output: 134


191-242: Review the mutation-testing job to confirm it is correctly configured and effectively uses the mutation testing tools.

Verification successful

The mutation-testing job in the GitHub Actions workflow appears to be correctly configured based on the gathered information. Here are the key points verified:

  • PHP Setup: The job sets up PHP with the necessary extensions and configurations.
  • Composer Validation: The job validates composer.json and composer.lock files.
  • Dependency Management: The job restores cached dependencies and installs the required dependencies.
  • Mutation Testing Execution: The job runs mutation testing using infection/infection.

The configuration seems to be complete and correctly set up for mutation testing.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the `mutation-testing` job configuration in the GitHub Actions workflow.

# Test: Check the setup and execution of mutation testing.
grep 'mutation-testing' .github/workflows/testing.yml

Length of output: 180



Script:

#!/bin/bash
# Description: Verify the setup of PHP and its extensions in the `mutation-testing` job.

# Test: Check the setup of PHP and its extensions.
grep -A 10 '🛠️ Setup PHP' .github/workflows/testing.yml

Length of output: 1844


Script:

#!/bin/bash
# Description: Verify the validation of composer files in the `mutation-testing` job.

# Test: Check the validation of composer files.
grep -A 2 '🤖 Validate composer.json and composer.lock' .github/workflows/testing.yml

Length of output: 520


Script:

#!/bin/bash
# Description: Verify the caching and installation of dependencies in the `mutation-testing` job.

# Test: Check the caching and installation of dependencies.
grep -A 10 '♻️ Restore cached dependencies installed with composer' .github/workflows/testing.yml

Length of output: 2314


Script:

#!/bin/bash
# Description: Verify the execution of mutation testing using `infection/infection` in the `mutation-testing` job.

# Test: Check the execution of mutation testing.
grep -A 2 '🧪 Run mutation testing using Xdebug and infection/infection' .github/workflows/testing.yml

Length of output: 224


74-133: Confirm the unit-testing job is correctly configured and functional, especially the matrix strategy and PHP setup.

Verification successful

The unit-testing job configuration in the GitHub Actions workflow appears to be correctly set up. The matrix strategy is defined with os, php-version, and dependencies, and the PHP setup includes necessary extensions and configurations.

  • Matrix strategy includes os, php-version, and dependencies.
  • PHP setup uses shivammathur/setup-php with appropriate extensions and configurations.
  • Steps include checking out the codebase, setting up PHP, validating composer files, restoring cached dependencies, and running unit tests.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the `unit-testing` job configuration in the GitHub Actions workflow.

# Test: Check the matrix strategy and PHP setup in the workflow.
grep 'unit-testing' .github/workflows/testing.yml

Length of output: 221



Script:

#!/bin/bash
# Description: Verify the `unit-testing` job configuration in the GitHub Actions workflow.

# Extract the entire `unit-testing` job configuration for detailed inspection.
awk '/unit-testing:/,/^$/' .github/workflows/testing.yml

Length of output: 646



Script:

#!/bin/bash
# Description: Verify the `unit-testing` job configuration in the GitHub Actions workflow.

# Extract the remaining part of the `unit-testing` job configuration for detailed inspection.
awk '/unit-testing:/,/^\s*-\s*name: 🧪 Run unit tests using pestphp\/pest/' .github/workflows/testing.yml

Length of output: 2248


134-190: Ensure the arch-testing job is properly set up and the architecture tests are running as expected.

Verification successful

The arch-testing job in the GitHub Actions workflow is properly set up and includes a step to run architecture tests using pestphp/pest. The configuration appears to be correct and the architecture tests are being executed as expected.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the `arch-testing` job setup in the GitHub Actions workflow.

# Test: Check the configuration and execution of architecture tests.
grep 'arch-testing' .github/workflows/testing.yml

Length of output: 221



Script:

#!/bin/bash
# Extract and review the steps within the `arch-testing` job in the GitHub Actions workflow.

# Print the lines related to the `arch-testing` job.
awk '/arch-testing:/,/^$/' .github/workflows/testing.yml

Length of output: 589



Script:

#!/bin/bash
# Extract the complete `arch-testing` job configuration in the GitHub Actions workflow.

# Print the lines related to the `arch-testing` job.
awk '/arch-testing:/,/^  [a-zA-Z]/' .github/workflows/testing.yml

Length of output: 83



Script:

#!/bin/bash
# Extract the complete `arch-testing` job configuration in the GitHub Actions workflow.

# Print the lines related to the `arch-testing` job.
awk '/arch-testing:/,/^[a-zA-Z]/' .github/workflows/testing.yml

Length of output: 4052

.github/CONTRIBUTING.md (4)

53-65: Verify the development requirements are up-to-date and accurately reflect the necessary setup for contributors.

Verification successful

The extracted content of the "Development Requirements" section from the CONTRIBUTING.md file is as follows:

## 🚩 Development Requirements

Before you begin, you will need to set up your local development environment. Here is what you'll need:

* **Operating System**: macOS Monterey+, Linux, or Windows with WSL2.
* **Docker**: Version 26.0.0 or newer. Installation guides:
  * [Docker on Ubuntu 22.04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04)
  * [Docker Desktop on Mac](https://docs.docker.com/desktop/install/mac-install/)

This section appears to be up-to-date and accurately reflects the necessary setup for contributors. The requirements listed are relevant and provide clear instructions for setting up the development environment.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the development requirements in the CONTRIBUTING.md.

# Test: Check the listed requirements and their relevance to the project setup.
grep 'Development Requirements' .github/CONTRIBUTING.md

Length of output: 145



Script:

#!/bin/bash
# Extract the content of the "Development Requirements" section from the CONTRIBUTING.md file.
sed -n '/## 🚩 Development Requirements/,/### → Optional Tools/p' .github/CONTRIBUTING.md

Length of output: 587

Tools
LanguageTool

[typographical] ~64-~64: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’. (COMMA_THAT_NOUN)
Context: ...ps://cz-git.qbb.sh) — Commitizen adapter, that assists in formatting git commits. * ...


167-178: Review the continuous integration setup to ensure it is correctly described and functional.

Verification successful

The continuous integration setup described in the CONTRIBUTING.md file is correctly documented, and all the mentioned workflow files are present in the .github/workflows directory.

  • All workflow files listed in the CONTRIBUTING.md file exist in the .github/workflows directory.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the continuous integration setup in the CONTRIBUTING.md.

# Test: Check the GitHub Actions configurations mentioned.
grep 'Continuous Integration' .github/CONTRIBUTING.md

Length of output: 197



Script:

#!/bin/bash
# Description: Verify the existence of the workflow files mentioned in the CONTRIBUTING.md.

# List the files in the .github/workflows directory
echo "Listing files in .github/workflows directory:"
ls .github/workflows

# Check for the existence of each workflow file mentioned in the CONTRIBUTING.md
echo "Checking for the existence of each workflow file mentioned in the CONTRIBUTING.md:"
for workflow in apply-labels.yml auto-merge-release.yml coding-standards.yml create-release.yml dependency-analysis.yml refactoring.yml security-analysis.yml shellcheck.yml static-analysis.yml testing.yml; do
  if [ -f ".github/workflows/$workflow" ]; then
    echo "$workflow exists."
  else
    echo "$workflow is missing."
  fi
done

Length of output: 3708

Tools
LanguageTool

[uncategorized] ~174-~174: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ... | | [refactoring.yml](workflows/refactoring....


[uncategorized] ~176-~176: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ... | | [shellcheck.yml](workflows/shellcheck.ym...


[uncategorized] ~178-~178: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: .... | | testing.yml ...


Line range hint 321-395: Verify the security audits, unit and functional tests, and pre-commit hooks sections are correctly detailed and functional.

Verification successful

The verification process confirms that the sections for security audits, unit and functional tests, and pre-commit hooks in the CONTRIBUTING.md file are correctly detailed and functional.

  • The lint-audit target is defined in the Makefile.
  • The test, test-arch, and test-unit targets are defined in the Makefile.
  • Instructions for installing pre-commit hooks are present in the CONTRIBUTING.md file.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the security audits, unit and functional tests, and pre-commit hooks sections in the CONTRIBUTING.md.

# Test: Check the detailed descriptions and functionality of the mentioned sections.
grep 'Security Audits\|Unit and Functional Tests\|Pre-commit Hooks' .github/CONTRIBUTING.md

Length of output: 408



Script:

#!/bin/bash
# Verify if the `lint-audit` target is defined in the Makefile.
grep -E 'lint-audit' Makefile

Length of output: 201


Script:

#!/bin/bash
# Verify if the `test`, `test-arch`, and `test-unit` targets are defined in the Makefile.
grep -E 'test|test-arch|test-unit' Makefile

Length of output: 723


Script:

#!/bin/bash
# Verify if there are instructions or scripts for installing pre-commit hooks.
grep -E 'pre-commit' .github/CONTRIBUTING.md

Length of output: 352


69-95: Confirm the quick project setup instructions are correct and functional.

@@ -121,7 +129,7 @@ else
endif
.PHONY: env

prepare:
prepare: ## Prepare project for development
Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

The prepare target in the Makefile is referenced in multiple places, including other Makefile targets and a GitHub Actions workflow. However, the prepare target itself does not contain any commands or steps.

  • Makefile:
    • all: env prepare install hooks phive up
    • lint-php: prepare
    • lint-diff: prepare
  • GitHub Actions Workflow:
    • ./.github/workflows/coding-standards.yml: run: make prepare

Given that the prepare target is empty, it does not perform any actions, which might lead to issues in the targets and workflows that depend on it.

  • Makefile:
    • Line 132: prepare: ## Prepare project for development
Analysis chain

Confirm that the preparation step for the project is necessary and correctly configured.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the necessity and configuration of the preparation step.

# Test: Check the directory creation and its usage in the project.
ls -la .build/php-cs-fixer

Length of output: 95



Script:

#!/bin/bash
# Extract the 'prepare' target from the Makefile to understand its steps
awk '/^prepare:/,/^[a-zA-Z0-9_-]+:/' Makefile

Length of output: 91



Script:

#!/bin/bash
# Search for references to the 'prepare' target in the Makefile and other scripts
grep -r 'prepare' .

Length of output: 412

@@ -33,7 +42,7 @@ This is a template repository designed to kick-start the development of Laravel

If you **like/use** this package, please consider ⭐️ **starring** it. Thanks!

![Screenshot](assets/screenshot.png)
![Screenshot](.github/assets/screenshot.png)
Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

The screenshot file referenced in the README does not exist in the repository. Please ensure that the file .github/assets/screenshot.png is added to the repository or update the README with the correct path to the screenshot.

  • Ensure the file .github/assets/screenshot.png is added to the repository.
  • Update the README with the correct path to the screenshot if it has been moved.
Analysis chain

Verify the screenshot link is correct and the image is properly displayed in the README.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the screenshot link in the README.

# Test: Check the screenshot URL for accessibility.
curl -I https://github.com/wayofdev/laravel-package-tpl/.github/assets/screenshot.png

Length of output: 1792



Script:

#!/bin/bash
# Description: Check if the screenshot file exists in the repository.

# Search for the screenshot file in the repository.
fd screenshot.png

Length of output: 19

Comment on lines 15 to 73
timeout-minutes: 4
runs-on: ${{ matrix.os }}
concurrency:
cancel-in-progress: true
group: code-coverage-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ matrix.php-version }}-${{ matrix.dependencies }}
strategy:
fail-fast: true
matrix:
os:
- ubuntu-latest
php-version:
- '8.2'
dependencies:
- locked
steps:
- name: 📦 Check out the codebase
uses: actions/[email protected]

- name: 🛠️ Setup PHP
uses: shivammathur/[email protected]
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, opcache, pcntl, posix, fileinfo
ini-values: error_reporting=E_ALL
coverage: xdebug

- name: 🛠️ Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies
uses: wayofdev/gh-actions/actions/composer/[email protected]
with:
dependencies: ${{ matrix.dependencies }}

- name: 🧪 Collect code coverage with Xdebug and pestphp/pest
run: composer test:cc

- name: 📤 Upload code coverage report to Codecov
uses: codecov/[email protected]
with:
files: .build/phpunit/logs/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true

Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

The extracted configuration shows multiple redundant instances of checking out the codebase, which is inefficient and should be corrected. Additionally, the full list of steps is not visible, which prevents a complete review of the job configuration.

Please review and correct the redundancy in the code-coverage job configuration and ensure all necessary steps are included and correctly configured.

  • Remove redundant instances of checking out the codebase.
  • Ensure all steps for setting up PHP, problem matchers, validating composer files, caching dependencies, installing dependencies, collecting code coverage, and uploading the report are included and correctly configured.
Analysis chain

Review the configuration of the code-coverage job to ensure it is optimized for performance and correctness.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the `code-coverage` job configuration in the GitHub Actions workflow.

# Test: Check the setup and execution of the code coverage collection.
grep 'code-coverage' .github/workflows/testing.yml

Length of output: 224



Script:

#!/bin/bash
# Description: Extract and review the `code-coverage` job configuration in the GitHub Actions workflow.

# Extract the entire `code-coverage` job configuration.
awk '/code-coverage:/,/^$/' .github/workflows/testing.yml

Length of output: 592



Script:

#!/bin/bash
# Description: Extract the remaining steps of the `code-coverage` job configuration in the GitHub Actions workflow.

# Extract the steps after checking out the codebase.
awk '/- name: 📦 Check out the codebase/,/^$/' .github/workflows/testing.yml

Length of output: 394



Script:

#!/bin/bash
# Description: Extract the full list of steps in the `code-coverage` job configuration in the GitHub Actions workflow.

# Extract the steps in the `code-coverage` job configuration.
awk '/steps:/,/^$/' .github/workflows/testing.yml

Length of output: 411



Script:

#!/bin/bash
# Description: Extract the full list of steps in the `code-coverage` job configuration in the GitHub Actions workflow.

# Extract the steps in the `code-coverage` job configuration.
awk '/code-coverage:/,/^$/' .github/workflows/testing.yml

Length of output: 592

Comment on lines +222 to +232
## 📦 PHAR Dependencies

We use [Phive](https://phar.io/) to manage PHAR dependencies. You can install all dependencies using the `make phive` command, which will be executed through the Docker environment.

```bash
make phive
```

<br>

## 🔍 Coding Standards
Copy link

Choose a reason for hiding this comment

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

Tip

Codebase Verification

The coding standards section in the CONTRIBUTING.md file mentions the use of Composer Normalization. However, the actual tools and practices used in the project, as identified from the search results, include:

  • PHPStan
  • Psalm
  • PHP CS Fixer
  • Markdown linting
  • YAML linting

These tools are not mentioned in the coding standards section of the CONTRIBUTING.md file. Therefore, the section does not accurately describe the tools and practices used in the project.

  • CONTRIBUTING.md: Update the coding standards section to include PHPStan, Psalm, PHP CS Fixer, Markdown linting, and YAML linting.
Analysis chain

Confirm the coding standards section accurately describes the tools and practices used in the project.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the coding standards section in the CONTRIBUTING.md.

# Test: Check the coding standards tools and practices mentioned.
grep 'Coding Standards' .github/CONTRIBUTING.md

Length of output: 113



Script:

#!/bin/bash
# Extract the content of the "Coding Standards" section from the CONTRIBUTING.md file.
sed -n '/## 🔍 Coding Standards/,/## /p' .github/CONTRIBUTING.md

# Identify the actual coding standards tools and practices used in the project by searching for relevant configuration files and scripts.
fd -e json -e yml -e yaml -e xml -e php -e js -e sh -e md | xargs grep -Ei 'eslint|prettier|phpcs|phpcbf|phpmd|phpstan|psalm|lint|formatter|coding standards'

Length of output: 11647

@lotyp lotyp force-pushed the feat/local-dev-updates branch from 9a31a6d to 9b5221e Compare June 7, 2024 19:36
@lotyp lotyp force-pushed the feat/local-dev-updates branch from 9b5221e to b44fc51 Compare June 7, 2024 19:51
@lotyp lotyp merged commit 62d76b7 into master Jun 7, 2024
26 checks passed
@lotyp lotyp deleted the feat/local-dev-updates branch June 7, 2024 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: documentation type: enhancement For features and enhancements (feat) type: maintenance For maintenance, refactor and testing (perf, chore, style, revert, refactor, test, build, ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant