Skip to content

This repository contains a collection of DevContainer Features developed and maintained by helpers4.

License

Notifications You must be signed in to change notification settings

helpers4/devcontainer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevContainer Features by helpers4

This repository contains a collection of DevContainer Features developed and maintained by helpers4.

Published at: ghcr.io/helpers4/devcontainer/<feature-name>

Features

angular-dev

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

Key benefits:

  • Essential VS Code extensions for Angular development
  • CLI autocompletion for zsh and bash
  • Optional Angular CLI installation
  • Ready-to-use Angular development setup

📖 Documentation

shell-history-per-project

Persist shell history per project by automatically detecting and configuring all available shells (zsh, bash, fish). Supports auto-detection or manual shell selection.

Key benefits:

  • Per-project history isolation
  • Persistent across container rebuilds
  • Multiple shell support (zsh, bash, fish)
  • Team collaboration friendly
  • Clean separation between personal and project commands

📖 Documentation

git-absorb

Installs git-absorb, a tool that automatically absorbs staged changes into their logical commits. Like 'git commit --fixup' but automatic.

Key benefits:

  • Automatic fixup commits for staged changes
  • Multi-architecture support (x86_64, aarch64)
  • Git subcommand integration
  • Lightweight single binary installation
  • Perfect for cleaning up commit history

📖 Documentation

local-mounts

Mounts local Git, SSH, GPG, and npm configuration files into the devcontainer for seamless development authentication.

Key benefits:

  • Git configuration available inside container
  • SSH keys for Git operations and remote connections
  • GPG keys for commit signing
  • npm authentication for private registries

📖 Documentation

Usage

Features from this repository are available via GitHub Container Registry. Reference them in your devcontainer.json:

{
    "features": {
        "ghcr.io/helpers4/devcontainer/angular-dev:1": {},
        "ghcr.io/helpers4/devcontainer/shell-history-per-project:1": {},
        "ghcr.io/helpers4/devcontainer/git-absorb:1": {},
        "ghcr.io/helpers4/devcontainer/local-mounts:1": {}
    }
}

Available Features

Feature Description Documentation
angular-dev Angular development environment with extensions and CLI autocompletion README
shell-history-per-project Per-project shell history persistence with multi-shell auto-detection README
git-absorb Automatic absorption of staged changes into logical commits README
local-mounts Mount local Git, SSH, GPG, and npm config into devcontainer README

Development

This repository follows the DevContainer Features specification and is compatible with the DevContainer Features distribution.

Repository Structure

.
├── src/
│   ├── angular-dev/
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── git-absorb/
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── local-mounts/
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   └── shell-history-per-project/
│       ├── devcontainer-feature.json
│       ├── install.sh
│       └── README.md
├── test/
│   ├── angular-dev/
│   │   └── test.sh
│   ├── git-absorb/
│   │   └── test.sh
│   ├── local-mounts/
│   │   └── test.sh
│   └── shell-history-per-project/
│       └── test.sh
└── README.md

Testing

Features can be tested locally using the DevContainer CLI:

devcontainer features test --features shell-history-per-project

Publishing

Features are automatically published to GitHub Container Registry via GitHub Actions when tagged releases are created.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your feature following the established patterns
  4. Test your feature locally
  5. Submit a pull request

License

This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.

Acknowledgments

Inspired by the DevContainers Features repository and stuart leeks' dev-container-features for the shell-history concept, with the key difference being project-scoped rather than global user history persistence.

About

This repository contains a collection of DevContainer Features developed and maintained by helpers4.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Shell 100.0%