Processes all 7 CLAUDE.md files according to the 3-bucket classification. Migration targets (CONTRIBUTING.md, docs/ARCHITECTURE.md, docs/DEPLOYMENT.md, domain READMEs) are introduced by DOC-2/4/5/6 — this PR must merge last. ### scripts/CLAUDE.md → scripts/README.md New `scripts/README.md` with full script documentation (preserving the ⚠️ destructive-operation warning on reset-db.sh). `scripts/CLAUDE.md` reduced to a pointer + "document new scripts in README.md" reminder. ### .devcontainer/CLAUDE.md → .devcontainer/README.md New `.devcontainer/README.md` with all configuration, usage, and limitations. `devcontainer/CLAUDE.md` reduced to a single pointer line. ### docs/CLAUDE.md → docs/README.md New `docs/README.md` covering the folder structure, ADR guide, infrastructure docs, and specs folder. `docs/CLAUDE.md` reduced to pointer + ADR reminder. ### ocr-service/CLAUDE.md Reduced to pointer to `ocr-service/README.md` (content migrated in DOC-6). Kept LLM reminders: single-node constraint, ALLOWED_PDF_HOSTS SSRF risk. ### backend/CLAUDE.md - Layering Rules → pointer to docs/ARCHITECTURE.md - Error Handling → pointer to CONTRIBUTING.md + reminder - Security/Permissions → pointer to docs/ARCHITECTURE.md + reminder - Package Structure → tagged TODO post-REFACTOR-1 - Fixed errors.ts path to frontend/src/lib/shared/errors.ts - Added ANNOTATE_ALL + BLOG_WRITE to permission list - Key Entities, Entity Code Style, Services → kept (Bucket-2) ### root CLAUDE.md - Stack, Infrastructure, Dev Container → pointers - Layering Rules, Error Handling, Security, OpenAPI, API Client, Date Handling, UI Components, Frontend Error Handling → pointers + reminders - Package Structure → tagged TODO post-REFACTOR-1 - Domain Model, Entity Code Style, Form Actions, Styling → kept (Bucket-2) ### frontend/CLAUDE.md - API Client Pattern, Date Handling → pointers + reminders - Key UI Components → pointer to domain READMEs - Styling, Form Actions, How to Run, Vite Proxy, i18n → kept (Bucket-2) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
Dev Container — Familienarchiv
VS Code Dev Container configuration for a pre-configured development environment. Includes Java 21, Maven, and Node.js 24 — everything needed to work on both backend and frontend.
Configuration
File: .devcontainer/devcontainer.json
Included Features
| Feature | Version | Purpose |
|---|---|---|
| Java | 21 | Spring Boot backend |
| Maven | bundled with Java feature | Build tool |
| Node.js | 24 | SvelteKit frontend |
VS Code Extensions (Auto-installed)
| Extension | Purpose |
|---|---|
vscjava.vscode-java-pack |
Java language support, debugging, testing |
vmware.vscode-spring-boot |
Spring Boot tooling |
gabrielbb.vscode-lombok |
Lombok annotation support |
humao.rest-client |
HTTP request files (for backend/api_tests/) |
Ports
8080forwarded to host — access backend athttp://localhost:8080
User
Runs as vscode user (not root) for security.
How to Use
Prerequisites
- VS Code with the Dev Containers extension installed
- Docker running locally
Open in Dev Container
- Open the project in VS Code
- Press
F1→ type "Dev Containers: Reopen in Container" - VS Code will:
- Build the container using the root
docker-compose.yml - Install Java 21, Maven, and Node 24
- Install the listed extensions
- Mount the workspace folder
- Build the container using the root
Working Inside the Container
Once inside the container, you have access to both stacks:
# Backend
cd backend
./mvnw spring-boot:run
# Frontend (in a new terminal)
cd frontend
npm install
npm run dev
The container reuses the docker-compose.yml services, so PostgreSQL and MinIO are available automatically.
Forwarding Frontend Port
The devcontainer config only forwards port 8080 by default. To access the frontend dev server (port 5173 or 3000), either:
- Add
5173toforwardPortsindevcontainer.json, or - Use the VS Code "Ports" panel to forward it dynamically
Limitations
- The devcontainer attaches to the
backendservice fromdocker-compose.yml, so it inherits those environment variables - OCR service and other containers should be started separately via
docker-compose up -d - GPU passthrough for OCR training is not configured
Customization
To add more tools or extensions, edit .devcontainer/devcontainer.json:
{
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11"
}
},
"forwardPorts": [8080, 5173, 3000]
}