Skip to content

Latest commit

 

History

History
51 lines (42 loc) · 2.63 KB

ARCHITECTURE.md

File metadata and controls

51 lines (42 loc) · 2.63 KB

There's a few big projects going on under @devcontainers-community:

Why some polyrepos and some monorepos?

Because sometimes it's best to isolate components and sometimes it's best to consolidate them. In the case of the vastly different features and associated maintainer knowledge of sometime like a CMake feature vs a Wasmer feature it's helpful to allow those groups to work independently of each other more than a monorepo allows. In reverse, it's helpful for npm-interested people to have all npm-related features under a single roof since it's all within the JavaScript ecosystem. Same for the Python pip features.

Why aren't some of these projects official?

I don't know. Some of them haven't been formally asked to merge to @devcontainers official, while others are just outside the scope of the official specification maintainers. For instance, it's highly unlikely that @devcontainers would take on the devcontainers-community/pip-features project as official, but they might take on some of the popular GitHub Actions. Open a Discussion and chat with them; they seem cool 😎 and won't bite! 😉

How do the polyrepos merge into the big devcontainers-community/features package namespace?

This is a trick where packages like ghcr.io/devcontainers-community/features/* images can be published from other repositories, not just devcontainers-community/features. This is what lets us have the source code in devcontainers-community/features-dart-sdk and publish the feature to ghcr.io/devcontainers-community/features/dart-sdk. We don't even need a custo GitHub token to do it!