Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e818f79
docs(claude-dev): 📝 mention helpers4-common's automatic git-config se…
baxyz Sep 6, 2026
7726a0c
docs(mistral-dev): 📝 mention helpers4-common's automatic git-config s…
baxyz Sep 6, 2026
67d2da9
docs(git-absorb): 📝 mention helpers4-common's automatic git-config se…
baxyz Sep 6, 2026
827dd19
docs(auto-header): 📝 mention helpers4-common's automatic git-config s…
baxyz Sep 6, 2026
62b5df7
docs(vite-plus): 📝 mention helpers4-common's automatic git-config sel…
baxyz Sep 6, 2026
9d71581
docs(peon-ping): 📝 mention helpers4-common's automatic git-config sel…
baxyz Sep 6, 2026
671acb2
docs(angular-dev): 📝 mention helpers4-common's automatic git-config s…
baxyz Sep 6, 2026
14624da
docs(pnpm-store): 📝 mention helpers4-common's automatic git-config se…
baxyz Sep 6, 2026
1e29c36
docs(playwright-dev): 📝 mention helpers4-common's automatic git-confi…
baxyz Sep 6, 2026
fc3d219
docs(package-auto-install): 📝 mention helpers4-common's automatic git…
baxyz Sep 6, 2026
e96d4d0
docs(shell-history-per-project): 📝 mention helpers4-common's automati…
baxyz Sep 6, 2026
4f87899
docs(nub): 📝 mention helpers4-common's automatic git-config self-heal
baxyz Sep 6, 2026
4e8469b
docs(essential-dev): 📝 mention helpers4-common's automatic git-config…
baxyz Sep 6, 2026
bc48471
docs(bitwarden-secrets-manager): 📝 mention helpers4-common's automati…
baxyz Sep 6, 2026
82d5647
docs(dotfiles-sync): 📝 mention helpers4-common's automatic git-config…
baxyz Sep 6, 2026
88fc6b2
docs(CI-CD): 📝 update feature table versions for the self-heal mentio…
baxyz Sep 6, 2026
27910e6
docs(angular-dev): 📝 refine self-heal wording to stay vague and read …
baxyz Sep 7, 2026
a680b7e
docs(claude-dev): 📝 refine self-heal wording to stay vague and read m…
baxyz Sep 7, 2026
3d2bd89
docs(dotfiles-sync): 📝 refine self-heal wording to stay vague and rea…
baxyz Sep 7, 2026
0aef5f2
docs(git-absorb): 📝 refine self-heal wording to stay vague and read m…
baxyz Sep 7, 2026
afbd4d2
docs(mistral-dev): 📝 refine self-heal wording to stay vague and read …
baxyz Sep 7, 2026
4b25220
docs(nub): 📝 refine self-heal wording to stay vague and read more nat…
baxyz Sep 7, 2026
c94f300
docs(peon-ping): 📝 refine self-heal wording to stay vague and read mo…
baxyz Sep 7, 2026
b63aa78
docs(playwright-dev): 📝 refine self-heal wording to stay vague and re…
baxyz Sep 7, 2026
9d4adfb
docs(pnpm-store): 📝 refine self-heal wording to stay vague and read m…
baxyz Sep 7, 2026
33ac492
docs(auto-header): 📝 refine self-heal wording and fix version-tag inc…
baxyz Sep 7, 2026
866be5b
docs(package-auto-install): 📝 refine self-heal wording and fix a brok…
baxyz Sep 7, 2026
4b97ed7
docs(shell-history-per-project): 📝 refine self-heal wording and drop …
baxyz Sep 7, 2026
2e89b47
docs(vite-plus): 📝 refine self-heal wording and fix a dead feature re…
baxyz Sep 7, 2026
bfeb0cd
docs(essential-dev): 📝 align version, refine wording, and fix stale r…
baxyz Sep 7, 2026
c7cf25a
docs(bitwarden-secrets-manager): 📝 align version and refine self-heal…
baxyz Sep 7, 2026
59e9797
docs(CI-CD): 📝 fix feature table versions for essential-dev and bitwa…
baxyz Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,25 +28,25 @@ devcontainer features test .
| Feature | Ver | Description |
| ------- | --- | ----------- |
| `helpers4-common` | 1.1.0 | Bootstrap: `common.sh` (user detection, apt helpers, cloud-env detection) + automatic git-config self-heal on every attach — all features depend on this |
| `essential-dev` | 1.0.9 | Git visualization, editor enhancements, Markdown |
| `essential-dev` | 1.2.0 | Git visualization, editor enhancements, Markdown |
| `github-dev` | 1.0.5 | gh CLI, Copilot Chat, PR/Issues/Actions extensions |
| `copilot-dev` | 1.0.3 | Copilot Chat + AI instructions (commits, PRs, code review) |
| `claude-dev` | 1.1.0 | Claude Code extension + CLI + `~/.claude` named-volume persistence (credentials + memory) |
| `mistral-dev` | 1.1.0 | Mistral Vibe extension + `~/.vibe` named-volume persistence |
| `claude-dev` | 1.2.0 | Claude Code extension + CLI + `~/.claude` named-volume persistence (credentials + memory) |
| `mistral-dev` | 1.2.0 | Mistral Vibe extension + `~/.vibe` named-volume persistence |
| `cline-dev` | 1.0.0 | Cline extension (`saoudrizwan.claude-dev`) + optional CLI, no credential persistence |
| `nub` | 1.1.0 | Fast TS/JS/script runner on top of existing node+package-manager (dependsOn node) |
| `nub` | 1.2.0 | Fast TS/JS/script runner on top of existing node+package-manager (dependsOn node) |
| `typescript-dev` | 1.0.7 | TS/JS dev, import management (dependsOn essential-dev) |
| `angular-dev` | 1.1.0 | Angular dev, port 4200 |
| `vite-plus` | 1.1.0 | vp CLI, Oxlint/Oxfmt, Vitest |
| `package-auto-install` | 1.1.0 | Auto-detect and install packages (npm/yarn/pnpm/nub) |
| `playwright-dev` | 1.1.0 | Playwright OS deps (Chromium/Firefox/WebKit) + shared browser-binary volume + VS Code extension |
| `pnpm-store` | 1.1.0 | Shared pnpm store via Docker named volume (dependsOn helpers4-common) |
| `auto-header` | 1.1.0 | LGPL-3.0 license headers |
| `git-absorb` | 1.1.0 | git-absorb from GitHub releases |
| `bitwarden-secrets-manager` | 1.0.0 | `bws` CLI from bitwarden/sdk-sm GitHub releases, token-only auth, no persisted state |
| `dotfiles-sync` | 1.1.0 | Sync Git/SSH/GPG/npm/gh config from host; SSH key files opt-in (dependsOn helpers4-common) |
| `peon-ping` | 1.1.0 | AI agent sound notifications |
| `shell-history-per-project` | 1.1.0 | Persistent shell history (zsh/bash/fish) |
| `angular-dev` | 1.2.0 | Angular dev, port 4200 |
| `vite-plus` | 1.2.0 | vp CLI, Oxlint/Oxfmt, Vitest |
| `package-auto-install` | 1.2.0 | Auto-detect and install packages (npm/yarn/pnpm/nub) |
| `playwright-dev` | 1.2.0 | Playwright OS deps (Chromium/Firefox/WebKit) + shared browser-binary volume + VS Code extension |
| `pnpm-store` | 1.2.0 | Shared pnpm store via Docker named volume (dependsOn helpers4-common) |
| `auto-header` | 1.2.0 | LGPL-3.0 license headers |
| `git-absorb` | 1.2.0 | git-absorb from GitHub releases |
| `bitwarden-secrets-manager` | 1.2.0 | `bws` CLI from bitwarden/sdk-sm GitHub releases, token-only auth, no persisted state |
| `dotfiles-sync` | 1.2.0 | Sync Git/SSH/GPG/npm/gh config from host; SSH key files opt-in (dependsOn helpers4-common) |
| `peon-ping` | 1.2.0 | AI agent sound notifications |
| `shell-history-per-project` | 1.2.0 | Persistent shell history (zsh/bash/fish) |

**Adding a new feature — checklist:**

Expand Down
7 changes: 7 additions & 0 deletions src/angular-dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

Angular-specific development environment with VS Code extensions and CLI autocompletion.

> **Also included automatically:** helpers4's self-heal mechanism, working on both local and
> cloud containers. It does its best to fix broken paths and a missing commit-signing key, with
> nothing to set up on your end. It comes from this feature's dependency on `helpers4-common` —
> you never need to add that feature yourself.

## Features

- **VS Code extensions**: Essential Angular development extensions pre-installed
Expand Down Expand Up @@ -166,6 +171,8 @@ If `ng` command is not available:

## Version History

- **v1.2.0**: Documentation only, no functional change — mentions that `helpers4-common`'s
automatic git-config self-heal (see above) now comes along with this feature.
- **v1.1.0**: Switched from an inline copy of `helpers4-common`'s bootstrap (user detection, apt
helpers) to a direct `dependsOn` on the `helpers4-common` feature — no behavior change, just a
single source of truth for that logic instead of a copy every feature had to keep in sync.
4 changes: 2 additions & 2 deletions src/angular-dev/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "angular-dev",
"version": "1.1.0",
"version": "1.2.0",
"name": "Angular Development Environment",
"description": "Angular-specific development environment with port forwarding, VS Code extensions, and CLI autocompletion.",
"description": "Angular-specific development environment with port forwarding, VS Code extensions, and CLI autocompletion. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/angular-dev",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": ["helpers4", "angular", "typescript", "cli"],
Expand Down
21 changes: 14 additions & 7 deletions src/auto-header/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

Automatically configures VS Code with customizable file headers based on your project's license, company, and team information.

> **Also included automatically:** helpers4's self-heal mechanism, working on both local and
> cloud containers. It does its best to fix broken paths and a missing commit-signing key, with
> nothing to set up on your end. It comes from this feature's dependency on `helpers4-common` —
> you never need to add that feature yourself.

## Features

✨ **Two header styles**:
Expand All @@ -28,7 +33,7 @@ If you use a minimal base image (e.g. `ubuntu:latest`), add `common-utils` first
{
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {},
"ghcr.io/helpers4/devcontainer/auto-header:latest": { ... }
"ghcr.io/helpers4/devcontainer/auto-header:1": { ... }
}
}
```
Expand All @@ -42,7 +47,7 @@ Add to your `.devcontainer/devcontainer.json`:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"projectName": "my-awesome-project",
"license": "MIT",
"company": "Acme Corp",
Expand All @@ -65,7 +70,7 @@ This generates headers like:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"headerType": "custom",
"projectName": "my-awesome-project",
"customHeaderLines": "/**\n * @project my-awesome-project\n * @author Team\n * @license MIT\n */"
Expand Down Expand Up @@ -106,7 +111,7 @@ This command:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"projectName": "helpers4-typescript",
"license": "LGPL-3.0",
"company": "helpers4",
Expand All @@ -122,7 +127,7 @@ This command:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"projectName": "enterprise-app",
"license": "Apache-2.0",
"company": "ACME Industries",
Expand All @@ -137,7 +142,7 @@ This command:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"headerType": "custom",
"projectName": "my-lib",
"license": "LGPL-3.0-or-later",
Expand Down Expand Up @@ -177,7 +182,7 @@ Add `postCreateCommand` to auto-initialize:
```json
{
"features": {
"ghcr.io/helpers4/devcontainer/auto-header:latest": {
"ghcr.io/helpers4/devcontainer/auto-header:1": {
"projectName": "my-project",
"license": "MIT"
}
Expand Down Expand Up @@ -267,6 +272,8 @@ Licensed under LGPL-3.0 - see LICENSE file for details

## Version History

- **v1.2.0**: Documentation only, no functional change — mentions that `helpers4-common`'s
automatic git-config self-heal (see above) now comes along with this feature.
- **v1.1.0**: Switched from an inline copy of `helpers4-common`'s bootstrap (user detection, apt
helpers) to a direct `dependsOn` on the `helpers4-common` feature — no behavior change, just a
single source of truth for that logic instead of a copy every feature had to keep in sync.
4 changes: 2 additions & 2 deletions src/auto-header/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "auto-header",
"version": "1.1.0",
"version": "1.2.0",
"name": "Automatic File Headers",
"description": "Automatically configures VS Code file headers with customizable templates based on project, license, company, and contributors information.",
"description": "Automatically configures VS Code file headers with customizable templates based on project, license, company, and contributors information. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/auto-header",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": ["helpers4", "license", "header", "lgpl", "copyright"],
Expand Down
11 changes: 11 additions & 0 deletions src/bitwarden-secrets-manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ This DevContainer feature installs [`bws`](https://github.com/bitwarden/sdk-sm),

This is deliberately **not** a general Bitwarden feature: it installs `bws` (Secrets Manager) only, not `bw` (the password-vault CLI, which needs an interactive login/session model this feature doesn't address). If you need the vault CLI, look for a dedicated `bw` feature instead.

> **Also included automatically:** helpers4's self-heal mechanism, working on both local and
> cloud containers. It does its best to fix broken paths and a missing commit-signing key, with
> nothing to set up on your end. It comes from this feature's dependency on `helpers4-common` —
> you never need to add that feature yourself.

## Usage

Add this feature to your `devcontainer.json`, and pass your Secrets Manager machine account access token through as an environment variable:
Expand Down Expand Up @@ -46,3 +51,9 @@ Set `BWS_ACCESS_TOKEN` via `containerEnv`/`remoteEnv` (sourced from a host env v
The binary is downloaded straight from the matching `bws-<arch>-unknown-linux-musl-<version>.zip` GitHub release asset, its SHA-256 checksum verified against Bitwarden's own published checksums file, then extracted to `/usr/local/bin/bws`. The musl build is used (statically linked) so it runs regardless of the base image's libc.

Supported architectures: `x86_64` and `aarch64`/`arm64` (e.g. Oracle Cloud Ampere A1). This feature only ever runs inside the Linux container being built — never on the host — so unlike `bws`'s own multi-OS releases, there's no Darwin/Windows case to detect here.

## Version History

- **v1.2.0**: Documentation only, no functional change — mentions that `helpers4-common`'s
automatic git-config self-heal (see above) comes along with this feature.
- **v1.0.0**: Initial release.
4 changes: 2 additions & 2 deletions src/bitwarden-secrets-manager/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "bitwarden-secrets-manager",
"version": "1.0.0",
"version": "1.2.0",
"name": "Bitwarden Secrets Manager CLI",
"description": "Installs bws, the official Bitwarden Secrets Manager CLI, from bitwarden/sdk-sm GitHub releases. Non-interactive, machine-account-token auth only (BWS_ACCESS_TOKEN) — no vault login, no persisted state, no bind mounts.",
"description": "Installs bws, the official Bitwarden Secrets Manager CLI, from bitwarden/sdk-sm GitHub releases. Non-interactive, machine-account-token auth only (BWS_ACCESS_TOKEN) — no vault login, no persisted state, no bind mounts. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/bitwarden-secrets-manager",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": ["helpers4", "bitwarden", "bws", "secrets", "secrets-manager"],
Expand Down
7 changes: 7 additions & 0 deletions src/claude-dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ across supported editors and persists `~/.claude` (credentials, config, memory)
across every devcontainer rebuild — including GitHub Codespaces — via a Docker
named volume. Optionally installs the `claude` CLI too.

> **Also included automatically:** helpers4's self-heal mechanism, working on both local and
> cloud containers. It does its best to fix broken paths and a missing commit-signing key, with
> nothing to set up on your end. It comes from this feature's dependency on `helpers4-common` —
> you never need to add that feature yourself.

## Example Usage

```jsonc
Expand Down Expand Up @@ -87,6 +92,8 @@ without depending on that user's shell profile already including

## Version History

- **v1.2.0**: Documentation only, no functional change — mentions that `helpers4-common`'s
automatic git-config self-heal (see above) now comes along with this feature.
- **v1.1.0**: Switched from an inline copy of `helpers4-common`'s bootstrap (user detection, apt
helpers) to a direct `dependsOn` on the `helpers4-common` feature — no behavior change, just a
single source of truth for that logic instead of a copy every feature had to keep in sync.
Expand Down
4 changes: 2 additions & 2 deletions src/claude-dev/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "claude-dev",
"version": "1.1.0",
"version": "1.2.0",
"name": "Claude Code Development Environment",
"description": "Installs the Claude Code IDE extension (anthropic.claude-code) for VS Code and Cursor, and optionally the claude CLI. Persists ~/.claude (credentials, config, memory) across rebuilds and Codespaces via a Docker named volume, shared per host OS user.",
"description": "Installs the Claude Code IDE extension (anthropic.claude-code) for VS Code and Cursor, and optionally the claude CLI. Persists ~/.claude (credentials, config, memory) across rebuilds and Codespaces via a Docker named volume, shared per host OS user. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/claude-dev",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": [
Expand Down
5 changes: 4 additions & 1 deletion src/dotfiles-sync/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Syncs local Git, SSH, GPG, npm, and yarn config files into the devcontainer. Optionally syncs cloud credentials (AWS, kube, Docker) and SSH private key files — opt-in only. Works on macOS, Linux, Windows (WSL and native), GitHub Codespaces, Gitpod, and DevPod. Uses a **merge strategy** for established files and a **copy-if-absent** strategy for new ones — never overwrites existing values, safe alongside cloud platform native auth and GPG signing.

> **Recommended**: if you use this feature, disable VS Code's own automatic `.gitconfig` copy (`"dev.containers.copyGitConfig": false`, a client-side VS Code setting — not something a `devcontainer.json` can control). VS Code's copy runs earlier and writes every key verbatim; this feature's merge only fills in whatever's still absent by the time it runs, so with both active, VS Code's raw copy silently wins for every key it touched and this feature's smarter merge does nothing for those. Either way, [`helpers4-common`](../helpers4-common)'s automatic git-config self-heal (every helpers4 consumer gets it, unconditionally) repairs host-specific paths left over by whichever one actually wrote them.
> **Recommended**: if you use this feature, disable VS Code's own automatic `.gitconfig` copy (`"dev.containers.copyGitConfig": false`, a client-side VS Code setting — not something a `devcontainer.json` can control). VS Code's copy runs earlier and writes every key verbatim; this feature's merge only fills in whatever's still absent by the time it runs, so with both active, VS Code's raw copy silently wins for every key it touched and this feature's smarter merge does nothing for those. Either way, this feature's dependency on [`helpers4-common`](../helpers4-common) means its self-heal mechanism is already working in the background — it does its best to fix broken paths and a missing commit-signing key left over by whichever one actually wrote them, with nothing to set up on your end.

## Usage

Expand Down Expand Up @@ -303,6 +303,9 @@ ssh-add -l

## Version History

- **v1.2.0**: Documentation only, no functional change — description now mentions
`helpers4-common`'s automatic git-config self-heal alongside the existing "Recommended" note
above.
- **v1.1.0**: SSH private/public key file copying is now opt-in (`syncSshKeys`, default `false`)
— `~/.ssh/config` and `known_hosts` still always sync (agent forwarding doesn't provide
either), but actual key files no longer land on the container's filesystem unless explicitly
Expand Down
4 changes: 2 additions & 2 deletions src/dotfiles-sync/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "dotfiles-sync",
"version": "1.1.0",
"version": "1.2.0",
"name": "Dotfiles Sync",
"description": "Syncs local Git, SSH, GPG, npm, yarn config files into the devcontainer. Optionally syncs cloud credentials (AWS, kube, Docker) and SSH private key files — opt-in only. Works on macOS, Linux, Windows (WSL), Codespaces, Gitpod, DevPod. Merges instead of overwriting.",
"description": "Syncs local Git, SSH, GPG, npm, yarn config files into the devcontainer. Optionally syncs cloud credentials (AWS, kube, Docker) and SSH private key files — opt-in only. Works on macOS, Linux, Windows (WSL), Codespaces, Gitpod, DevPod. Merges instead of overwriting. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/dotfiles-sync",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": ["helpers4", "dotfiles", "git", "ssh", "sync"],
Expand Down
15 changes: 12 additions & 3 deletions src/essential-dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

Core development environment with Git integration, GitHub Copilot, Markdown support, and essential editor enhancements. Perfect base for all development projects.

> **Also included automatically:** helpers4's self-heal mechanism, working on both local and
> cloud containers. It does its best to fix broken paths and a missing commit-signing key, with
> nothing to set up on your end. It comes from this feature's dependency on `helpers4-common` —
> you never need to add that feature yourself.

## Features

- **Git Integration**: History, graph visualization, PR support, conventional commits
Expand Down Expand Up @@ -67,7 +72,7 @@ That's it! All extensions and settings are applied automatically.
"ghcr.io/helpers4/devcontainer/essential-dev:1": {},
"ghcr.io/helpers4/devcontainer/typescript-dev:1": {},
"ghcr.io/helpers4/devcontainer/package-auto-install:1": {},
"ghcr.io/helpers4/devcontainer/local-mounts:1": {}
"ghcr.io/helpers4/devcontainer/dotfiles-sync:1": {}
}
}
```
Expand All @@ -82,7 +87,7 @@ That's it! All extensions and settings are applied automatically.
"ghcr.io/helpers4/devcontainer/typescript-dev:1": {},
"ghcr.io/helpers4/devcontainer/package-auto-install:1": {},
"ghcr.io/helpers4/devcontainer/git-absorb:1": {},
"ghcr.io/helpers4/devcontainer/local-mounts:1": {}
"ghcr.io/helpers4/devcontainer/dotfiles-sync:1": {}
}
}
```
Expand Down Expand Up @@ -114,7 +119,11 @@ All shells are automatically detected and configured when available.

**Code Formatters**
- Oxc/Prettier - Use `vite-plus` feature instead
- Biome - Dedicated feature available

**Testing**
- Vitest - Use `vite-plus` feature instead

## Version History

- **v1.2.0**: Documentation only, no functional change — mentions that `helpers4-common`'s
automatic git-config self-heal (see above) comes along with this feature.
4 changes: 2 additions & 2 deletions src/essential-dev/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"id": "essential-dev",
"version": "1.0.9",
"version": "1.2.0",
"name": "Essential Development Environment",
"description": "Core development environment with Git visualization, Markdown support, and essential editor enhancements.",
"description": "Core development environment with Git visualization, Markdown support, and essential editor enhancements. Also includes helpers4's self-heal.",
"documentationURL": "https://github.com/helpers4/devcontainer/tree/main/src/essential-dev",
"licenseURL": "https://github.com/helpers4/devcontainer/blob/main/LICENSE",
"keywords": ["helpers4", "git", "editor", "markdown", "essential"],
Expand Down
Loading
Loading