-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitignore
More file actions
188 lines (166 loc) · 5.73 KB
/
Copy path.gitignore
File metadata and controls
188 lines (166 loc) · 5.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
/.idea/
/*.iml
*.Identifier
.phphunit.result.cache
/vendor/
/vendor-bin/*/vendor/
/.php-cs-fixer.cache
/tests/.phpunit.cache
/.phpunit.cache
.phpunit.cache/
# No trailing slash, deliberately. A pattern ending in `/` matches a DIRECTORY
# only, so `node_modules` created as a SYMLINK (what you get when you point a
# git worktree at a sibling checkout's install) is not ignored and lands in
# `git add -A`. That is how a symlink to one machine's absolute path reached
# this repository. Slashless patterns match a symlink too.
/node_modules
/website/node_modules
/website/.docusaurus/
/js/
/custom_apps/
/config/
/coverage/
/coverage-frontend/
# Quality reports
/quality-reports/
quality-baseline.json
/phpmetrics/
/phpmetrics-deps/
# PHPCS/Psalm output files (not config files)
phpcs-*.json
phpcs-*.txt
psalm-errors.json
psalm-output.json
psalm-full-output.json
phpqa_output.log
# Data files
*.csv
*.xls
*.xlsx
# Files with unusual extensions or no extensions that could be mistakes
**/PR *
**/adds *
**/implements *
**/ALL *
**/endpoints *
#
# SOURCE-EXTENSION NEGATIONS. Every substring glob in this block is meant to
# catch stray agent scratch files with no extension ("PR adds …", "endpoints
# …"). Left unqualified they also swallow real source, silently: `git add`
# says nothing, the file never reaches a commit, and the first symptom is a
# fatal error in CI on a class that is simply absent.
#
# This is not hypothetical here — the repo already lost this argument once.
# `**/*references*` swallowed src/components/userSettings/userPreferences.js
# and *PreferencesSection.vue (observed 2026-06-12, user-settings-v1) because
# "Preferences" embeds "references".
#
# MEASURED 2026-08-09, on this tree, with the only instruments that answer
# honestly — `git ls-files --others --exclude-standard` and
# `git status --porcelain --ignored`. (`git check-ignore -q` is NOT usable
# here: it exits 0 when a NEGATION matches, so it reports a path as ignored
# after it has been rescued.) Four plausible source names were created and
# their real status read back:
#
# lib/Service/VotingAnalysisService.php !! IGNORED <- **/*Analysis*
# src/utils/updateUserSettings.js !! IGNORED <- **/update*Settings*
# lib/Service/encodingHelper.php !! IGNORED <- **/*encoding*
# src/utils/dataAnalysisChart.vue !! IGNORED <- **/*Analysis*
#
# The negations below pair each glob with the source extensions this repo
# actually ships, matching the reference treatment in openregister/.gitignore.
# A negation cannot resurrect a file inside an ignored DIRECTORY, but every
# glob here matches files, so each one takes effect.
**/*Analysis*
# Junk note files named "references ..." — anchored to the filename START so
# legitimate sources containing "…Preferences…" (which embeds the substring
# "references") are not silently ignored. Observed 2026-06-12: the old
# `**/*references*` pattern swallowed src/components/userSettings/
# userPreferences.js + *PreferencesSection.vue (user-settings-v1).
**/references*
**/*encoding*
**/ter
**/clearCache*
**/update*Settings*
**/rebase*
**/setup*
# Rescue real source from every substring glob above. Keep this list in sync
# with the extensions the repo ships; a new source extension needs a new line.
!**/*.php
!**/*.js
!**/*.ts
!**/*.vue
!**/*.json
!**/*.md
!**/*.css
!**/*.scss
!**/*.xml
!**/*.yml
!**/*.yaml
# Temporary test files that shouldn't be committed
simple-solr-test.php
test-solr-connection.php
# Files with unusual extensions or no extensions that could be mistakes
**/PR *
**/adds *
**/implements *
phpqa/
# Docker AI models (too large for git)
docker/dolphin/models/
# Issues folder should be tracked
!issues/
!issues/**
/docusaurus/node_modules/
/docusaurus/build/
/docusaurus/.docusaurus/
# Docusaurus documentation site (docs/ — journeydoc / ADR-030)
/docs/node_modules/
/docs/build/
/docs/.docusaurus/
/docs/.cache-loader/
# Generated translation files — re-enable when a Dutch translation pass ships
/docs/i18n/nl/
# Playwright (journeydoc capture + future e2e)
/tests/e2e/.auth/
/tests/e2e/test-results/
/tests/e2e/playwright-report/
/playwright-report/
/playwright/.cache/
# AI pipeline prompt files — must not be tracked to prevent prompt injection via PRs
.specter-prompt.txt
# Test screenshots — images generated by browser test commands (test-app, run-test-scenario)
# Only images are ignored; markdown reports and scenario files are kept in git.
test-results/**/*.png
test-results/**/*.jpg
test-results/**/*.jpeg
test-results/**/*.gif
test-results/**/*.webp
openspec/test-site-results/**/*.png
openspec/test-site-results/**/*.jpg
openspec/test-site-results/**/*.jpeg
openspec/test-site-results/**/*.gif
openspec/test-site-results/**/*.webp
/coverage-vitest/
# SBOM is generated per run and published as the sbom-<app> workflow artifact
# and a stable-release asset — never stored in the repo (hydra sbom-generation
# spec; ConductionNL/.github#572).
sbom.cdx.json
bom-php.cdx.json
bom-npm.cdx.json
# Agent/test scratch and tool caches — generated, never source.
# Added by the 2026-08-25 fleet hygiene sweep (ADR-100 Decision 2).
.stale/
/.e2e-state/
.phpunit.result.cache
test-results/
# Build and test transcripts written at the repo ROOT by local tooling. These
# were tracked, so every local build produced a commit-shaped diff, and every
# such commit triggered the full Code Quality suite — 34 jobs deciding a
# changed log file. Root-anchored on purpose: .claude/skills/*/examples/*.log
# are gate FIXTURES, not artefacts, and must stay tracked.
/*.log
/changed.tsv
# Claude Code's per-machine settings — permissions and local overrides, never
# shared. It has to sit AFTER the `!**/*.json` rescue above, which otherwise
# re-includes it and makes a machine-local file committable.
/.claude/settings.local.json