|
1 | 1 | # Community devcontainer features |
2 | 2 |
|
3 | | -[](https://gitter.im/devcontainers-contrib/community) |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | -🐳 Extra add-in features for |
9 | | -[devcontainers](https://code.visualstudio.com/docs/devcontainers/containers) and |
10 | | -[GitHub Codespaces](https://github.com/features/codespaces) |
| 3 | +🧰 Feature addons for [@devcontainers] |
11 | 4 |
|
12 | 5 | <div align="center"> |
13 | 6 |
|
14 | | - |
| 7 | + |
15 | 8 |
|
16 | | -**[Overview](https://github.com/devcontainers-contrib/features#readme)** | |
17 | | -[User docs](https://github.com/devcontainers-contrib/features#usage) | |
18 | | -[Contributing](https://github.com/devcontainers-contrib/features/blob/main/CONTRIBUTING.md) |
19 | | -| [Developer wiki](https://github.com/devcontainers-contrib/features/wiki) |
| 9 | +<!-- prettier-ignore --> |
| 10 | +[How to use a feature](https://code.visualstudio.com/blogs/2022/09/15/dev-container-features#_adding-features-to-your-dev-container) |
| 11 | +| [List of features](https://github.com/devcontainers-contrib/features/tree/main/src) <!-- CHANGE THIS TO GITHUB PAGES WHEN #284 IS MERGED! --> |
| 12 | +| [Contributing](https://github.com/devcontainers-contrib/features/blob/main/CONTRIBUTING.md) |
| 13 | +| [Dev wiki](https://github.com/devcontainers-contrib/features/wiki) |
| 14 | +| [Chat](https://gitter.im/devcontainers-contrib/community) |
20 | 15 |
|
21 | 16 | </div> |
22 | 17 |
|
23 | | -💻 Works with |
24 | | -[devcontainers](https://code.visualstudio.com/docs/devcontainers/containers) \ |
25 | | -☁️ Works with [GitHub Codespaces](https://github.com/features/codespaces) \ |
26 | | - |
27 | | -📢 [We are actively seeking contributions!](CONTRIBUTING.md) |
28 | | - |
29 | | - |
30 | | -## Contributing guide 😊 |
31 | | - |
32 | | -## A Handcrafted Feature |
33 | | - |
34 | | -- Add a feature-id named directory to the [src folder](src/) containing your `devcontainer-feature.json` and `install.sh` scripts |
35 | | -- Add the corresponsing test.sh to the [test folder](tests/) |
36 | | - |
37 | | -## An Easily Generated Feature |
38 | | - |
39 | | -Get the devcontainer-contrib cli |
40 | | -```shell |
41 | | -pip install devcontainer-contrib |
42 | | -``` |
43 | | - |
44 | | -Add a new [`devcontainer-definition.json`](https://github.com/devcontainers-contrib/cli#readme) file to the [feature_definition dir](feature_definitions/) |
45 | | - |
46 | | -While under the root folder of this repo, generate it using the command: |
47 | | -```shell |
48 | | -devcontainer-contrib features generate "./feature_definition/your-feature-id/feature-definition.json" "." --output-type=feature_dir |
49 | | -``` |
50 | | - |
51 | | -[Additional information and docs about the CLI and devcontainer-definition.json file](https://github.com/devcontainers-contrib/cli#readme) |
| 18 | +💻 Works with [devcontainers] \ |
| 19 | +☁️ Works with [GitHub Codespaces] \ |
| 20 | +⚠️ We only officially support [debian]-based images |
52 | 21 |
|
| 22 | +👀 Don't see your feature here? [Add it yourself] or [open an Issue]! |
53 | 23 |
|
54 | 24 | ## Usage |
55 | 25 |
|
| 26 | + |
| 27 | + |
| 28 | + |
56 | 29 |
|
57 | | -📄 [View the full list of features](src/) |
| 30 | +📄 [Complete feature list] |
58 | 31 |
|
59 | 32 | Just add a `.devcontainer/devcontainer.json` file with a `features` key. It's |
60 | | -very similar to NPM's `package.json` and `dependencies` object, just with the |
61 | | -addition of an `options` object. |
| 33 | +very similar to `package.json`'s `dependencies` object, just with the addition |
| 34 | +of an `options` object. |
62 | 35 |
|
63 | | -📚 Make sure to inspect each feature for feature-specific options \ |
64 | | -⚠️ We only officially support [debian](https://hub.docker.com/_/debian)-based images |
| 36 | +📚 Make sure to inspect each feature for feature-specific options! |
65 | 37 |
|
66 | 38 | ```json |
67 | 39 | { |
68 | | - "image": "mcr.microsoft.com/devcontainers/universal:linux", |
| 40 | + "image": "mcr.microsoft.com/devcontainers/universal", |
69 | 41 | "features": { |
70 | | - "ghcr.io/devcontainers-contrib/features/deno:latest": {}, |
71 | | - "ghcr.io/devcontainers-contrib/features/mkdocs:latest": {}, |
72 | | - "ghcr.io/devcontainers-contrib/features/bikeshed:latest": {} |
| 42 | + "ghcr.io/devcontainers-contrib/features/deno:": {}, |
| 43 | + "ghcr.io/devcontainers-contrib/features/neovim": {} |
73 | 44 | } |
74 | 45 | } |
75 | 46 | ``` |
76 | 47 |
|
77 | | -## You can find more developer-specific docs on the [Wiki!](https://github.com/devcontainers-contrib/features/wiki) (thank you [@jcbhmr](https://github.com/jcbhmr)!) |
| 48 | +Then, after adding your devcontainer config file, you can open it in GitHub |
| 49 | +Codespaces, or [open it locally using VS Code]. Be warned some features will |
| 50 | +compile things from source code and may take a while! |
| 51 | + |
| 52 | +<div align="center"> |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +</div> |
| 57 | + |
| 58 | +## Development |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | +➕ Looking to add a new feature? Check out the [contributing guide]! |
| 65 | + |
| 66 | +This project uses a devcontainer config to outline the development environment. |
| 67 | +We also provide various VS Code customizations for your coding pleasure. |
| 68 | + |
| 69 | +To get started, create a GitHub Codespace on a copy of this repository. From |
| 70 | +there, the [dev wiki] provides information about adding features, layout, |
| 71 | +conventions, etc. When or if you want to contribute your changes back to this |
| 72 | +repository, you can follow the [contributing guide]. Happy coding! 👋 |
| 73 | + |
| 74 | +🗺️ If you're looking for a more thorough outline of how this repo works, check |
| 75 | +out the [How it works] page on the dev wiki. |
| 76 | + |
| 77 | +<!-- prettier-ignore-start --> |
| 78 | +[@devcontainers]: https://github.com/devcontainers |
| 79 | +[add it yourself]: https://github.com/devcontainers-contrib/features/wiki/How-to-add-a-feature |
| 80 | +[open an issue]: https://github.com/devcontainers-contrib/features/issues/new |
| 81 | +[complete feature list]: https://github.com/devcontainers-contrib/features/tree/main/src |
| 82 | +[debian]: https://hub.docker.com/_/debian |
| 83 | +[open it locally using vs code]: https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-an-existing-folder-in-a-container |
| 84 | +[contributing guide]: CONTRIBUTING.md |
| 85 | +[how it works]: https://github.com/devcontainers-contrib/features/wiki/How-it-works |
| 86 | +[dev wiki]: https://github.com/devcontainers-contrib/features/wiki |
| 87 | +[devcontainers]: https://containers.dev/ |
| 88 | +[github codespaces]: https://github.com/features/codespaces |
| 89 | +<!-- prettier-ignore-end --> |
0 commit comments