-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy path.gitignore
More file actions
321 lines (273 loc) · 8.91 KB
/
Copy path.gitignore
File metadata and controls
321 lines (273 loc) · 8.91 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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Test tracking (personal use, not for repo)
TEST_IMPLEMENTATION_STATUS.md
TEST_FIXTURES_IMPLEMENTATION.md
TESTING_STRATEGY.md
# Enviroment Guff
.devcontainer
poetry.lock
replit.nix
.replit
.breakpoints
.venv
.vscode
.history
cwa-wiki/
docs/*
!docs/install/
# Wiki article sources. generate-wiki.py transcludes these into wiki-src
# pages, so a doc that is ignored renders fine locally and then fails on a
# clean clone or in CI with 'no such file'. Track the markdown; keep
# ignoring everything else that lands in docs/.
!docs/*.md
.venv-activate.sh
test_venv
cwa.code-workspace
# Test Scripts
DEV
*/REFERENCE
cwa.db
gdrive.db
*.epub
# BUT allow test fixture ebooks
!tests/fixtures/**/*.epub
!tests/fixtures/**/*.mobi
!tests/fixtures/**/*.txt
!tests/fixtures/**/*.pdf
# Dev files
*.txz
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
# Python-packaging `lib/` rule above. These ship source, not build output.
!frontend/src/lib/
!frontend/src/lib/**
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# Re-include source directories accidentally matched by the broad
# Python-packaging `lib/` rule above. These ship source, not build output.
!scripts/lib/
!scripts/lib/**
# But still ignore build artifacts inside those source dirs.
scripts/lib/**/__pycache__/
scripts/lib/**/*.pyc
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
coverage.md
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
*.po~
# Django stuff:
*.log
# Rotated logs. `*.log` does not match `calibre-web.log.1` — logrotate puts the
# number AFTER the extension — so a bare-metal run's rotated log stayed
# untracked-but-visible and a `git add -A` swept 5 MB of it into a commit.
*.log.[0-9]*
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
*.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
tmp/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# Dev instance files for testing in the same folder
instance/
# Runtime migration markers created by cwa-init / ub.py.run_cwa_migrations
# inside CONFIG_DIR. These appear under repo/ when a developer points
# CONFIG_DIR at the repo root for local container runs; they're per-
# deployment state, not source.
.cwa_migrations/
# Metadata enforcement working dirs, same class as .cwa_migrations. These live
# under CONFIG_DIR (#995), and outside a container CONFIG_DIR falls back to the
# repo root -- so simply running the unit suite writes real change logs here.
# Committing one is not cosmetic: cwa-init migrates whatever it finds into the
# user's /config, and the enforcer then re-embeds that metadata into whichever
# real books hold those ids.
metadata_change_logs/
metadata_temp/
# Claude Code workspace cache (per-developer local skill state).
.claude/
# Git worktrees created inside the checkout. A worktree here is untracked, so
# it makes `git status --porcelain` non-empty, which trips the autopilot
# preflight's clean-tree gate (scripts/preflight.sh) and fails every tick until
# someone removes it. Ignoring is also strictly safer than leaving it visible:
# while untracked, a plain `git clean -fd` in the checkout would DELETE a live
# worktree along with any uncommitted work in it.
.worktrees/
# Playwright MCP capture artifacts (per-session page/console snapshots).
# These can incidentally contain auth headers, CSRF tokens, or API keys
# from whatever page was open at capture time. Never commit.
.playwright-mcp/
# Frontend build artifacts (Vite output — build-only, not source)
frontend/node_modules/
frontend/*.tsbuildinfo
frontend/*.js
frontend/*.d.ts
cps/static/app/
.spe-verification/
.spf-verification/
# Local output from the no-argument wiki generator. The published wiki is
# rendered into a temporary clone by scripts/sync-wiki.sh.
wiki-generated/
# Runtime artifacts of a BARE-METAL run from the source checkout. In Docker the
# app writes these under /config, but running `cps` directly from a clone puts
# them in the repo root. `.key` is a real secret, so an accidental `git add -A`
# by a contributor would publish it.
#
# This is not hypothetical: on 2026-08-08 an autopilot tick ran the app from the
# checkout while working on bare-metal path handling, left both files behind, and
# every subsequent tick aborted at the preflight clean-tree gate — four ticks in a
# row drained nothing before anyone noticed.
#
# Root-anchored on purpose. `empty_library/app.db` is a TRACKED file — the starter
# database auto_library.py seeds a new install from — so a bare `app.db` pattern
# would match it too. Tracked files ignore .gitignore, so nothing breaks today,
# but it would silently swallow that file the moment anyone re-added it.
/.key
/app.db
/app.db-journal
/app.db-wal
/app.db-shm
#
# Same shape, found 2026-08-17: annotation_backup.get_backup_root() resolves
# `Path(constants.CONFIG_DIR) / "annotation-backups"`, and under the unit suite
# CONFIG_DIR is the checkout, so a plain `pytest tests/unit` leaves 22 real
# gzipped annotation payloads at `<repo>/annotation-backups/<user>/<book>/`.
# Those are user highlight data, they were untracked and unignored, and any
# `git add -A` after a local test run would have committed them.
# tests/unit/test_1712_annotation_backup_not_committable.py derives the name
# from the service so this entry cannot drift away from what the code writes.
/annotation-backups/
# Raw Kobo Reading Services exchanges and pre-dispatch PATCH recovery records.
# These contain private annotation text. In Docker they live under /config;
# a bare source run falls back to the repository root, so make the entire
# private-observability parent structurally uncommittable.
.cwng-private-observability/
# Local development instance state. docker-compose.worktree.yml accepts any
# CWNG_DEV_STATE path, and pointing it inside the checkout writes databases,
# secrets, annotation backups, and repaired book copies below an unpredictable
# rig directory. Naming each known state directory has failed repeatedly, so
# keep local-dev closed by default: new children are ignored without another
# .gitignore edit. Only the Compose definitions and KOReader emulator image
# sources below are repository source and must remain committable.
/local-dev/*
!/local-dev/private-e2e-rig.sh
!/local-dev/docker-compose.koreader.yml
!/local-dev/docker-compose.worktree.yml
!/local-dev/koreader-emulator/
/local-dev/koreader-emulator/*
!/local-dev/koreader-emulator/Dockerfile
!/local-dev/koreader-emulator/entrypoint.sh