Skip to content

Commit 811f4b8

Browse files
committed
ci: add copilot instructions
1 parent d48ad2b commit 811f4b8

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

.github/copilot-instructions.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Project Overview
2+
3+
This repository contains devcontainers tailored towards modern software development. The containers try to be as "batteries included" as possible without being overly opinionated, and are usable for both local development and continuous integration. All containers are multi-platform and can be used on x64 (x86-64) and arm64 hardware on an operating system that supports an [OCI](https://opencontainers.org/) compatible container engine. This includes Windows, Linux, and macOS on both Intel and Apple silicon.
4+
5+
The devcontainers include modern, up-to-date, tooling for C++ and Rust development, and are fully compatible with GitHub Codespaces and Visual Studio Code. The containers are versioned using [Semantic Versioning](https://semver.org/) and are designed with supply-chain security in mind. They can be used with [Dependabot](https://dependabot.com/) to keep dependencies up to date.
6+
7+
The container images should provide a secure foundation for regulated software development in e.g. the medical, automotive, aviation, and railroad domains.
8+
9+
## Key Features
10+
11+
- **Batteries Included** 🔋: Pre-configured tools for local development and continuous integration.
12+
- **Multi-platform Support** ⚙️: Compatible with x64 and arm64 hardware on Windows, Linux, and macOS.
13+
- **Image Flavors** 🍨: Dedicated containers for C++ and Rust development.
14+
- **IDE Integration** 💻: Fully compatible with GitHub Codespaces and VS Code.
15+
- **Semantic Versioning** 🔢: Clear versioning strategy for container images.
16+
- **Secure** 🔒: Emphasis on supply-chain security and compatible with Dependabot.
17+
- **Tested** ✅: Includes verification tests.
18+
19+
## Folder Structure
20+
21+
- `/.devcontainer`: Contains the source code for the container flavors with a top-level devcontainer.json file to enable `clone in container volume` of this repository.
22+
- `/.devcontainer/[flavor]`: Contains the Dockerfile and configuration for each container flavor (e.g., `cpp`, `rust`).
23+
- `/.devcontainer/[flavor]-test`: Contains a devcontainer.json file for testing the container flavor.
24+
- `/.github`: Contains the GitHub workflows for CI/CD, linter configuration, issue templates and re-usable actions.
25+
- `/test/[flavor]`: Contains [Bats](https://bats-core.readthedocs.io/en/stable/) integration- and Playwright verification tests for the containers.
26+
27+
## Libraries and Frameworks
28+
29+
- Dockerfiles for building the container images.
30+
- Python and pip to install and manage dependencies.
31+
- GitHub Actions for CI/CD workflows.
32+
- CMake, Conan, CPM, Mull, and other tools for C++ development.
33+
- Rust, Cargo, Clippy, cargo-binstall for Rust development.
34+
- Visual Studio Code for development environment.
35+
- MegaLinter for code linting.
36+
- Google's release-please for automated releases.
37+
38+
## Values
39+
40+
- **Security First**: Prioritizing supply-chain security and best practices.
41+
- **Developer Experience**: Focusing on ease of use and seamless integration with popular IDEs.
42+
- **Open Source**: Committed to transparency and community collaboration.
43+
- **Quality Assurance**: Emphasizing consistency, testing and reliability.
44+
- **Continuous Improvement**: Regular updates and enhancements based on user feedback.

0 commit comments

Comments
 (0)