Skip to content

fix(docs): Update command syntax in development.md and testing.md for clarity and consistency.#121

Merged
terabytesoftw merged 2 commits intomainfrom
fix_mini_14
Jan 26, 2026
Merged

fix(docs): Update command syntax in development.md and testing.md for clarity and consistency.#121
terabytesoftw merged 2 commits intomainfrom
fix_mini_14

Conversation

@terabytesoftw
Copy link
Copy Markdown
Contributor

Pull Request

Q A
Is bugfix? ✔️
New feature?
Breaks BC?

@terabytesoftw terabytesoftw added the bug Something isn't working label Jan 26, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 26, 2026

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Updated changelog with recent fixes and enhancements.
    • Reformatted README navigation links for clearer presentation.
    • Rewrote development guide to introduce a sync-metadata workflow and new guidance on when/how to run it.
    • Overhauled testing docs: renamed and consolidated test/task commands, added automated refactoring and mutation-testing guidance, and updated examples.
  • Chores
    • Added a metadata sync step to project tooling.

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

Walkthrough

Documentation, changelog, and composer metadata were updated: a metadata sync workflow and new composer script were introduced; testing and tooling docs were revised (script names, Rector, Infection, PHPStan); CHANGELOG entries were rewritten and a new 0.2.1 bug entry added.

Changes

Cohort / File(s) Summary
Changelog Updates
CHANGELOG.md
Multiple version entries rewritten: added Bug #121 under 0.2.1; reorganized and reworded 0.2.0 and 0.1.2 entries (Bugs #64, #108#120, Enh #63#66); 0.1.0 message changed to "Enh #1: Initial commit."
README Formatting
README.md
Navigation links reformatted to emoji-prefixed Markdown links; targets unchanged, presentation-only edits.
Development Workflow Docs
docs/development.md
Replaced "Local setup" with "Sync Metadata" describing a sync-metadata workflow; composer install → composer sync-metadata; "Project scripts" section replaced by an "Updated Files" table and new run/overwrite guidance.
Testing & Tooling Docs
docs/testing.md
Composer script names updated (e.g., composer run easy-coding-standardcomposer ecs, other script renames); Psalm replaced by PHPStan; added Rector refactoring and Infection mutation-testing instructions; updated test and coverage examples.
Composer Scripts
composer.json
Added sync-metadata script that fetches .styleci.yml from template repo via curl; no other functional changes.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant Local as Local Repo
  participant Composer as Composer Script
  participant Remote as Template Repo (HTTP)
  participant FS as Filesystem

  Dev->>Local: run `composer sync-metadata`
  Local->>Composer: invoke `sync-metadata` script
  Composer->>Remote: HTTP GET template/.styleci.yml (curl)
  Remote-->>Composer: .styleci.yml (response)
  Composer->>FS: write/overwrite .styleci.yml and other synced files
  Composer-->>Local: exit status
  Local-->>Dev: report success / warnings (overwrites, conflicts)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰
I dug a tunnel through the changelog bright,
Synced metadata by moonlit night,
Scripts hopped names and tests took flight,
Docs polished soft in gentle light,
A carrot cheer for every write! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: documentation updates to command syntax in development.md and testing.md for clarity and consistency, which aligns with the actual file modifications.
Description check ✅ Passed The description indicates this is a bugfix for documentation commands that maintains backward compatibility, which is consistent with the documentation and configuration file updates in the changeset.
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: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ed40cd0 and aa94b82.

📒 Files selected for processing (1)
  • composer.json
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: terabytesoftw
Repo: php-forge/actions PR: 67
File: .github/workflows/phpstan.yml:13-16
Timestamp: 2025-09-29T14:58:04.095Z
Learning: In the php-forge/actions repository, the maintainer prefers using "composer update" as the default command in CI workflows to ensure the latest dependencies are always installed, rather than using "composer install" for reproducibility.
Learnt from: terabytesoftw
Repo: php-forge/foxy PR: 115
File: tests/Fallback/AssetFallbackTest.php:158-189
Timestamp: 2026-01-23T11:22:07.261Z
Learning: User terabytesoftw prefers not to use aliases when importing classes in PHP. They are comfortable with either fully-qualified class names or direct imports without aliases.
Learnt from: terabytesoftw
Repo: php-forge/support PR: 12
File: src/TestSupport.php:0-0
Timestamp: 2025-08-18T20:13:33.518Z
Learning: User terabytesoftw prefers clean trait-based designs over maintaining backward compatibility wrappers when refactoring utility classes in the php-forge/support project.
Learnt from: terabytesoftw
Repo: php-forge/actions PR: 65
File: .github/workflows/composer-require-checker.yml:80-83
Timestamp: 2025-09-28T15:12:48.345Z
Learning: The user terabytesoftw prefers using floating tags like v1 for third-party actions in GitHub workflows instead of pinning to specific commit SHAs, even when it's a security best practice to pin to immutable commits.
📚 Learning: 2025-09-29T14:58:04.095Z
Learnt from: terabytesoftw
Repo: php-forge/actions PR: 67
File: .github/workflows/phpstan.yml:13-16
Timestamp: 2025-09-29T14:58:04.095Z
Learning: In the php-forge/actions repository, the maintainer prefers using "composer update" as the default command in CI workflows to ensure the latest dependencies are always installed, rather than using "composer install" for reproducibility.

Applied to files:

  • composer.json
📚 Learning: 2026-01-23T11:09:08.789Z
Learnt from: terabytesoftw
Repo: php-forge/foxy PR: 115
File: composer.json:68-77
Timestamp: 2026-01-23T11:09:08.789Z
Learning: When a composer.json in php-forge repositories references external template repos in sync-metadata scripts, prefer using the main branch reference rather than pinning to specific commit SHAs or tags. This reduces maintenance when upstream templates change, but be aware of potential drift; document rationale and review changes periodically.

Applied to files:

  • composer.json
⏰ 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). (16)
  • GitHub Check: phpunit / PHP 8.3-ubuntu-latest
  • GitHub Check: easy-coding-standard / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.4-windows-2022
  • GitHub Check: phpunit / PHP 8.1-ubuntu-latest
  • GitHub Check: composer-require-checker / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.4-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.2-windows-2022
  • GitHub Check: phpunit / PHP 8.5-windows-2022
  • GitHub Check: phpunit / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.3-windows-2022
  • GitHub Check: linter / Super Linter
  • GitHub Check: mutation / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.1-ubuntu-latest
  • GitHub Check: mutation / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.5-ubuntu-latest
  • GitHub Check: linter / Super Linter
🔇 Additional comments (1)
composer.json (1)

79-86: LGTM — consistent with existing sync-metadata pattern.
The added .styleci.yml download matches the established approach and aligns with the preferred main branch reference for template syncs.

✏️ 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.

Copy link
Copy Markdown

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

🤖 Fix all issues with AI agents
In `@CHANGELOG.md`:
- Line 5: The changelog entry "Bug `#121`: Update command syntax in
`development.md` and `testing.md` for clarity and consistency" is too narrow
given the actual docs changes; update the CHANGELOG.md entry for Bug `#121` to
mention the additional documentation additions (Sync Metadata workflow, Rector
section, Infection testing) and broaden the description to reflect major doc
content changes rather than only command syntax edits, referencing the existing
entry text so you modify that specific line.

In `@docs/development.md`:
- Around line 3-42: The changes introduce new Sync Metadata documentation in
docs/development.md (including the sync-metadata command and associated updated
files table) that exceeds the stated PR scope of "updating command syntax for
clarity"; either update the PR title/description to accurately include this new
documentation or extract the docs/development.md additions into a separate PR
focused on workflow documentation (leaving only the command syntax edits in this
PR), and ensure references to the sync-metadata command and the updated files
list are preserved in the new or updated PR as appropriate.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b46fd15 and ed40cd0.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • README.md
  • docs/development.md
  • docs/testing.md
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: terabytesoftw
Repo: php-forge/foxy PR: 115
File: tests/Fallback/AssetFallbackTest.php:158-189
Timestamp: 2026-01-23T11:22:07.261Z
Learning: User terabytesoftw prefers not to use aliases when importing classes in PHP. They are comfortable with either fully-qualified class names or direct imports without aliases.
Learnt from: terabytesoftw
Repo: php-forge/support PR: 12
File: src/TestSupport.php:0-0
Timestamp: 2025-08-18T20:13:33.518Z
Learning: User terabytesoftw prefers clean trait-based designs over maintaining backward compatibility wrappers when refactoring utility classes in the php-forge/support project.
Learnt from: terabytesoftw
Repo: php-forge/actions PR: 65
File: .github/workflows/composer-require-checker.yml:80-83
Timestamp: 2025-09-28T15:12:48.345Z
Learning: The user terabytesoftw prefers using floating tags like v1 for third-party actions in GitHub workflows instead of pinning to specific commit SHAs, even when it's a security best practice to pin to immutable commits.
📚 Learning: 2025-08-18T15:43:30.996Z
Learnt from: terabytesoftw
Repo: php-forge/support PR: 11
File: composer.json:13-16
Timestamp: 2025-08-18T15:43:30.996Z
Learning: Testing helper libraries (packages with "testing" or "support" in keywords/description that provide test utilities) should include PHPUnit and other testing frameworks in the main "require" section rather than "require-dev", as consuming packages need these dependencies to use the testing utilities.

Applied to files:

  • docs/testing.md
📚 Learning: 2025-09-29T14:58:04.095Z
Learnt from: terabytesoftw
Repo: php-forge/actions PR: 67
File: .github/workflows/phpstan.yml:13-16
Timestamp: 2025-09-29T14:58:04.095Z
Learning: In the php-forge/actions repository, the maintainer prefers using "composer update" as the default command in CI workflows to ensure the latest dependencies are always installed, rather than using "composer install" for reproducibility.

Applied to files:

  • docs/development.md
📚 Learning: 2026-01-23T11:09:15.771Z
Learnt from: terabytesoftw
Repo: php-forge/foxy PR: 115
File: composer.json:68-77
Timestamp: 2026-01-23T11:09:15.771Z
Learning: In the php-forge organization repositories, terabytesoftw prefers using the main branch reference in composer.json sync-metadata scripts when downloading configuration files from external template repositories, rather than pinning to specific commit SHAs or tags, even though pinning provides more stability and prevents unexpected changes.

Applied to files:

  • docs/development.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). (1)
  • GitHub Check: linter / Super Linter
🔇 Additional comments (13)
README.md (1)

108-115: LGTM! Improved documentation presentation.

The emoji-prefixed markdown links enhance readability and provide better visual navigation. The link targets remain unchanged, ensuring no broken references.

docs/development.md (3)

14-27: LGTM! Clear and comprehensive file listing.

The table effectively communicates which configuration files are updated and their purposes.


28-42: LGTM! Excellent operational guidance.

The "When to Run" scenarios and "Important Notes" provide clear, actionable guidance. The warnings about overwriting files are appropriate and necessary.


3-12: The composer sync-metadata command is properly defined in composer.json and the documentation is accurate. No action required.

docs/testing.md (9)

3-12: LGTM! Comprehensive tool reference section.

The updated tool references clearly document all testing and quality tools used in the project, with proper links to official documentation.


14-20: New documentation section for Rector.

This is a new section introducing Rector automated refactoring, not just a command syntax update. While the content is clear and well-structured, it represents an expansion of documentation scope beyond what's described in the PR objectives.


22-28: LGTM! Clear coding standards section.

The ECS section is concise and uses the updated composer script naming.


30-36: LGTM! Clear dependency check documentation.

The section clearly explains the purpose and usage of the dependency check command.


38-50: New documentation section for mutation testing.

These sections introduce Infection mutation testing with two distinct commands. While the documentation is clear and well-organized, this represents new content rather than command syntax updates.


52-58: LGTM! Updated static analysis documentation.

The section correctly references PHPStan and uses the updated composer script naming.


60-66: LGTM! Clear unit test documentation.

The section uses the updated composer script naming with clear instructions.


68-82: LGTM! Helpful examples of advanced usage.

The examples demonstrate how to pass additional arguments to composer scripts, using the updated command names consistently.


14-82: All composer scripts referenced in the documentation are correctly defined in composer.json: rector, ecs, check-dependencies, mutation, mutation-static, static, and tests. No action required.

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

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (78d5922) to head (aa94b82).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##                main      #121   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity       359       359           
===========================================
  Files             26        26           
  Lines            823       823           
===========================================
  Hits             823       823           

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

@terabytesoftw terabytesoftw merged commit 60bfe3a into main Jan 26, 2026
48 checks passed
@terabytesoftw terabytesoftw deleted the fix_mini_14 branch January 26, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant