Standardize project tooling, rules, and CI configuration.#47
Merged
Conversation
…project tooling, rules, and CI configuration.
There was a problem hiding this comment.
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
.clauderules, 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 toint|stringto match the implementation and thetoArray()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 toiterable<int|string, mixed>to keep the public contract accurate.
* @param iterable<int, mixed> $elements The elements to populate the collection with.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.