diff --git a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/MEMORY.md b/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/MEMORY.md deleted file mode 100644 index 9cf8272f2..000000000 --- a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/MEMORY.md +++ /dev/null @@ -1,2 +0,0 @@ -- [PR test coverage requirement](feedback_test_coverage.md) — every PR must include tests, no exceptions -- [Fix failing tests, don't remove](feedback_fix_tests.md) — never delete a test to make CI green, fix the root cause diff --git a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_fix_tests.md b/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_fix_tests.md deleted file mode 100644 index 011af61c1..000000000 --- a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_fix_tests.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: Fix failing tests, don't remove them -description: When a test fails, fix the underlying issue or the test — never remove the test to make CI green -type: feedback ---- - -If a test fails, don't remove it — fix it. Either fix the underlying code so the test passes, or fix the test if it's wrong. - -**Why:** User explicitly corrected this behavior. Removing tests to pass CI hides bugs. - -**How to apply:** When a test fails, diagnose the root cause. If the code is wrong, fix the code. If the test assertion is wrong, fix the assertion. Never delete a test just because it's failing. diff --git a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_test_coverage.md b/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_test_coverage.md deleted file mode 100644 index 06c561bbb..000000000 --- a/.claude/projects/-home-jose-etherpad-etherpad-lite/memory/feedback_test_coverage.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: PR test coverage requirement -description: Every PR must include test coverage — regression tests for bug fixes, unit/integration tests for features -type: feedback ---- - -Every PR must include test coverage. Bug fixes need regression tests, features need unit/integration tests. - -**Why:** User explicitly requires this as a non-negotiable part of the PR workflow. - -**How to apply:** Before submitting any PR, ensure there are corresponding tests. Backend tests in `src/tests/backend/specs/`, frontend Playwright tests in `src/tests/frontend-new/specs/`. Run tests locally before pushing. diff --git a/.claude/worktrees/agent-a242cfc4 b/.claude/worktrees/agent-a242cfc4 deleted file mode 160000 index 189d3a74a..000000000 --- a/.claude/worktrees/agent-a242cfc4 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 189d3a74a85ceb4bedcf7610ee6bae10bc279272 diff --git a/.claude/worktrees/agent-a3519d24 b/.claude/worktrees/agent-a3519d24 deleted file mode 160000 index 2911c78e7..000000000 --- a/.claude/worktrees/agent-a3519d24 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2911c78e7c43b693802a55ba5747c6245f2127ed diff --git a/.claude/worktrees/agent-a6000956 b/.claude/worktrees/agent-a6000956 deleted file mode 160000 index 4226e25c4..000000000 --- a/.claude/worktrees/agent-a6000956 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4226e25c4b7b66bebef1976748cfe22a800215b4 diff --git a/.claude/worktrees/agent-a80c319f b/.claude/worktrees/agent-a80c319f deleted file mode 160000 index 3cfa36d15..000000000 --- a/.claude/worktrees/agent-a80c319f +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3cfa36d15fdb600e49e35c1fc86305f2c038833f diff --git a/.claude/worktrees/agent-a95c4e0a b/.claude/worktrees/agent-a95c4e0a deleted file mode 160000 index 2891c3979..000000000 --- a/.claude/worktrees/agent-a95c4e0a +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2891c3979ea7959951f61391fbd8045f42e82784 diff --git a/.claude/worktrees/agent-a9ef0b92 b/.claude/worktrees/agent-a9ef0b92 deleted file mode 160000 index 16a40e7d2..000000000 --- a/.claude/worktrees/agent-a9ef0b92 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 16a40e7d22392c7db9fe944c8dc6edd3640c86ee diff --git a/.claude/worktrees/agent-aa620594 b/.claude/worktrees/agent-aa620594 deleted file mode 160000 index 430ebddad..000000000 --- a/.claude/worktrees/agent-aa620594 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 430ebddad7e50f6326914d28558be36ecf228198 diff --git a/.claude/worktrees/agent-aca8794f b/.claude/worktrees/agent-aca8794f deleted file mode 160000 index 4c1a05335..000000000 --- a/.claude/worktrees/agent-aca8794f +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4c1a05335a696f73f27081b19a96fe8bc8b0bae8 diff --git a/.claude/worktrees/agent-ad831b76 b/.claude/worktrees/agent-ad831b76 deleted file mode 160000 index df09857de..000000000 --- a/.claude/worktrees/agent-ad831b76 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit df09857de71cbed771d6eddc5be10b13087c3f72 diff --git a/.claude/worktrees/agent-ad983e8c b/.claude/worktrees/agent-ad983e8c deleted file mode 160000 index 976ebb116..000000000 --- a/.claude/worktrees/agent-ad983e8c +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 976ebb116b6ab1c98d712da37698321818d74ec5 diff --git a/.claude/worktrees/agent-af8d6bb9 b/.claude/worktrees/agent-af8d6bb9 deleted file mode 160000 index fce4d05c2..000000000 --- a/.claude/worktrees/agent-af8d6bb9 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fce4d05c2f20b84c7b34f70761c8ce93feff4c5b diff --git a/.claude/worktrees/agent-afe6be83 b/.claude/worktrees/agent-afe6be83 deleted file mode 160000 index 98fd82546..000000000 --- a/.claude/worktrees/agent-afe6be83 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 98fd825466931fa56645eb1e86324addf93117ac diff --git a/.claude/worktrees/docker-fix b/.claude/worktrees/docker-fix deleted file mode 160000 index 115783d36..000000000 --- a/.claude/worktrees/docker-fix +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 115783d36a8b8c5f57f1f022be0fe7f982887f6e diff --git a/.claude/worktrees/flush-fix b/.claude/worktrees/flush-fix deleted file mode 160000 index a7c0e07d8..000000000 --- a/.claude/worktrees/flush-fix +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a7c0e07d8f83581c1e545a9ceedbeff4ac10fc15 diff --git a/.claude/worktrees/import-fix b/.claude/worktrees/import-fix deleted file mode 160000 index 9195ce0a6..000000000 --- a/.claude/worktrees/import-fix +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9195ce0a61a0043766062b6553e7e95ee3b9889c diff --git a/.gitignore b/.gitignore index 71584e76b..fbd45ade7 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ plugin_packages playwright-report state.json /src/static/oidc +.claude/ diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index d81cb6ed2..000000000 --- a/CLAUDE.md +++ /dev/null @@ -1,33 +0,0 @@ -# Claude Code Guidelines for Etherpad - -## PR Requirements - -- **Every PR must include test coverage.** Bug fixes need regression tests. New features need unit/integration tests. No exceptions. -- Backend tests go in `src/tests/backend/specs/` -- Frontend (Playwright) tests go in `src/tests/frontend-new/specs/` -- Run tests locally before submitting a PR - -## Running Tests - -```bash -# Install dependencies -pnpm install - -# Type check -pnpm run ts-check - -# Backend tests -pnpm run test - -# Frontend Playwright tests (requires running server) -pnpm run test-ui -``` - -## Project Structure - -- `src/` — main application (ep_etherpad-lite package) -- `bin/` — CLI scripts -- `admin/` — admin UI -- `ui/` — frontend UI build -- Plugin packages live in `src/plugin_packages/` -- Uses pnpm workspaces (not npm)