These are fine to leave alone; only worth touching if the mood strikes.
1. bin/composer (3.2 MB binary) is committed. It's a vendored copy of the Composer PHAR. CI (setup-php + composer/install) and the Dockerfile (COPY --from=composer) never use it, and composer.phar is already in .dockerignore. It's harmless but bloats every clone and the build context. Keeping a bootstrapped composer in-repo is a legitimate choice, so this is "excessive to fix," but removing it (or moving to a documented download step) is the cleaner pattern.
2. No .gitattributes with export-ignore. Standard for libraries/apps that get distributed: mark tests/, docs/, .gitea/, CI configs, .php-cs-fixer.dist.php, etc. export-ignore so git archive/dist zips are clean. Since this repo is primarily built from a Dockerfile (not git archive), this is optional.
3. No .editorconfig enforcement in CI. The file exists but nothing checks it. Not worth wiring up unless the team wants it.
4. No explicit failOnRisky/beStrictAboutOutputDuringTests in phpunit.xml.dist. The config already fails on deprecations/notices/warnings; adding riskiness strictness is a further tightening that could be noisy. Current strictness level is reasonable.
5. Caddyfile / bin/franken.sh / bin/dev.sh are dev conveniences shipped in the repo. Fine to keep; a full monorepo-cleanup (moving dev scripts under a tools/ dir) is cosmetic.
6. composer.lock hash not pinned in CI. CI relies on composer install (which is correct). Adding a --strict or a lock-freshness check is overkill for a single-maintainer app.
## Excessive / Optional
These are fine to leave alone; only worth touching if the mood strikes.
- [ ] **1. `bin/composer` (3.2 MB binary) is committed.** It's a vendored copy of the Composer PHAR. CI (`setup-php` + `composer/install`) and the Dockerfile (`COPY --from=composer`) never use it, and `composer.phar` is already in `.dockerignore`. It's harmless but bloats every clone and the build context. Keeping a bootstrapped composer in-repo is a legitimate choice, so this is "excessive to fix," but removing it (or moving to a documented download step) is the cleaner pattern.
- [ ] **2. No `.gitattributes` with `export-ignore`.** Standard for libraries/apps that get distributed: mark `tests/`, `docs/`, `.gitea/`, CI configs, `.php-cs-fixer.dist.php`, etc. `export-ignore` so `git archive`/dist zips are clean. Since this repo is primarily built from a Dockerfile (not `git archive`), this is optional.
- [ ] **3. No `.editorconfig` enforcement in CI.** The file exists but nothing checks it. Not worth wiring up unless the team wants it.
- [ ] **4. No explicit `failOnRisky`/`beStrictAboutOutputDuringTests` in phpunit.xml.dist.** The config already fails on deprecations/notices/warnings; adding riskiness strictness is a further tightening that could be noisy. Current strictness level is reasonable.
- [ ] **5. `Caddyfile` / `bin/franken.sh` / `bin/dev.sh` are dev conveniences shipped in the repo.** Fine to keep; a full monorepo-cleanup (moving dev scripts under a `tools/` dir) is cosmetic.
- [ ] **6. `composer.lock` hash not pinned in CI.** CI relies on `composer install` (which is correct). Adding a `--strict` or a lock-freshness check is overkill for a single-maintainer app.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Excessive / Optional
These are fine to leave alone; only worth touching if the mood strikes.
bin/composer(3.2 MB binary) is committed. It's a vendored copy of the Composer PHAR. CI (setup-php+composer/install) and the Dockerfile (COPY --from=composer) never use it, andcomposer.pharis already in.dockerignore. It's harmless but bloats every clone and the build context. Keeping a bootstrapped composer in-repo is a legitimate choice, so this is "excessive to fix," but removing it (or moving to a documented download step) is the cleaner pattern..gitattributeswithexport-ignore. Standard for libraries/apps that get distributed: marktests/,docs/,.gitea/, CI configs,.php-cs-fixer.dist.php, etc.export-ignoresogit archive/dist zips are clean. Since this repo is primarily built from a Dockerfile (notgit archive), this is optional..editorconfigenforcement in CI. The file exists but nothing checks it. Not worth wiring up unless the team wants it.failOnRisky/beStrictAboutOutputDuringTestsin phpunit.xml.dist. The config already fails on deprecations/notices/warnings; adding riskiness strictness is a further tightening that could be noisy. Current strictness level is reasonable.Caddyfile/bin/franken.sh/bin/dev.share dev conveniences shipped in the repo. Fine to keep; a full monorepo-cleanup (moving dev scripts under atools/dir) is cosmetic.composer.lockhash not pinned in CI. CI relies oncomposer install(which is correct). Adding a--strictor a lock-freshness check is overkill for a single-maintainer app.