docs/daprdocs/content/en/contributing/codespaces.md

101 lines
3.5 KiB
Markdown

---
type: docs
title: "Contributing with GitHub Codespaces"
linkTitle: "GitHub Codespaces"
weight: 60
description: "How to contribute to the Dapr project with GitHub Codespaces"
aliases:
- "/contributing/codespaces/"
- "/developing-applications/ides/codespaces/"
---
[GitHub Codespaces](https://github.com/features/codespaces) is the easiest way to get up and running for contributing to a Dapr repo. In as little as a single click, you can have an environment with all of the prerequisites ready to go in your browser.
## Features
- **Click and Run**: Get a dedicated and sandboxed environment with all of the required frameworks and packages ready to go.
- **Usage-based Billing**: Only pay for the time you spend developing in the Codespaces. Environments are spun down automatically when not in use.
- **Portable**: Run in your browser or in Visual Studio Code, or connect to it using SSH.
## Open a Dapr repo in a Codespace
To open a Dapr repository in a Codespace, select "Code" from the repo homepage and "Open with Codespaces":
<img src="/images/codespaces-create.png" alt="Screenshot of creating a Dapr Codespace" width="300">
If you haven't already forked the repo, creating the Codespace will also create a fork for you and use it inside the Codespace.
## Supported repos
- [dapr/dapr](https://github.com/dapr/dapr)
- [dapr/components-contrib](https://github.com/dapr/components-contrib)
- [dapr/cli](https://github.com/dapr/cli)
- [dapr/docs](https://github.com/dapr/docs)
- [dapr/python-sdk](https://github.com/dapr/python-sdk)
## Developing Dapr Components in a Codespace
Developing a new Dapr component requires working with both the [dapr/components-contrib](https://github.com/dapr/components-contrib) and [dapr/dapr](https://github.com/dapr/dapr) repos. It is recommended to place both folders inside the `/workspaces` directory, side-by-side.
### If you created a Codespace from `dapr/dapr`
If your Codespaces was started from the `dapr/dapr` repo or a fork of that, you will need to clone the `dapr/components-contrib` repository (or your fork of that) inside `/workspaces/components-contrib`.
First, make sure you've authenticated with the GitHub CLI:
```sh
# Run this command and follow the prompts
# Most users should accept the default choices
gh auth login
```
Clone the repo:
```sh
# If you want to use your fork of dapr/components-contrib, replace this with your fork (e.g. "yourusername/components-contrib")
# Make sure you've forked the repo before doing this
REPO=dapr/components-contrib
cd /workspaces
gh repo clone "$REPO" /workspaces/components-contrib
```
Then, add the folder to current workspace:
```sh
code -a /workspaces/components-contrib
```
### If you created a Codespace from `dapr/components-contrib`
If your Codespaces was started from the `dapr/components-contrib` repo or a fork of that, you will need to clone the `dapr/dapr` repository (or your fork of that) inside `/workspaces/dapr`.
First, make sure you've authenticated with the GitHub CLI:
```sh
# Run this command and follow the prompts
# Most users should accept the default choices
gh auth login
```
Clone the repo:
```sh
# If you want to use your fork of dapr/dapr, replace this with your fork (e.g. "yourusername/dapr")
# Make sure you've forked the repo before doing this
REPO=dapr/dapr
cd /workspaces
gh repo clone "$REPO" /workspaces/dapr
```
Then, add the folder to current workspace:
```sh
code -a /workspaces/dapr
```
## Related links
<!-- IGNORE_LINKS -->
- [GitHub documentation](https://docs.github.com/codespaces/overview)
<!-- END_IGNORE -->