build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

build(devcontainer): migrate onto the shared devbase Feature - #359

Merged
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration
Aug 29, 2026
Merged

build(devcontainer): migrate onto the shared devbase Feature#359
KaiSchwarz-cnic merged 1 commit into
masterfrom
RSRMID-3019/devbase-migration

Conversation

@KaiSchwarz-cnic

@KaiSchwarz-cnicKaiSchwarz-cnic commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Part of RSRMID-3019 — the last six repositories still carrying a hand-maintained devcontainer move onto the shared devbase Feature, as php-sdk did in RSRMID-2976.

What moves out

post-create.sh cloned powerlevel10k and zsh-autosuggestions on every container create, copied in .zshrc/.p10k.zsh, and installed pnpm and commitizen by hand. All of that is devbase's job now, and the script is gone. Node LTS, the GitHub CLI and the Claude Code CLI are devbase's own dependencies, so this frame declares none of them.

What stays

The JDK moves out of the language image and into the java Feature at 21 — the LTS the devcontainers/java image supplied — with Maven. pom.xml still compiles to 17, so the runtime is deliberately ahead of the language level; say the word if the CI matrix wants a different major.

Everything else left in devcontainer.json is what a Feature cannot set: the workspace paths, the remote user, initializeCommand and the host mounts. ~/.ssh, ~/.gitconfig and ~/.claude are new alongside the /WSL_USER mount that was already there.

Note on the lock file

devcontainer-lock.json is deleted rather than edited — it pinned the node, git and java Features as the old frame declared them. The first rebuild resolves a fresh one; please commit it afterwards.

Verification

Not rebuilt yet — no Docker daemon in the workspace this was prepared from. Before merging, rebuild and check: the prompt renders, devbase-env-info reports the JDK, Maven and Node, cz --version works, git push authenticates through gh, and mvn test runs.

🤖 Generated with Claude Code

The zsh prompt configuration, commitizen setup, pnpm bootstrap, shell history
symlink and the common CLI packages now come from the devbase Feature, which
also brings Node LTS, the GitHub CLI and the Claude Code CLI as its own
dependencies. post-create.sh did all of that by hand — cloning powerlevel10k and
zsh-autosuggestions on every create — and is gone.
The JDK moves out of the language image and into the java Feature at 21, the LTS
the image supplied; pom.xml still compiles to 17, so the runtime is deliberately
ahead of the language level. Maven comes with it.
devcontainer-lock.json is deleted rather than edited: it pinned the node, git and
java Features as the frame declared them before. The first rebuild resolves a
fresh one, which should then be committed.
RSRMID-3019
@KaiSchwarz-cnic
KaiSchwarz-cnic merged commit 5b3ae47 into masterAug 29, 2026
5 checks passed
@KaiSchwarz-cnic
KaiSchwarz-cnic deleted the RSRMID-3019/devbase-migration branch August 29, 2026 14:33
Sign up for freeto 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.

1 participant

@KaiSchwarz-cnic