From 2c379688042d3d91d91f7a2c410a792a99d43d37 Mon Sep 17 00:00:00 2001 From: Shehab ElHadidy Date: Fri, 8 May 2026 01:14:19 +0800 Subject: [PATCH 1/5] fix: add export-ignore rules to exclude dev files from release archives --- .gitattributes | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.gitattributes b/.gitattributes index 6313b56..2ec7e37 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,31 @@ * text=auto eol=lf + +# ─── Export rules: exclude development-only files from release archives ─── +# GitHub release zips use `git archive` which respects these rules. +# `git clone` is unaffected — developers get the full source tree. + +# Documentation site (available on GitHub Pages) +docs/ export-ignore + +# Development scripts and tests +scripts/ export-ignore +!scripts/lib/ export-ignore + +# CI/CD workflows +.github/ export-ignore + +# Project-scoped runtime files +state/ export-ignore +handoff/ export-ignore + +# Evaluation harness +evals/ export-ignore + +# Development tooling config +.markdownlint.json export-ignore +.markdownlintignore export-ignore +.gitignore export-ignore + +# Release automation +release-please-config.json export-ignore +.release-please-manifest.json export-ignore From 86925dd36dbd87fc43c4da8731f4f7e0e67c385d Mon Sep 17 00:00:00 2001 From: Shehab ElHadidy Date: Fri, 8 May 2026 01:15:58 +0800 Subject: [PATCH 2/5] fix: use explicit export-ignore rules (no negation support) --- .gitattributes | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/.gitattributes b/.gitattributes index 2ec7e37..facc994 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,27 +1,47 @@ * text=auto eol=lf -# ─── Export rules: exclude development-only files from release archives ─── -# GitHub release zips use `git archive` which respects these rules. -# `git clone` is unaffected — developers get the full source tree. +# ─── Export-ignore: exclude development files from GitHub release archives ─── +# git clone is unaffected — developers get the full source tree. # Documentation site (available on GitHub Pages) docs/ export-ignore -# Development scripts and tests -scripts/ export-ignore -!scripts/lib/ export-ignore - # CI/CD workflows .github/ export-ignore -# Project-scoped runtime files +# Evaluation harness (internal testing) +evals/ export-ignore + +# Project-scoped runtime state state/ export-ignore handoff/ export-ignore -# Evaluation harness -evals/ export-ignore - -# Development tooling config +# Test fixtures +scripts/fixtures/ export-ignore + +# Root-level scripts (keep scripts/lib/ for installer deps) +scripts/assess-risk-path.js export-ignore +scripts/assess-risk-path.test.js export-ignore +scripts/check-context-size.js export-ignore +scripts/compare-eval-trend.js export-ignore +scripts/doctor.js export-ignore +scripts/eval-harness.test.js export-ignore +scripts/external-link-allowlist.json export-ignore +scripts/generate-handoff.js export-ignore +scripts/generate-handoff.test.js export-ignore +scripts/test-installer.js export-ignore +scripts/test-npx-integrity.js export-ignore +scripts/validate-agents.js export-ignore +scripts/validate-agents.test.js export-ignore +scripts/validate-changelog-labels.js export-ignore +scripts/validate-changelog-labels.test.js export-ignore +scripts/validate-command-matrices.js export-ignore +scripts/validate-docs.js export-ignore +scripts/validate-docs.test.js export-ignore +scripts/validate-session-state.js export-ignore +scripts/validate-session-state.test.js export-ignore + +# Dev tooling configs .markdownlint.json export-ignore .markdownlintignore export-ignore .gitignore export-ignore From e7d7f5b091a7429538c74c41c634dfed9bc5f6b6 Mon Sep 17 00:00:00 2001 From: Shehab ElHadidy Date: Fri, 8 May 2026 01:24:28 +0800 Subject: [PATCH 3/5] fix: simplify export-ignore with wildcard patterns and add package-lock.json --- .gitattributes | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/.gitattributes b/.gitattributes index facc994..c222e5f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16,36 +16,15 @@ evals/ export-ignore state/ export-ignore handoff/ export-ignore -# Test fixtures +# Scripts — exclude validation, tests, doctor, fixtures (keep scripts/lib/ for installer deps) +scripts/*.js export-ignore +scripts/*.json export-ignore scripts/fixtures/ export-ignore -# Root-level scripts (keep scripts/lib/ for installer deps) -scripts/assess-risk-path.js export-ignore -scripts/assess-risk-path.test.js export-ignore -scripts/check-context-size.js export-ignore -scripts/compare-eval-trend.js export-ignore -scripts/doctor.js export-ignore -scripts/eval-harness.test.js export-ignore -scripts/external-link-allowlist.json export-ignore -scripts/generate-handoff.js export-ignore -scripts/generate-handoff.test.js export-ignore -scripts/test-installer.js export-ignore -scripts/test-npx-integrity.js export-ignore -scripts/validate-agents.js export-ignore -scripts/validate-agents.test.js export-ignore -scripts/validate-changelog-labels.js export-ignore -scripts/validate-changelog-labels.test.js export-ignore -scripts/validate-command-matrices.js export-ignore -scripts/validate-docs.js export-ignore -scripts/validate-docs.test.js export-ignore -scripts/validate-session-state.js export-ignore -scripts/validate-session-state.test.js export-ignore - # Dev tooling configs -.markdownlint.json export-ignore -.markdownlintignore export-ignore +.markdownlint* export-ignore .gitignore export-ignore +package-lock.json export-ignore # Release automation -release-please-config.json export-ignore -.release-please-manifest.json export-ignore +release-please* export-ignore From 6161908c98f1b07226365d0f6a2768c8d42a0b99 Mon Sep 17 00:00:00 2001 From: Shehab ElHadidy Date: Fri, 8 May 2026 01:24:53 +0800 Subject: [PATCH 4/5] fix: correct release-please pattern to match dot-prefixed files --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index c222e5f..5cdcb00 100644 --- a/.gitattributes +++ b/.gitattributes @@ -27,4 +27,4 @@ scripts/fixtures/ export-ignore package-lock.json export-ignore # Release automation -release-please* export-ignore +.release-please* export-ignore From 39bdd914d41629c41dd47bfad72c1bee56342e48 Mon Sep 17 00:00:00 2001 From: Shehab ElHadidy Date: Fri, 8 May 2026 01:25:21 +0800 Subject: [PATCH 5/5] fix: use broader wildcard for release-please files --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 5cdcb00..a9c62f5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -27,4 +27,4 @@ scripts/fixtures/ export-ignore package-lock.json export-ignore # Release automation -.release-please* export-ignore +*release-please* export-ignore