Add Dev Containers for local IDE and Codespaces - #2539
Draft
dadoonet wants to merge 7 commits into
Draft
Conversation
- Capture approved architecture: JDK 25, DooD, start-local ES-only - Document Codespaces + local Dev Containers workflow and docs scope Co-authored-by: David Pilato <david@pilato.fr>
- Task breakdown for extract script, post-create, JSON, and docs - Include verification steps and spec coverage map Co-authored-by: David Pilato <david@pilato.fr>
…ocal - Read root pom.xml property for Dev Container post-create - Support xmllint with sed fallback Co-authored-by: David Pilato <david@pilato.fr>
- Start ES-only via Elastic start-local under IGNORE_ME/ - Fail fast when Docker is unavailable; skip if ES already up - Run mvn dependency:go-offline and print IT hints Co-authored-by: David Pilato <david@pilato.fr>
- Use microsoft/devcontainers java:25 with Maven and DooD - Forward ES 9200 and optional Kibana 5601 - Wire postCreateCommand to start-local + Maven warm-up Co-authored-by: David Pilato <david@pilato.fr>
- Add Codespaces badge to build guide - Describe post-create, start-local ES-only, IT flags, optional Kibana Co-authored-by: David Pilato <david@pilato.fr>
- Skip start-local when ES is already up, then continue Maven warm-up - Exit non-zero on Docker/start-local failure instead of masking it Co-authored-by: David Pilato <david@pilato.fr>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Adds a shared Dev Container configuration so contributors can develop FSCrawler in VS Code, Cursor, or GitHub Codespaces with JDK 25, Maven, Docker-outside-of-Docker, and Elasticsearch via Elastic start-local (ES-only by default).
Status: Implementation complete (Tasks 1–4).
Changes
.devcontainer/devcontainer.json— Microsoft Java 25 image, Maven, Docker-outside-of-Docker, port forwards for Elasticsearch (9200) and optional Kibana (5601), Java/Maven VS Code extensions,postCreateCommand.post-create.sh— EnsuresIGNORE_ME/exists; skips start-local if Elasticsearch is already up; otherwise bootstraps or reuses start-local underIGNORE_ME/elastic-start-local/with passwordchangemeand version frompom.xml(--esonly); warms Maven withdependency:go-offline; prints IT command usingES_LOCAL_API_KEY.extract-es-version.sh— Reads<elasticsearch.version>from rootpom.xml(xmllint or sed fallback).Documentation
docs/source/dev/build.md— Codespaces badge, Dev Containers / Codespaces section (prerequisites, post-create behavior, build/IT commands, optional Kibana).Design & plan
docs/superpowers/specs/2026-09-04-devcontainers-design.mddocs/superpowers/plans/2026-09-04-devcontainers.mdVerification (automated)
All checks passed on branch
cursor/add-devcontainers-ab5d:Test plan
extract-es-version.shprints<elasticsearch.version>from rootpom.xml(9.5.2)devcontainer.jsonJSONbash -nonpost-create.sh:9200and warms Maven depsSpec coverage
IGNORE_ME/pom.xmldependency:go-offline.devcontainer/