Skip to content

Standardize project tooling, rules, and CI configuration.#47

Merged
gustavofreze merged 1 commit into
mainfrom
feature/develop
May 18, 2026
Merged

Standardize project tooling, rules, and CI configuration.#47
gustavofreze merged 1 commit into
mainfrom
feature/develop

Conversation

@gustavofreze
Copy link
Copy Markdown
Member

No description provided.

…project tooling, rules, and CI configuration.
Copilot AI review requested due to automatic review settings May 18, 2026 21:59
@gustavofreze gustavofreze merged commit 5c8612a into main May 18, 2026
9 checks passed
@gustavofreze gustavofreze deleted the feature/develop branch May 18, 2026 22:04
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR standardizes project tooling, contributor rules, documentation templates, and CI configuration for the tiny-blocks Collection library, while applying small code-style and static-analysis cleanup.

Changes:

  • Adds/updates canonical .claude rules, GitHub templates, security policy, workflows, and repository tooling configs.
  • Updates Composer scripts, Makefile targets, report paths, PHPCS/PHPStan/PHPUnit/Infection configuration.
  • Applies minor code/documentation refinements, including Each::on(), PHPDoc generics, README examples, and formatting cleanup.

Reviewed changes

Copilot reviewed 34 out of 35 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/CollectionTest.php Formats an assertion consistently.
src/Internal/Operations/Transforming/Rearrange.php Aligns match-arm formatting and removes trailing comma.
src/Internal/Operations/Resolving/Each.php Renames resolver entry point to on.
src/Internal/Materialization.php Removes internal PHPDoc/import.
src/Internal/LazyPipeline.php Removes property PHPDoc.
src/Collection.php Updates call site for Each::on.
src/Collectible.php Updates public PHPDoc generics.
SECURITY.md Adds security reporting policy.
README.md Expands TOC and PHP examples, updates license link.
phpunit.xml Tightens PHPUnit config and moves reports under reports/.
phpstan.neon.dist Raises PHPStan level and scopes ignores by identifier/path.
phpcs.xml Adds PSR-12 PHPCS config.
Makefile Aligns targets with Composer scripts and reports/.
infection.json.dist Moves Infection artifacts under reports/.
composer.json Updates metadata, dependencies, and scripts.
.gitignore Refreshes ignored tooling/report artifacts.
.github/workflows/codeql.yml Adds concurrency/timeout and normalizes style.
.github/workflows/ci.yml Resolves PHP version dynamically and standardizes CI jobs.
.github/workflows/auto-assign.yml Adds concurrency, permissions, naming, and timeout.
.github/PULL_REQUEST_TEMPLATE.md Adds PR template.
.github/ISSUE_TEMPLATE/feature_request.md Adds feature request template.
.github/ISSUE_TEMPLATE/bug_report.md Adds bug report template.
.github/copilot-instructions.md Updates contributor automation guidance.
.gitattributes Adds report/cache export ignores.
.editorconfig Adds max line length.
.claude/rules/php-library-tooling.md Adds canonical tooling rules.
.claude/rules/php-library-testing.md Expands testing conventions.
.claude/rules/php-library-modeling.md Expands modeling conventions.
.claude/rules/php-library-github-workflows.md Adds PHP library workflow rules.
.claude/rules/php-library-documentation.md Expands documentation standards.
.claude/rules/php-library-commits.md Adds commit message rules.
.claude/rules/php-library-code-style.md Expands PHP code-style rules.
.claude/rules/php-library-architecture.md Adds architecture rules.
.claude/rules/github-workflows.md Removes obsolete workflow rules.
.claude/CLAUDE.md Replaces project guidance with rule index.
Comments suppressed due to low confidence (2)

src/Collectible.php:50

  • createFrom() accepts and preserves string-keyed iterables, but this PHPDoc now documents only integer keys. Widen the iterable key type to int|string to match the implementation and the toArray() return contract.
     * @param iterable<int, mixed> $elements The elements to populate the collection with.

src/Collectible.php:84

  • createLazyFrom() has the same key-preservation behavior as eager collections, including string keys, but the PHPDoc now documents only integer-keyed iterables. Widen this to iterable<int|string, mixed> to keep the public contract accurate.
     * @param iterable<int, mixed> $elements The elements to populate the collection with.

Comment thread src/Collectible.php
Comment thread composer.json
Comment thread .claude/rules/php-library-tooling.md
Comment thread phpstan.neon.dist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants