{"id":15687159,"url":"https://github.com/sinedied/devc","last_synced_at":"2025-05-07T19:09:45.228Z","repository":{"id":57212029,"uuid":"445193504","full_name":"sinedied/devc","owner":"sinedied","description":"Quickly add .devcontainer configuration to any JavaScript project, and more!","archived":false,"fork":false,"pushed_at":"2022-06-28T13:00:08.000Z","size":787,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T19:09:36.513Z","etag":null,"topics":["cli","containers","devcontainer","nodejs","vscode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinedied.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-06T14:13:32.000Z","updated_at":"2024-06-24T17:30:31.000Z","dependencies_parsed_at":"2022-09-08T21:12:19.007Z","dependency_job_id":null,"html_url":"https://github.com/sinedied/devc","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fdevc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fdevc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fdevc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fdevc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinedied","download_url":"https://codeload.github.com/sinedied/devc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252940934,"owners_count":21828769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","containers","devcontainer","nodejs","vscode"],"created_at":"2024-10-03T17:44:20.742Z","updated_at":"2025-05-07T19:09:45.186Z","avatar_url":"https://github.com/sinedied.png","language":"TypeScript","readme":"# 📦 devc\n\n[![NPM version](https://img.shields.io/npm/v/devc.svg)](https://www.npmjs.com/package/devc)\n[![Build Status](https://github.com/sinedied/devc/workflows/build/badge.svg)](https://github.com/sinedied/devc/actions)\n![Node version](https://img.shields.io/node/v/devc.svg)\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n\u003e Quickly add .devcontainer configuration to any JavaScript project, and more!\n\nBut wait, what's a *dev container*?\n\n**A dev container is a full development environment packaged into a Docker container.** It's ready to use, easy to update and painless to share with your team. It also brings the complete VS Code experience through the [Remote Development extension pack](https://aka.ms/vscode/remote-dev). Dev containers can run locally on your machine, or in the cloud through services like [GitHub Codespaces](https://github.com/features/codespaces).\n\nYou can learn more about dev containers [here](https://aka.ms/vscode/devcontainer) or watch this [introduction video series](https://aka.ms/series/devcontainers).\n\n## Getting started\n\nThere are multiple ways to use the `devc` tool:\n\n- Install globally as a CLI tool: `npm install -g devc`\n- Generate a dev container configuration in a project without installing: `npm init devc` or `yarn create devc` or `pnpm create devc`\n- Add a dev container configuration to an Angular project `ng add devc`\n\nWhile the main use case is to generate a dev container configuration, there are also other features provided by the CLI if you install it. For example, you can run a command in a dev container (even if it's not started) or open VS Code directly in a dev container.\n\n## Usage\n\n```\nUsage: devc [command] [options]\n\nCommands:\n  init                Initialize dev container config (default command)\n    -s, --stack \u003cname1, name2, ...\u003e\n                      Set the stack to be used (default: autodetect)\n    -p, --packageManager \u003cnpm|yarn|pnpm\u003e\n                      Set package manager (default: autodetect)\n    -d, --detect      Force stack detection even if stack option is set\n    --list            List available tech stacks\n\n  code [path]         Open folder in a VS Code dev container\n    -i, --insiders    Use insiders version of VS Code\n\n  shell [command]     Open a shell in dev container\n    -e, --exec \u003ccmd\u003e  Execute command in container shell\n\nGeneral options:\n    -v, --version     Show version\n    --help            Show this help\n```\n\n### Init\n\n`devc init` will create a `.devcontainer` folder in the current directory with the configuration for the current project.\n\nBy default, it will detect automatically which package manager and which stack is used. You can override this by using the `--packageManager` and `--stack` options. Using `--stack` will override the detection and only use the specified stack, but you can use `--detect` to use autodetection in addition to your `--stack` value.\n\nTo list available supported stacks, use `devc init --list`.\n\n\u003e Note: the base dev container configuration generated can work with any Node.js project, and it's always possible to customize it after initialization.\n\n### Code\n\n`devc code` will open the current folder in a VS Code dev container directly.\n\nIf no path is specified, it will open the current folder. You can also use the `--insiders` option to open the [Insiders version of VS Code](https://code.visualstudio.com/insiders/).\n\n### Shell\n\n`devc shell` will open an interactive shell in the current folder in an existing dev container.\n\nIf the dev container is not running, it will start it for the duration of your session and stop it when you exit the shell.\n\nUsing the `--exec` option, you can directly execute a single command in the dev container shell, without going interactive.\n\nNote: currently, the dev container must have been created in VS Code before you can use this command. Building the dev container from the command line is not (yet) supported.\n\n## Contributing\n\nContributions are welcome! :heart:\n\nYou can have a look at the [contributing guide](CONTRIBUTING.md) to learn how to contribute to this project.\n\n## Related projects\n\n- https://github.com/microsoft/dev-container-spec\n- https://code.visualstudio.com/docs/remote/devcontainer-cli\n- https://github.com/stuartleeks/devcontainer-cli/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinedied%2Fdevc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinedied%2Fdevc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinedied%2Fdevc/lists"}