Skip to content
Open
Changes from all commits
Commits
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
36 changes: 25 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
# amp-devcontainer

<!-- markdownlint-disable -->
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdownlint re-enable directive looks incorrect. markdownlint expects <!-- markdownlint-enable --> (with a space), not <!-- markdownlint-enable -->. With the current comment, markdownlint may stay disabled for the rest of the file.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README disables all markdownlint rules for the entire header block. It’s usually better to disable only the specific rule(s) needed (commonly MD033 for inline HTML) to avoid hiding other formatting issues in that section. Consider changing this to a targeted disable (e.g., <!-- markdownlint-disable MD033 -->) and re-enabling afterward.

Copilot uses AI. Check for mistakes.
<a href="https://github.com/philips-software/amp-devcontainer">
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/bd514b53-60de-4206-b97d-be4971d4908f">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this supposed to be visible in the readme view? on inspect I can see the code but I don't see the expect image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While checking it out from my GitHub app I also don't see the image. I wonder if it is scoped to my user account, I was trying to refrain from adding the images to the repository. But I don't know if that will hold.

<img alt="amp-devcontainer" src="https://github.com/user-attachments/assets/9ac111f8-7349-42e1-9778-d05d65969ba6">
</picture>
Comment on lines 4 to 7
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logo is hosted on github.com/user-attachments, which can be harder to manage/version and may be less stable than keeping the asset in-repo (e.g., docs/assets/ or .github/ with a relative URL). Also, the dark-mode <source> and default <img> point to the same image, so the <picture> offers no functional difference—consider providing distinct dark/light assets or simplifying the markup.

Suggested change
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/9ac111f8-7349-42e1-9778-d05d65969ba6">
<img alt="Flutter" src="https://github.com/user-attachments/assets/9ac111f8-7349-42e1-9778-d05d65969ba6">
</picture>
<img alt="amp-devcontainer logo" src=".github/assets/amp-devcontainer-logo.svg">

Copilot uses AI. Check for mistakes.
</div>
</a>

<div align="center">

[![Linting & Formatting](https://github.com/philips-software/amp-devcontainer/actions/workflows/linting-formatting.yml/badge.svg)](https://github.com/philips-software/amp-devcontainer/actions/workflows/linting-formatting.yml) [![Continuous Integration](https://github.com/philips-software/amp-devcontainer/actions/workflows/continuous-integration.yml/badge.svg?branch=main)](https://github.com/philips-software/amp-devcontainer/actions/workflows/continuous-integration.yml) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9267/badge)](https://www.bestpractices.dev/projects/9267) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/philips-software/amp-devcontainer/badge)](https://securityscorecards.dev/viewer/?uri=github.com/philips-software/amp-devcontainer)
<!-- markdownlint enable -->

<i>-- Amplify! your developer experience</i>
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using <i> for emphasis is more “presentational” than semantic. Prefer <em> (or plain Markdown emphasis) for better accessibility/semantics, and consider dropping the leading -- if it’s only decorative (screen readers will read it literally).

Copilot uses AI. Check for mistakes.
</div>
<!-- markdownlint-enable -->
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdownlint re-enable directive looks incorrect. markdownlint expects <!-- markdownlint-enable --> (with a space), not <!-- markdownlint-enable -->. With the current comment, markdownlint may stay disabled for the rest of the file.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README disables all markdownlint rules for the entire header block. It’s usually better to disable only the specific rule(s) needed (commonly MD033 for inline HTML) to avoid hiding other formatting issues in that section. Consider changing this to a targeted disable (e.g., <!-- markdownlint-disable MD033 -->) and re-enabling afterward.

Copilot uses AI. Check for mistakes.

# amp-devcontainer

## Table of Contents

Expand All @@ -24,14 +38,14 @@

## Overview

This repository contains [devcontainers](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) tailored towards modern, embedded, software development.
This repository contains [devcontainers](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) tailored towards modern software development.

### Key Features

- **Batteries Included** 🔋: Pre-configured tools for local development and continuous integration.
- **Developer Experience** 👩‍💻: Minimal set-up time and maximal shift-left.
- **Multi-platform Support** ⚙️: Compatible with x64 and arm64 hardware on Windows, Linux, and macOS.
- **Image Flavors** 🍨: Dedicated containers for C++ and Rust development.
- **Image Flavors** 🍨: Dedicated containers for multiple development workloads.
- **IDE Integration** 💻: Fully compatible with GitHub Codespaces and VS Code.
- **Semantic Versioning** 🔢: Clear versioning strategy for container images.
- **Secure** 🔒: Emphasis on supply-chain security and compatible with Dependabot.
Expand Down Expand Up @@ -68,16 +82,16 @@ It consolidates common tooling (e.g. certificates and test tooling) so that the

#### amp-devcontainer-cpp

The amp-devcontainer-cpp built from this repository contains compilers and tools to facilitate modern, embedded, C++ development.
The amp-devcontainer-cpp includes support for host- and cross-compilation using gcc, arm-gcc and clang compilers.
Next to the compilers there is support for package management (using [CPM.cmake](https://github.com/cpm-cmake/CPM.cmake) and [Conan](https://conan.io/)) code-coverage measurement, mutation testing (using [mull](https://github.com/mull-project/mull)), fuzzing (using [libfuzzer](https://www.llvm.org/docs/LibFuzzer.html)) and static analysis and formatting (clang-format, clang-tidy, clangd, include-what-you-use).
The amp-devcontainer-cpp image flavor contains compilers and tools to facilitate modern, embedded, C++ development.
This image flavor includes support for host- and cross-compilation using gcc, arm-gcc and clang compilers.
Next to the compilers there is support for package management (using [CPM.cmake](https://github.com/cpm-cmake/CPM.cmake) and [Conan](https://conan.io/)), code-coverage measurement, mutation testing (using [mull](https://github.com/mull-project/mull)), fuzzing (using [libfuzzer](https://www.llvm.org/docs/LibFuzzer.html)) and static analysis and formatting (clang-format, clang-tidy, clangd, include-what-you-use).

The default build system is set up to use CMake, Ninja and CCache.

#### amp-devcontainer-rust

The amp-devcontainer-rust built from this repository contains the Rust ecosystem and additional tools to facilitate, embedded, Rust development.
The amp-devcontainer-rust includes support for host- and cross-compilation.
The amp-devcontainer-rust image flavor contains the Rust ecosystem and additional tools to facilitate Rust development.
This image flavor includes support for host- and cross-compilation.
Next to the Rust ecosystem there is support for code-coverage measurement, mutation testing (using [cargo-mutants](https://mutants.rs/)), fuzzing (using [rust-fuzz](https://rust-fuzz.github.io/book/introduction.html)) and static analysis and formatting (clippy, rustfmt).

For embedded development and flashing and debugging [probe-rs](https://probe.rs/) and [flip-link](https://github.com/knurling-rs/flip-link) are included.
Expand Down Expand Up @@ -113,7 +127,7 @@ Only the GitHub Action workflow is allowed to create a release, and the resultin

### Visual Studio Code

All containers can be used in Visual Studio Code or GitHub Codespaces without any additional configuration.
All container images can be used in Visual Studio Code or GitHub Codespaces without any additional configuration.
All included tools are preconfigured and necessary plug-ins will be installed at container start.
This behavior is implemented by appending devcontainer metadata to an image label according to these [specifications](https://containers.dev/implementors/reference/#labels).
It is possible to override, amend or change the options following this [merge logic](https://containers.dev/implementors/spec/#merge-logic).
Expand Down