Skip to content

chore: clean up the repository root - #84

Merged
devondragon merged 4 commits into
mainfrom
chore/root-cleanup
Aug 15, 2026
Merged

chore: clean up the repository root#84
devondragon merged 4 commits into
mainfrom
chore/root-cleanup

Conversation

@devondragon

Copy link
Copy Markdown
Owner

Mirrors the root-directory cleanup just done on the SpringUserFramework library repo. Same tiers, same keep-at-root rules.

Tier 1 — local junk (no commit; untracked/ignored only)

  • Deleted the stale Eclipse output tree bin/ (gitignored, never regenerated by Gradle).
  • Deleted the empty untracked config/ directory.

No .gitignore additions were needed: bin/, build/, .gradle/, playwright/node_modules/, playwright/reports/ and the AI-dump filenames (repomix-output.txt, project_concatenated.txt) are already covered, and the app logs to /opt/app/logs, not into the repo.

Tier 2 — vestigial tracked file

  • Removed test-data.sql. Its three event rows are already seeded by src/main/resources/data-local.sql, which is what the local and playwright-test profiles actually load. Nothing in the build, application config, workflows, or the Playwright suite referenced it.

Tier 3 — auxiliary docs moved to docs/

  • HELP.mddocs/HELP.md (Spring Initializr boilerplate; its links still point at the Spring Boot 2.4.2 reference docs while this app is on Boot 4.1.0).
  • TEST-ANALYSIS.mddocs/TEST-ANALYSIS.md, and the 18 @Disabled annotations in src/test that point readers at it now say docs/TEST-ANALYSIS.md.

Kept at root: README.md, CHANGELOG.md, LICENSE, CLAUDE.md (Claude Code reads it at root), and CONFIG.md.

CONFIG.md is the judgment call. It is this repo's setup reference, linked from the README, and GitHub does not redirect moved files — the library repo kept its own CONFIG.md and MIGRATION.md at root for exactly that reason, so this mirrors it. Easy to move later if you'd rather.

Tier 4 — stray script moved to scripts/

  • run.shscripts/run.sh; README.md and CLAUDE.md now say ./scripts/run.sh.
  • The script gains a shebang, set -euo pipefail, an executable bit (it was mode 644, so the documented ./run.sh would have failed with permission denied), and a cd to the repo root so the relative ./gradlew and build/libs paths resolve from any cwd.

Not moved, per the framework repo's RELEASE-TESTING.md runbook which references these paths cross-repo, or because a workflow depends on the current path: compose.yaml, compose.dev.yaml, docker-compose-keycloak.yml, Dockerfile, keycloak.env, mailserver.env, keycloak/, playwright/, the Gradle wrapper, build.gradle, settings.gradle, mise.toml.

Tier 5 — IDE state

No .idea/ in this repo. .vscode/tasks.json stays tracked, as decided.

.gitignore had a blanket .vscode/ rule that contradicted the tracked tasks.json; replaced with .vscode/* plus a !.vscode/tasks.json negation so the rules match reality. Added .idea/ and *.iml so IntelliJ state cannot land by accident.

Validation

  • ./gradlew test — BUILD SUCCESSFUL, 301 tests, 0 failures, 0 errors (182 pre-existing @Disabled, 119 passing). Same counts as main.
  • Re-grepped every moved/deleted filename across the repo including dotfiles: zero stale references. CHANGELOG.md historical prose left as written.
  • Playwright gate skipped: nothing under playwright/, nothing referenced by playwright/playwright.config.ts, and nothing in the app's runtime resources changed. CI runs the full E2E suite on this PR anyway.

The three event rows it inserted are already seeded by
src/main/resources/data-local.sql (INSERT IGNORE INTO events), which is
what the local and playwright-test profiles actually load. Nothing in the
build, application config, workflows, or Playwright suite referenced
test-data.sql.
HELP.md (Spring Initializr boilerplate) and TEST-ANALYSIS.md (a one-off
test triage report) are reference material, not entry points, so they move
out of the root listing. README.md, CHANGELOG.md, CONFIG.md, CLAUDE.md and
LICENSE stay at root: the first three are linked from the README and are
the docs external links land on, and Claude Code reads CLAUDE.md at root.

The 18 @disabled annotations in src/test that point readers at
TEST-ANALYSIS.md now say docs/TEST-ANALYSIS.md.
The only stray helper script at the root. Invocations in README.md and
CLAUDE.md now say ./scripts/run.sh. The script gains a shebang, set -euo
pipefail, an executable bit (it was mode 644, so the documented ./run.sh
would have failed with permission denied), and a cd to the repo root so
the relative ./gradlew and build/libs paths resolve from any cwd.
.vscode/tasks.json is tracked and shared, but a blanket .vscode/ rule
claimed the opposite; replaced with .vscode/* plus a !.vscode/tasks.json
negation so the tracked file matches the rules. Also added .idea/ and
*.iml so IntelliJ state cannot get committed by accident.
Copilot AI lite review requested due to automatic review settings August 15, 2026 05:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR cleans up the repository root to align with the upstream SpringUserFramework repo’s layout, removing vestigial tracked files and moving auxiliary documentation/scripts into more appropriate locations while updating references.

Changes:

  • Removed obsolete root-level artifacts (e.g., test-data.sql) and updated disabled-test pointers to the moved test analysis doc.
  • Moved/added auxiliary docs under docs/ and updated root references (tests, README).
  • Replaced the root run.sh with scripts/run.sh, updating documentation accordingly, and refined .gitignore to match tracked VS Code config and ignore IDE state.

Reviewed changes

Copilot reviewed 20 out of 23 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test-data.sql Deleted obsolete SQL seed file from repo root.
src/test/java/com/digitalsanctuary/spring/user/security/EmailVerificationEdgeCaseTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/security/AuditLoggingIntegrationTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/oauth2/GoogleOAuth2IntegrationTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/integration/SecurityConfigurationTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/integration/AuthenticationIntegrationTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/concurrent/AdminUserManagementTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/UserRegistrationEdgeCaseTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/UserRegistrationCoreTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/UserRegistrationComprehensiveTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/UserApiTest.java Updated multiple @Disabled references to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/PasswordResetCompletionTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/PasswordResetApiTestSimplified.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/PasswordResetApiTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/AuthenticatedUserApiTestSimplified.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
src/test/java/com/digitalsanctuary/spring/user/api/ApiSecurityTest.java Updated @Disabled reference to docs/TEST-ANALYSIS.md.
scripts/run.sh Added a new run script under scripts/ for building/running with JDWP.
run.sh Removed the old root-level run script.
README.md Updated documented run script path to ./scripts/run.sh.
docs/TEST-ANALYSIS.md Added/moved test analysis document under docs/.
docs/HELP.md Added/moved Spring Initializr boilerplate help under docs/.
CLAUDE.md Updated documented run script path to ./scripts/run.sh.
.gitignore Adjusted .vscode ignore rules to keep tracked tasks.json; added IntelliJ ignores.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/run.sh
cd "$(dirname "$0")/.."

./gradlew bootJar
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:6332 -jar build/libs/ds-spring-user-framework-demo-1.0.1-SNAPSHOT.jar --spring.profiles.active=local
@devondragon
devondragon merged commit 738a517 into main Aug 15, 2026
9 checks passed
@devondragon
devondragon deleted the chore/root-cleanup branch August 15, 2026 05:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants