Add .gitignore and .gitattributes for repo hygiene.#18
Merged
gustavofreze merged 1 commit intomainfrom Apr 21, 2026
Merged
Conversation
…ent/IDE folders (.claude, .idea, .vscode) from being versioned and exclude dev-only files (tests, phpstan, phpcs, phpunit configs) from the Packagist tarball via export-ignore.
There was a problem hiding this comment.
Pull request overview
This PR improves repository hygiene and packaging by adding ignore/export rules and tightening up developer tooling/configuration to keep dev-only artifacts out of version control and Packagist exports.
Changes:
- Add/expand
.gitignore,.gitattributes, and.editorconfigto normalize line endings and ignore local/dev artifacts. - Update Composer dev dependencies/scripts and Make targets to support composer-normalize and new helper commands.
- Refresh CI artifact action versions and update library description/documentation to match the enum-based currency model.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
phpstan.neon.dist |
Removes unused ignoreErrors key from PHPStan config. |
infection.json.dist |
Tweaks Infection mutators configuration. |
composer.json |
Normalizes metadata, updates dev dependencies, plugin allow-list, and script ordering. |
README.md |
Updates Overview text to reflect enum-based ISO-4217 modeling and fraction digits. |
Makefile |
Adds composer normalize to configure, adds show-outdated, clarifies test-file usage, updates help output. |
.gitignore |
Expands ignores to cover common IDE/agent folders and build/test artifacts. |
.github/workflows/ci.yml |
Updates artifact action versions and removes explicit bcmath extension installation. |
.github/copilot-instructions.md |
Adds Copilot guidance pointing to .claude/ instruction sources. |
.gitattributes |
Adds LF normalization and export-ignore list to exclude dev-only files from Packagist tarballs. |
.editorconfig |
Adds baseline formatting conventions for the repo. |
.claude/rules/php-library-testing.md |
Adds PHPUnit/BDD conventions and mutation/coverage rules for agent guidance. |
.claude/rules/php-library-modeling.md |
Adds modeling/architecture rules for library structure. |
.claude/rules/php-library-documentation.md |
Adds documentation standards for Markdown files. |
.claude/rules/php-library-code-style.md |
Adds semantic PHP code-style rules for agent guidance. |
.claude/rules/github-workflows.md |
Adds workflow authoring rules for agent guidance. |
.claude/CLAUDE.md |
Adds project context, command list, and formatting rules for agent guidance. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Prevent agent/IDE folders (.claude, .idea, .vscode) from being versioned and exclude dev-only files (tests, phpstan, phpcs, phpunit configs) from the Packagist tarball via export-ignore.