diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 04009a7f10..a3ffb99e08 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -33,6 +33,6 @@ jobs:
- uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748
- uses: github/codeql-action/init@1ed1437484560351c5be56cf73a48a279d116b78
with:
- languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
+ languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp, ruby}
- uses: github/codeql-action/analyze@1ed1437484560351c5be56cf73a48a279d116b78
continue-on-error: true
diff --git a/assets/images/help/billing/codespaces-spending-limit-notifications.png b/assets/images/help/billing/codespaces-spending-limit-notifications.png
index 23f776138a..f30da59f43 100644
Binary files a/assets/images/help/billing/codespaces-spending-limit-notifications.png and b/assets/images/help/billing/codespaces-spending-limit-notifications.png differ
diff --git a/assets/images/help/codespaces/CSV-usage-report-prebuilds.png b/assets/images/help/codespaces/CSV-usage-report-prebuilds.png
new file mode 100644
index 0000000000..52b2dd625d
Binary files /dev/null and b/assets/images/help/codespaces/CSV-usage-report-prebuilds.png differ
diff --git a/assets/images/help/codespaces/change-machine-type-menu-option.png b/assets/images/help/codespaces/change-machine-type-menu-option.png
index 657e6b207e..f6a61c2d9a 100644
Binary files a/assets/images/help/codespaces/change-machine-type-menu-option.png and b/assets/images/help/codespaces/change-machine-type-menu-option.png differ
diff --git a/assets/images/help/codespaces/choose-new-repository.png b/assets/images/help/codespaces/choose-new-repository.png
new file mode 100644
index 0000000000..f77964e61e
Binary files /dev/null and b/assets/images/help/codespaces/choose-new-repository.png differ
diff --git a/assets/images/help/codespaces/click-name-codespace.png b/assets/images/help/codespaces/click-name-codespace.png
new file mode 100644
index 0000000000..9320ffdb51
Binary files /dev/null and b/assets/images/help/codespaces/click-name-codespace.png differ
diff --git a/assets/images/help/codespaces/codespace-annotated-vscode.png b/assets/images/help/codespaces/codespace-annotated-vscode.png
new file mode 100644
index 0000000000..6e3744da6a
Binary files /dev/null and b/assets/images/help/codespaces/codespace-annotated-vscode.png differ
diff --git a/assets/images/help/codespaces/codespace-templates-see-all.png b/assets/images/help/codespaces/codespace-templates-see-all.png
new file mode 100644
index 0000000000..15abc31b6a
Binary files /dev/null and b/assets/images/help/codespaces/codespace-templates-see-all.png differ
diff --git a/assets/images/help/codespaces/codespaces-configure-features.png b/assets/images/help/codespaces/codespaces-configure-features.png
index a249eec0ef..e20708c818 100644
Binary files a/assets/images/help/codespaces/codespaces-configure-features.png and b/assets/images/help/codespaces/codespaces-configure-features.png differ
diff --git a/assets/images/help/codespaces/codespaces-diagram.png b/assets/images/help/codespaces/codespaces-diagram.png
index c62366d832..44ed3fb99b 100644
Binary files a/assets/images/help/codespaces/codespaces-diagram.png and b/assets/images/help/codespaces/codespaces-diagram.png differ
diff --git a/assets/images/help/codespaces/codespaces-spending-limit-notifications.png b/assets/images/help/codespaces/codespaces-spending-limit-notifications.png
new file mode 100644
index 0000000000..bd0f20f118
Binary files /dev/null and b/assets/images/help/codespaces/codespaces-spending-limit-notifications.png differ
diff --git a/assets/images/help/codespaces/configure-dev-container.png b/assets/images/help/codespaces/configure-dev-container.png
new file mode 100644
index 0000000000..a5b3c9a6a9
Binary files /dev/null and b/assets/images/help/codespaces/configure-dev-container.png differ
diff --git a/assets/images/help/codespaces/create-a-new-codespace-page.png b/assets/images/help/codespaces/create-a-new-codespace-page.png
new file mode 100644
index 0000000000..40c6858bca
Binary files /dev/null and b/assets/images/help/codespaces/create-a-new-codespace-page.png differ
diff --git a/assets/images/help/codespaces/default-machine-type.png b/assets/images/help/codespaces/default-machine-type.png
index ebf9618e42..d0c0bf7dbc 100644
Binary files a/assets/images/help/codespaces/default-machine-type.png and b/assets/images/help/codespaces/default-machine-type.png differ
diff --git a/assets/images/help/codespaces/delete-codespace.png b/assets/images/help/codespaces/delete-codespace.png
index f84f267a19..f9da915488 100644
Binary files a/assets/images/help/codespaces/delete-codespace.png and b/assets/images/help/codespaces/delete-codespace.png differ
diff --git a/assets/images/help/codespaces/export-changes-to-a-branch.png b/assets/images/help/codespaces/export-changes-to-a-branch.png
index f5391541c2..3f13e4a3b3 100644
Binary files a/assets/images/help/codespaces/export-changes-to-a-branch.png and b/assets/images/help/codespaces/export-changes-to-a-branch.png differ
diff --git a/assets/images/help/codespaces/feature-installation-code.png b/assets/images/help/codespaces/feature-installation-code.png
new file mode 100644
index 0000000000..f78e1ef9b2
Binary files /dev/null and b/assets/images/help/codespaces/feature-installation-code.png differ
diff --git a/assets/images/help/codespaces/feature-marketplace.png b/assets/images/help/codespaces/feature-marketplace.png
new file mode 100644
index 0000000000..828484e8ce
Binary files /dev/null and b/assets/images/help/codespaces/feature-marketplace.png differ
diff --git a/assets/images/help/codespaces/feature-options.png b/assets/images/help/codespaces/feature-options.png
new file mode 100644
index 0000000000..a862a6572a
Binary files /dev/null and b/assets/images/help/codespaces/feature-options.png differ
diff --git a/assets/images/help/codespaces/find-codespace-name-github.png b/assets/images/help/codespaces/find-codespace-name-github.png
index 98518ef70c..b92d70dd50 100644
Binary files a/assets/images/help/codespaces/find-codespace-name-github.png and b/assets/images/help/codespaces/find-codespace-name-github.png differ
diff --git a/assets/images/help/codespaces/git-status.png b/assets/images/help/codespaces/git-status.png
deleted file mode 100644
index b721b1a409..0000000000
Binary files a/assets/images/help/codespaces/git-status.png and /dev/null differ
diff --git a/assets/images/help/codespaces/jetbrains-branch-button.png b/assets/images/help/codespaces/jetbrains-branch-button.png
new file mode 100644
index 0000000000..f9dc6a6438
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-branch-button.png differ
diff --git a/assets/images/help/codespaces/jetbrains-checkout-submenu.png b/assets/images/help/codespaces/jetbrains-checkout-submenu.png
new file mode 100644
index 0000000000..246a5cee5f
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-checkout-submenu.png differ
diff --git a/assets/images/help/codespaces/jetbrains-codespaces-tool-window.png b/assets/images/help/codespaces/jetbrains-codespaces-tool-window.png
new file mode 100644
index 0000000000..3917deacf8
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-codespaces-tool-window.png differ
diff --git a/assets/images/help/codespaces/jetbrains-commit-and-push.png b/assets/images/help/codespaces/jetbrains-commit-and-push.png
new file mode 100644
index 0000000000..ca95d45b27
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-commit-and-push.png differ
diff --git a/assets/images/help/codespaces/jetbrains-commit-button.png b/assets/images/help/codespaces/jetbrains-commit-button.png
new file mode 100644
index 0000000000..c45c239d98
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-commit-button.png differ
diff --git a/assets/images/help/codespaces/jetbrains-copilot-plugin.png b/assets/images/help/codespaces/jetbrains-copilot-plugin.png
new file mode 100644
index 0000000000..69cf02e744
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-copilot-plugin.png differ
diff --git a/assets/images/help/codespaces/jetbrains-copilot-restart.png b/assets/images/help/codespaces/jetbrains-copilot-restart.png
new file mode 100644
index 0000000000..19c06a08a5
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-copilot-restart.png differ
diff --git a/assets/images/help/codespaces/jetbrains-create-branch-dialog.png b/assets/images/help/codespaces/jetbrains-create-branch-dialog.png
new file mode 100644
index 0000000000..2b6bb75c5a
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-create-branch-dialog.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-cli-path.png b/assets/images/help/codespaces/jetbrains-gateway-cli-path.png
new file mode 100644
index 0000000000..6140cf7a19
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-cli-path.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-cli-setup.png b/assets/images/help/codespaces/jetbrains-gateway-cli-setup.png
new file mode 100644
index 0000000000..03628d040c
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-cli-setup.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-codespaces.png b/assets/images/help/codespaces/jetbrains-gateway-codespaces.png
new file mode 100644
index 0000000000..6e0ef44ac0
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-codespaces.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-connect.png b/assets/images/help/codespaces/jetbrains-gateway-connect.png
new file mode 100644
index 0000000000..e3903e0995
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-connect.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-ides.png b/assets/images/help/codespaces/jetbrains-gateway-ides.png
new file mode 100644
index 0000000000..fc0c2d7ea1
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-ides.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-initial-view.png b/assets/images/help/codespaces/jetbrains-gateway-initial-view.png
new file mode 100644
index 0000000000..4a3225480c
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-initial-view.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-login-code.png b/assets/images/help/codespaces/jetbrains-gateway-login-code.png
new file mode 100644
index 0000000000..4442b8a869
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-login-code.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gateway-sign-in.png b/assets/images/help/codespaces/jetbrains-gateway-sign-in.png
new file mode 100644
index 0000000000..5be1cf5972
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gateway-sign-in.png differ
diff --git a/assets/images/help/codespaces/jetbrains-gui-with-callouts.png b/assets/images/help/codespaces/jetbrains-gui-with-callouts.png
new file mode 100644
index 0000000000..a54fec9209
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-gui-with-callouts.png differ
diff --git a/assets/images/help/codespaces/jetbrains-heap-setting.png b/assets/images/help/codespaces/jetbrains-heap-setting.png
new file mode 100644
index 0000000000..3f7058de51
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-heap-setting.png differ
diff --git a/assets/images/help/codespaces/jetbrains-new-branch-option.png b/assets/images/help/codespaces/jetbrains-new-branch-option.png
new file mode 100644
index 0000000000..80757cc37c
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-new-branch-option.png differ
diff --git a/assets/images/help/codespaces/jetbrains-performance.png b/assets/images/help/codespaces/jetbrains-performance.png
new file mode 100644
index 0000000000..e03f5fcdd7
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-performance.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-index.png b/assets/images/help/codespaces/jetbrains-plugin-icon-index.png
new file mode 100644
index 0000000000..9ef5f40769
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-index.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-log.png b/assets/images/help/codespaces/jetbrains-plugin-icon-log.png
new file mode 100644
index 0000000000..9acd1f21f4
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-log.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-rebuild.png b/assets/images/help/codespaces/jetbrains-plugin-icon-rebuild.png
new file mode 100644
index 0000000000..c5e8487195
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-rebuild.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-refresh-BAK.png b/assets/images/help/codespaces/jetbrains-plugin-icon-refresh-BAK.png
new file mode 100644
index 0000000000..66047f2101
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-refresh-BAK.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-refresh.png b/assets/images/help/codespaces/jetbrains-plugin-icon-refresh.png
new file mode 100644
index 0000000000..e7023ba3c5
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-refresh.png differ
diff --git a/assets/images/help/codespaces/jetbrains-plugin-icon-stop.png b/assets/images/help/codespaces/jetbrains-plugin-icon-stop.png
new file mode 100644
index 0000000000..4fed409f9c
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-plugin-icon-stop.png differ
diff --git a/assets/images/help/codespaces/jetbrains-preferences-plugins.png b/assets/images/help/codespaces/jetbrains-preferences-plugins.png
new file mode 100644
index 0000000000..71a4bcd471
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-preferences-plugins.png differ
diff --git a/assets/images/help/codespaces/jetbrains-push-button.png b/assets/images/help/codespaces/jetbrains-push-button.png
new file mode 100644
index 0000000000..76b3cef8a1
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-push-button.png differ
diff --git a/assets/images/help/codespaces/jetbrains-resources-button.png b/assets/images/help/codespaces/jetbrains-resources-button.png
new file mode 100644
index 0000000000..425e463f37
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-resources-button.png differ
diff --git a/assets/images/help/codespaces/jetbrains-toolbox.png b/assets/images/help/codespaces/jetbrains-toolbox.png
new file mode 100644
index 0000000000..87e664b49f
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-toolbox.png differ
diff --git a/assets/images/help/codespaces/jetbrains-tools-menu.png b/assets/images/help/codespaces/jetbrains-tools-menu.png
new file mode 100644
index 0000000000..8582e986e1
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-tools-menu.png differ
diff --git a/assets/images/help/codespaces/jetbrains-update-options.png b/assets/images/help/codespaces/jetbrains-update-options.png
new file mode 100644
index 0000000000..1f0ca5d003
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-update-options.png differ
diff --git a/assets/images/help/codespaces/jetbrains-update-project-button.png b/assets/images/help/codespaces/jetbrains-update-project-button.png
new file mode 100644
index 0000000000..80ace6ca17
Binary files /dev/null and b/assets/images/help/codespaces/jetbrains-update-project-button.png differ
diff --git a/assets/images/help/codespaces/launch-default-editor.png b/assets/images/help/codespaces/launch-default-editor.png
deleted file mode 100644
index f6fd5928ae..0000000000
Binary files a/assets/images/help/codespaces/launch-default-editor.png and /dev/null differ
diff --git a/assets/images/help/codespaces/new-codespace-button.png b/assets/images/help/codespaces/new-codespace-button.png
index 57c856eb49..feb162863e 100644
Binary files a/assets/images/help/codespaces/new-codespace-button.png and b/assets/images/help/codespaces/new-codespace-button.png differ
diff --git a/assets/images/help/codespaces/open-codespace-in-another-editor.png b/assets/images/help/codespaces/open-codespace-in-another-editor.png
index ffc32f5c1b..2173215866 100644
Binary files a/assets/images/help/codespaces/open-codespace-in-another-editor.png and b/assets/images/help/codespaces/open-codespace-in-another-editor.png differ
diff --git a/assets/images/help/codespaces/open-on-github.png b/assets/images/help/codespaces/open-on-github.png
new file mode 100644
index 0000000000..b45f3f440c
Binary files /dev/null and b/assets/images/help/codespaces/open-on-github.png differ
diff --git a/assets/images/help/codespaces/open-with-codespaces-pr.png b/assets/images/help/codespaces/open-with-codespaces-pr.png
index eccf23d8b5..7159d06c3b 100644
Binary files a/assets/images/help/codespaces/open-with-codespaces-pr.png and b/assets/images/help/codespaces/open-with-codespaces-pr.png differ
diff --git a/assets/images/help/codespaces/port-forwarding.png b/assets/images/help/codespaces/port-forwarding.png
index ff6be7f1aa..8f12bcbd62 100644
Binary files a/assets/images/help/codespaces/port-forwarding.png and b/assets/images/help/codespaces/port-forwarding.png differ
diff --git a/assets/images/help/codespaces/publish-to-new-repository.png b/assets/images/help/codespaces/publish-to-new-repository.png
new file mode 100644
index 0000000000..e48dcb5f09
Binary files /dev/null and b/assets/images/help/codespaces/publish-to-new-repository.png differ
diff --git a/assets/images/help/codespaces/react-template-button.png b/assets/images/help/codespaces/react-template-button.png
new file mode 100644
index 0000000000..bcfd1306a1
Binary files /dev/null and b/assets/images/help/codespaces/react-template-button.png differ
diff --git a/assets/images/help/codespaces/react-template-name.png b/assets/images/help/codespaces/react-template-name.png
new file mode 100644
index 0000000000..6ce600d86a
Binary files /dev/null and b/assets/images/help/codespaces/react-template-name.png differ
diff --git a/assets/images/help/codespaces/react-template.png b/assets/images/help/codespaces/react-template.png
new file mode 100644
index 0000000000..f150f5d2eb
Binary files /dev/null and b/assets/images/help/codespaces/react-template.png differ
diff --git a/assets/images/help/codespaces/rebuild-prompt.png b/assets/images/help/codespaces/rebuild-prompt.png
index 41119a9be9..3f34e2e9d7 100644
Binary files a/assets/images/help/codespaces/rebuild-prompt.png and b/assets/images/help/codespaces/rebuild-prompt.png differ
diff --git a/assets/images/help/codespaces/retention-deletion-message.png b/assets/images/help/codespaces/retention-deletion-message.png
index 62b190f7f5..74cb0eb238 100644
Binary files a/assets/images/help/codespaces/retention-deletion-message.png and b/assets/images/help/codespaces/retention-deletion-message.png differ
diff --git a/assets/images/help/codespaces/scopes-for-vscode.png b/assets/images/help/codespaces/scopes-for-vscode.png
new file mode 100644
index 0000000000..a2e2550a1b
Binary files /dev/null and b/assets/images/help/codespaces/scopes-for-vscode.png differ
diff --git a/assets/images/help/codespaces/select-additional-features.png b/assets/images/help/codespaces/select-additional-features.png
index 25563c56ca..9f0eb80dcb 100644
Binary files a/assets/images/help/codespaces/select-additional-features.png and b/assets/images/help/codespaces/select-additional-features.png differ
diff --git a/assets/images/help/codespaces/select-default-editor.png b/assets/images/help/codespaces/select-default-editor.png
index 30f2903ff8..c661a4ed5d 100644
Binary files a/assets/images/help/codespaces/select-default-editor.png and b/assets/images/help/codespaces/select-default-editor.png differ
diff --git a/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode-mac.png b/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode-mac.png
index 284eee35b6..eda617f853 100644
Binary files a/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode-mac.png and b/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode-mac.png differ
diff --git a/assets/images/help/codespaces/stop-codespace-webui.png b/assets/images/help/codespaces/stop-codespace-webui.png
index 8b722c1c99..f9837644ef 100644
Binary files a/assets/images/help/codespaces/stop-codespace-webui.png and b/assets/images/help/codespaces/stop-codespace-webui.png differ
diff --git a/assets/images/help/codespaces/template-new-repository-settings.png b/assets/images/help/codespaces/template-new-repository-settings.png
new file mode 100644
index 0000000000..ce484b52e0
Binary files /dev/null and b/assets/images/help/codespaces/template-new-repository-settings.png differ
diff --git a/assets/images/help/codespaces/use-this-template-button.png b/assets/images/help/codespaces/use-this-template-button.png
new file mode 100644
index 0000000000..3f2a71e7c3
Binary files /dev/null and b/assets/images/help/codespaces/use-this-template-button.png differ
diff --git a/assets/images/help/codespaces/view-personal-usage-collapsed.png b/assets/images/help/codespaces/view-personal-usage-collapsed.png
new file mode 100644
index 0000000000..664078325f
Binary files /dev/null and b/assets/images/help/codespaces/view-personal-usage-collapsed.png differ
diff --git a/assets/images/help/codespaces/view-personal-usage-expanded.png b/assets/images/help/codespaces/view-personal-usage-expanded.png
new file mode 100644
index 0000000000..f5924c1c7c
Binary files /dev/null and b/assets/images/help/codespaces/view-personal-usage-expanded.png differ
diff --git a/assets/images/help/codespaces/vscode-commit-button.png b/assets/images/help/codespaces/vscode-commit-button.png
new file mode 100644
index 0000000000..785a7d5df2
Binary files /dev/null and b/assets/images/help/codespaces/vscode-commit-button.png differ
diff --git a/assets/images/help/codespaces/vscode-publish-branch-button.png b/assets/images/help/codespaces/vscode-publish-branch-button.png
new file mode 100644
index 0000000000..1df6bc4735
Binary files /dev/null and b/assets/images/help/codespaces/vscode-publish-branch-button.png differ
diff --git a/assets/images/help/issues/add-draft-issue-to-tasklist.png b/assets/images/help/issues/add-draft-issue-to-tasklist.png
new file mode 100644
index 0000000000..f91abfa548
Binary files /dev/null and b/assets/images/help/issues/add-draft-issue-to-tasklist.png differ
diff --git a/assets/images/help/issues/add-issue-to-tasklist-button.png b/assets/images/help/issues/add-issue-to-tasklist-button.png
new file mode 100644
index 0000000000..59f7043602
Binary files /dev/null and b/assets/images/help/issues/add-issue-to-tasklist-button.png differ
diff --git a/assets/images/help/issues/add-issue-to-tasklist.png b/assets/images/help/issues/add-issue-to-tasklist.png
new file mode 100644
index 0000000000..e625dc870a
Binary files /dev/null and b/assets/images/help/issues/add-issue-to-tasklist.png differ
diff --git a/assets/images/help/issues/add-new-tasklist-button.png b/assets/images/help/issues/add-new-tasklist-button.png
new file mode 100644
index 0000000000..b0be560f08
Binary files /dev/null and b/assets/images/help/issues/add-new-tasklist-button.png differ
diff --git a/assets/images/help/issues/comment-menu-edit.png b/assets/images/help/issues/comment-menu-edit.png
new file mode 100644
index 0000000000..f666912cda
Binary files /dev/null and b/assets/images/help/issues/comment-menu-edit.png differ
diff --git a/assets/images/help/issues/comment-menu.png b/assets/images/help/issues/comment-menu.png
new file mode 100644
index 0000000000..93bd71ab84
Binary files /dev/null and b/assets/images/help/issues/comment-menu.png differ
diff --git a/assets/images/help/issues/convert-checklist-to-tasklist.png b/assets/images/help/issues/convert-checklist-to-tasklist.png
new file mode 100644
index 0000000000..1506d3a8bb
Binary files /dev/null and b/assets/images/help/issues/convert-checklist-to-tasklist.png differ
diff --git a/assets/images/help/issues/edit-tasklist-title.png b/assets/images/help/issues/edit-tasklist-title.png
new file mode 100644
index 0000000000..5caf2bd03d
Binary files /dev/null and b/assets/images/help/issues/edit-tasklist-title.png differ
diff --git a/assets/images/help/issues/paste-issue-url.png b/assets/images/help/issues/paste-issue-url.png
new file mode 100644
index 0000000000..e2b77d9013
Binary files /dev/null and b/assets/images/help/issues/paste-issue-url.png differ
diff --git a/assets/images/help/issues/search-for-issue.png b/assets/images/help/issues/search-for-issue.png
new file mode 100644
index 0000000000..0aa8a7e784
Binary files /dev/null and b/assets/images/help/issues/search-for-issue.png differ
diff --git a/assets/images/help/issues/select-recent-issue.png b/assets/images/help/issues/select-recent-issue.png
new file mode 100644
index 0000000000..a565bbf12b
Binary files /dev/null and b/assets/images/help/issues/select-recent-issue.png differ
diff --git a/assets/images/help/issues/tasklist-add-tasklist-button.png b/assets/images/help/issues/tasklist-add-tasklist-button.png
new file mode 100644
index 0000000000..5cf8d55576
Binary files /dev/null and b/assets/images/help/issues/tasklist-add-tasklist-button.png differ
diff --git a/assets/images/help/issues/tasklist-convert-to-issue.png b/assets/images/help/issues/tasklist-convert-to-issue.png
new file mode 100644
index 0000000000..a4dd543fcc
Binary files /dev/null and b/assets/images/help/issues/tasklist-convert-to-issue.png differ
diff --git a/assets/images/help/issues/tasklist-copy-markdown.png b/assets/images/help/issues/tasklist-copy-markdown.png
new file mode 100644
index 0000000000..43acb38c66
Binary files /dev/null and b/assets/images/help/issues/tasklist-copy-markdown.png differ
diff --git a/assets/images/help/issues/tasklist-hero.png b/assets/images/help/issues/tasklist-hero.png
new file mode 100644
index 0000000000..0a2742bc9c
Binary files /dev/null and b/assets/images/help/issues/tasklist-hero.png differ
diff --git a/assets/images/help/issues/tasklist-item-kebab.png b/assets/images/help/issues/tasklist-item-kebab.png
new file mode 100644
index 0000000000..800bd7223b
Binary files /dev/null and b/assets/images/help/issues/tasklist-item-kebab.png differ
diff --git a/assets/images/help/issues/tasklist-kebab.png b/assets/images/help/issues/tasklist-kebab.png
new file mode 100644
index 0000000000..cc36554cc8
Binary files /dev/null and b/assets/images/help/issues/tasklist-kebab.png differ
diff --git a/assets/images/help/issues/tasklist-remove.png b/assets/images/help/issues/tasklist-remove.png
new file mode 100644
index 0000000000..edec17bd3e
Binary files /dev/null and b/assets/images/help/issues/tasklist-remove.png differ
diff --git a/assets/images/help/projects-v2/select-tracked-by-field.png b/assets/images/help/projects-v2/select-tracked-by-field.png
new file mode 100644
index 0000000000..49189d2346
Binary files /dev/null and b/assets/images/help/projects-v2/select-tracked-by-field.png differ
diff --git a/assets/images/help/projects-v2/select-tracks-field.png b/assets/images/help/projects-v2/select-tracks-field.png
new file mode 100644
index 0000000000..ecec0603b2
Binary files /dev/null and b/assets/images/help/projects-v2/select-tracks-field.png differ
diff --git a/assets/images/help/repository/code-view-blame-button.png b/assets/images/help/repository/code-view-blame-button.png
new file mode 100644
index 0000000000..4a8f2141bc
Binary files /dev/null and b/assets/images/help/repository/code-view-blame-button.png differ
diff --git a/assets/images/help/repository/code-view-blame-commit-description.png b/assets/images/help/repository/code-view-blame-commit-description.png
new file mode 100644
index 0000000000..1ae58c5dac
Binary files /dev/null and b/assets/images/help/repository/code-view-blame-commit-description.png differ
diff --git a/assets/images/help/repository/code-view-blame-hide-commit.png b/assets/images/help/repository/code-view-blame-hide-commit.png
new file mode 100644
index 0000000000..73855575dd
Binary files /dev/null and b/assets/images/help/repository/code-view-blame-hide-commit.png differ
diff --git a/assets/images/help/repository/code-view-button.png b/assets/images/help/repository/code-view-button.png
new file mode 100644
index 0000000000..6753b1d36c
Binary files /dev/null and b/assets/images/help/repository/code-view-button.png differ
diff --git a/assets/images/help/repository/code-view-clickable-symbol.png b/assets/images/help/repository/code-view-clickable-symbol.png
new file mode 100644
index 0000000000..7b84821146
Binary files /dev/null and b/assets/images/help/repository/code-view-clickable-symbol.png differ
diff --git a/assets/images/help/repository/code-view-delete-directory.png b/assets/images/help/repository/code-view-delete-directory.png
new file mode 100644
index 0000000000..4c5c7729c7
Binary files /dev/null and b/assets/images/help/repository/code-view-delete-directory.png differ
diff --git a/assets/images/help/repository/code-view-edit-dropdown.png b/assets/images/help/repository/code-view-edit-dropdown.png
new file mode 100644
index 0000000000..646c4ce1a4
Binary files /dev/null and b/assets/images/help/repository/code-view-edit-dropdown.png differ
diff --git a/assets/images/help/repository/code-view-edit-icon.png b/assets/images/help/repository/code-view-edit-icon.png
new file mode 100644
index 0000000000..e81af3d2bd
Binary files /dev/null and b/assets/images/help/repository/code-view-edit-icon.png differ
diff --git a/assets/images/help/repository/code-view-find-in-file.png b/assets/images/help/repository/code-view-find-in-file.png
new file mode 100644
index 0000000000..d497051f7b
Binary files /dev/null and b/assets/images/help/repository/code-view-find-in-file.png differ
diff --git a/assets/images/help/repository/code-view-preview-button.png b/assets/images/help/repository/code-view-preview-button.png
new file mode 100644
index 0000000000..04f2a1b837
Binary files /dev/null and b/assets/images/help/repository/code-view-preview-button.png differ
diff --git a/assets/images/help/repository/code-view-symbol-result-navigation.png b/assets/images/help/repository/code-view-symbol-result-navigation.png
new file mode 100644
index 0000000000..d92198ff09
Binary files /dev/null and b/assets/images/help/repository/code-view-symbol-result-navigation.png differ
diff --git a/assets/images/help/repository/code-view-symbol-search-result.png b/assets/images/help/repository/code-view-symbol-search-result.png
new file mode 100644
index 0000000000..8e5edc6470
Binary files /dev/null and b/assets/images/help/repository/code-view-symbol-search-result.png differ
diff --git a/assets/images/help/repository/code-view-symbols-pane-all-symbols.png b/assets/images/help/repository/code-view-symbols-pane-all-symbols.png
new file mode 100644
index 0000000000..766bc50346
Binary files /dev/null and b/assets/images/help/repository/code-view-symbols-pane-all-symbols.png differ
diff --git a/assets/images/help/repository/code-view-symbols-pane-expand-search.png b/assets/images/help/repository/code-view-symbols-pane-expand-search.png
new file mode 100644
index 0000000000..e83103e929
Binary files /dev/null and b/assets/images/help/repository/code-view-symbols-pane-expand-search.png differ
diff --git a/assets/images/help/repository/code-view-symbols-pane-icon.png b/assets/images/help/repository/code-view-symbols-pane-icon.png
new file mode 100644
index 0000000000..7fad5f4531
Binary files /dev/null and b/assets/images/help/repository/code-view-symbols-pane-icon.png differ
diff --git a/assets/images/help/repository/code-view-symbols-pane-symbol.png b/assets/images/help/repository/code-view-symbols-pane-symbol.png
new file mode 100644
index 0000000000..2b3d743b52
Binary files /dev/null and b/assets/images/help/repository/code-view-symbols-pane-symbol.png differ
diff --git a/assets/images/help/repository/code-view-upload-files.png b/assets/images/help/repository/code-view-upload-files.png
new file mode 100644
index 0000000000..4001b06e40
Binary files /dev/null and b/assets/images/help/repository/code-view-upload-files.png differ
diff --git a/assets/images/help/repository/cross-repository-code-navigation.png b/assets/images/help/repository/cross-repository-code-navigation.png
new file mode 100644
index 0000000000..a7eca67d70
Binary files /dev/null and b/assets/images/help/repository/cross-repository-code-navigation.png differ
diff --git a/assets/images/help/repository/file-tree-view-branch-dropdown-tags.png b/assets/images/help/repository/file-tree-view-branch-dropdown-tags.png
new file mode 100644
index 0000000000..7e1097fec9
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-branch-dropdown-tags.png differ
diff --git a/assets/images/help/repository/file-tree-view-branch-dropdown.png b/assets/images/help/repository/file-tree-view-branch-dropdown.png
new file mode 100644
index 0000000000..24ed897db5
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-branch-dropdown.png differ
diff --git a/assets/images/help/repository/file-tree-view-directory-selected.png b/assets/images/help/repository/file-tree-view-directory-selected.png
new file mode 100644
index 0000000000..796a649bf0
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-directory-selected.png differ
diff --git a/assets/images/help/repository/file-tree-view-expand-directory.png b/assets/images/help/repository/file-tree-view-expand-directory.png
new file mode 100644
index 0000000000..597306a76b
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-expand-directory.png differ
diff --git a/assets/images/help/repository/file-tree-view-file-selected.png b/assets/images/help/repository/file-tree-view-file-selected.png
new file mode 100644
index 0000000000..0f630dbf96
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-file-selected.png differ
diff --git a/assets/images/help/repository/file-tree-view-jump-to-file.png b/assets/images/help/repository/file-tree-view-jump-to-file.png
new file mode 100644
index 0000000000..6b1d8456f6
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-jump-to-file.png differ
diff --git a/assets/images/help/repository/file-tree-view-new-file-icon.png b/assets/images/help/repository/file-tree-view-new-file-icon.png
new file mode 100644
index 0000000000..36f7d7a962
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-new-file-icon.png differ
diff --git a/assets/images/help/repository/file-tree-view-search-icon.png b/assets/images/help/repository/file-tree-view-search-icon.png
new file mode 100644
index 0000000000..f62db9cdd0
Binary files /dev/null and b/assets/images/help/repository/file-tree-view-search-icon.png differ
diff --git a/assets/images/help/repository/repository-settings-icon.png b/assets/images/help/repository/repository-settings-icon.png
new file mode 100644
index 0000000000..e759b03fd6
Binary files /dev/null and b/assets/images/help/repository/repository-settings-icon.png differ
diff --git a/assets/images/help/repository/use-this-template-button.png b/assets/images/help/repository/use-this-template-button.png
index d660533e5f..b6b8eeac03 100644
Binary files a/assets/images/help/repository/use-this-template-button.png and b/assets/images/help/repository/use-this-template-button.png differ
diff --git a/assets/images/help/search/code-search-beta-create-saved-search-window.png b/assets/images/help/search/code-search-beta-create-saved-search-window.png
new file mode 100644
index 0000000000..f27d0c04df
Binary files /dev/null and b/assets/images/help/search/code-search-beta-create-saved-search-window.png differ
diff --git a/assets/images/help/search/code-search-beta-create-saved-search.png b/assets/images/help/search/code-search-beta-create-saved-search.png
new file mode 100644
index 0000000000..8d2b0578e6
Binary files /dev/null and b/assets/images/help/search/code-search-beta-create-saved-search.png differ
diff --git a/assets/images/help/search/code-search-beta-edit-or-delete-saved-search.png b/assets/images/help/search/code-search-beta-edit-or-delete-saved-search.png
new file mode 100644
index 0000000000..5ddb643f60
Binary files /dev/null and b/assets/images/help/search/code-search-beta-edit-or-delete-saved-search.png differ
diff --git a/assets/images/help/search/code-search-beta-results-view.png b/assets/images/help/search/code-search-beta-results-view.png
new file mode 100644
index 0000000000..dd93a0ec21
Binary files /dev/null and b/assets/images/help/search/code-search-beta-results-view.png differ
diff --git a/assets/images/help/search/code-search-beta-saved-search-in-search-bar.png b/assets/images/help/search/code-search-beta-saved-search-in-search-bar.png
new file mode 100644
index 0000000000..b0251ad828
Binary files /dev/null and b/assets/images/help/search/code-search-beta-saved-search-in-search-bar.png differ
diff --git a/assets/images/help/search/code-search-beta-search-bar-code-suggestions.png b/assets/images/help/search/code-search-beta-search-bar-code-suggestions.png
new file mode 100644
index 0000000000..fa8fd531a4
Binary files /dev/null and b/assets/images/help/search/code-search-beta-search-bar-code-suggestions.png differ
diff --git a/assets/images/help/search/code-search-beta-search-bar.png b/assets/images/help/search/code-search-beta-search-bar.png
new file mode 100644
index 0000000000..6a228f16e6
Binary files /dev/null and b/assets/images/help/search/code-search-beta-search-bar.png differ
diff --git a/assets/images/help/security-overview/security-coverage-view.png b/assets/images/help/security-overview/security-coverage-view.png
new file mode 100644
index 0000000000..6f03693216
Binary files /dev/null and b/assets/images/help/security-overview/security-coverage-view.png differ
diff --git a/assets/images/help/organizations/security-overview-code-scanning-alerts.png b/assets/images/help/security-overview/security-overview-code-scanning-alerts.png
similarity index 100%
rename from assets/images/help/organizations/security-overview-code-scanning-alerts.png
rename to assets/images/help/security-overview/security-overview-code-scanning-alerts.png
diff --git a/assets/images/help/organizations/security-overview-filter-alerts.png b/assets/images/help/security-overview/security-overview-filter-alerts.png
similarity index 100%
rename from assets/images/help/organizations/security-overview-filter-alerts.png
rename to assets/images/help/security-overview/security-overview-filter-alerts.png
diff --git a/assets/images/help/organizations/security-overview-icons.png b/assets/images/help/security-overview/security-overview-icons.png
similarity index 100%
rename from assets/images/help/organizations/security-overview-icons.png
rename to assets/images/help/security-overview/security-overview-icons.png
diff --git a/assets/images/help/organizations/security-overview.png b/assets/images/help/security-overview/security-overview-org-legacy.png
similarity index 100%
rename from assets/images/help/organizations/security-overview.png
rename to assets/images/help/security-overview/security-overview-org-legacy.png
diff --git a/assets/images/help/organizations/security-overview-show-more-button.png b/assets/images/help/security-overview/security-overview-show-more-button.png
similarity index 100%
rename from assets/images/help/organizations/security-overview-show-more-button.png
rename to assets/images/help/security-overview/security-overview-show-more-button.png
diff --git a/assets/images/help/security-overview/security-risk-interactive-header.png b/assets/images/help/security-overview/security-risk-interactive-header.png
new file mode 100644
index 0000000000..82abbf3922
Binary files /dev/null and b/assets/images/help/security-overview/security-risk-interactive-header.png differ
diff --git a/assets/images/help/security-overview/security-risk-view.png b/assets/images/help/security-overview/security-risk-view.png
new file mode 100644
index 0000000000..75b8e27ce1
Binary files /dev/null and b/assets/images/help/security-overview/security-risk-view.png differ
diff --git a/assets/images/help/security/advisories-tab.png b/assets/images/help/security/advisories-tab.png
index 1e0da785ae..5c8adab9b2 100644
Binary files a/assets/images/help/security/advisories-tab.png and b/assets/images/help/security/advisories-tab.png differ
diff --git a/assets/images/help/security/advisory-list.png b/assets/images/help/security/advisory-list.png
new file mode 100644
index 0000000000..e0d9052f8d
Binary files /dev/null and b/assets/images/help/security/advisory-list.png differ
diff --git a/assets/images/help/security/advisory-maintainer-options.png b/assets/images/help/security/advisory-maintainer-options.png
new file mode 100644
index 0000000000..e713cdab19
Binary files /dev/null and b/assets/images/help/security/advisory-maintainer-options.png differ
diff --git a/assets/images/help/security/advisory-start-a-temporary-private-fork-button.png b/assets/images/help/security/advisory-start-a-temporary-private-fork-button.png
new file mode 100644
index 0000000000..1576fddec2
Binary files /dev/null and b/assets/images/help/security/advisory-start-a-temporary-private-fork-button.png differ
diff --git a/assets/images/help/security/advisory-submit-report-button.png b/assets/images/help/security/advisory-submit-report-button.png
new file mode 100644
index 0000000000..ab46351da6
Binary files /dev/null and b/assets/images/help/security/advisory-submit-report-button.png differ
diff --git a/assets/images/help/security/private-vulnerability-reporting-enable-or-disable.png b/assets/images/help/security/private-vulnerability-reporting-enable-or-disable.png
new file mode 100644
index 0000000000..32013682a2
Binary files /dev/null and b/assets/images/help/security/private-vulnerability-reporting-enable-or-disable.png differ
diff --git a/assets/images/help/security/report-a-vulnerability-button.png b/assets/images/help/security/report-a-vulnerability-button.png
new file mode 100644
index 0000000000..bbdcd9ce34
Binary files /dev/null and b/assets/images/help/security/report-a-vulnerability-button.png differ
diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx
index d04647983e..ee5a7c2094 100644
--- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx
+++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx
@@ -11,9 +11,11 @@ const article: PlaygroundArticleT = {
'/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces',
codeLanguageId: 'dotnet',
intro: dedent`
- This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **C# (.NET)** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+ This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **C# (.NET)** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
- If you want to add a dev container configuration for another programming language, click the language button to the right.
+ To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client.
+
+ These instructions are for C#. If you want to add a dev container configuration for another programming language, click the language button to the right.
`,
prerequisites: dedent`
- You should have an existing C# (.NET) project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/python-quickstart.
@@ -27,11 +29,11 @@ const article: PlaygroundArticleT = {
type: 'default',
title: 'Step 1: Open your project in a codespace',
content: dedent`
- 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**.
+ 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+).

- If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information.
+ If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information.
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including .NET. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx
index 3950e5920f..9082ad2843 100644
--- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx
+++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx
@@ -13,7 +13,9 @@ const article: PlaygroundArticleT = {
intro: dedent`
This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Java** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
- If you want to add a dev container configuration for another programming language, click the language button to the right.
+ To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client.
+
+ These instructions are for Java. If you want to add a dev container configuration for another programming language, click the language button to the right.
`,
prerequisites: dedent`
- You should have an existing Java project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-java
@@ -27,11 +29,11 @@ const article: PlaygroundArticleT = {
type: 'default',
title: 'Step 1: Open your project in a codespace',
content: dedent`
- 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**.
+ 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+).

- If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information.
+ If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information.
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Java, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx
index eebba23d1f..4c63305db0 100644
--- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx
+++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx
@@ -13,7 +13,9 @@ const article: PlaygroundArticleT = {
intro: dedent`
This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Node.js** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
- If you want to add a dev container configuration for another programming language, click the language button to the right.
+ To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client.
+
+ These instructions are for Node.js. If you want to add a dev container configuration for another programming language, click the language button to the right.
`,
prerequisites: dedent`
- You should have an existing JavaScript, Node.js, or TypeScript project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/microsoft/vscode-remote-try-node
@@ -27,11 +29,11 @@ const article: PlaygroundArticleT = {
type: 'default',
title: 'Step 1: Open your project in a codespace',
content: dedent`
- 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**.
+ 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+).

- If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information.
+ If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information.
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx
index 87425b849b..5910e1abd7 100644
--- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx
+++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx
@@ -13,7 +13,9 @@ const article: PlaygroundArticleT = {
intro: dedent`
This guide shows you how to add a dev container configuration to your repository to define the GitHub Codespaces development environment for your **Python** codebase. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
- If you want to add a dev container configuration for another programming language, click the language button to the right.
+ To work through the instructions in this guide you will use a codespace, in either the Visual Studio Code desktop application or the VS Code web client.
+
+ These instructions are for Python. If you want to add a dev container configuration for another programming language, click the language button to the right.
`,
prerequisites: dedent`
- You should have an existing Python project in a repository on GitHub.com. If you don't have a project, you can try this tutorial with the following example: https://github.com/2percentsilk/python-quickstart.
@@ -27,11 +29,11 @@ const article: PlaygroundArticleT = {
type: 'default',
title: 'Step 1: Open your project in a codespace',
content: dedent`
- 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**.
+ 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click the plus sign (+).

- If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information.
+ If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces) for more information.
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Python, pip, and Miniconda. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
diff --git a/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md b/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md
new file mode 100644
index 0000000000..9ef8bc448b
--- /dev/null
+++ b/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md
@@ -0,0 +1,240 @@
+---
+title: Automating migration with GitHub Actions Importer
+intro: 'Use {% data variables.product.prodname_actions_importer %} to plan and automate your migration to {% data variables.product.prodname_actions %}.'
+versions:
+ fpt: '*'
+ ghec: '*'
+ ghes: '*'
+ ghae: '*'
+type: how_to
+miniTocMaxHeadingLevel: 3
+topics:
+ - Migration
+ - CI
+ - CD
+shortTitle: Automate migration with {% data variables.product.prodname_actions_importer %}
+---
+
+{% data reusables.actions.enterprise-beta %}
+{% data reusables.actions.enterprise-github-hosted-runners %}
+
+[Legal notice](#legal-notice)
+
+{% note %}
+
+**Note**: {% data variables.product.prodname_actions_importer %} is currently available as a public preview. Visit the [sign up page](https://github.com/features/actions-importer/signup) to request access to the preview. Once you are granted access you'll be able to use the `gh-actions-importer` CLI extension
+
+{% endnote %}
+
+## About {% data variables.product.prodname_actions_importer %}
+
+You can use {% data variables.product.prodname_actions_importer %} to plan and automatically migrate your CI/CD pipelines to {% data variables.product.prodname_actions %} from Azure DevOps, CircleCI, GitLab, Jenkins, and Travis CI.
+
+{% data variables.product.prodname_actions_importer %} is distributed as a Docker container, and uses a [{% data variables.product.prodname_dotcom %} CLI](https://cli.github.com) extension to interact with the container.
+
+Any workflow that is converted by the {% data variables.product.prodname_actions_importer %} should be inspected for correctness before using it as a production workload. The goal is to achieve an 80% conversion rate for every workflow, however, the actual conversion rate will depend on the makeup of each individual pipeline that is converted.
+
+## Supported CI platforms
+
+You can use {% data variables.product.prodname_actions_importer %} to migrate from the following platforms:
+
+- Azure DevOps
+- CircleCI
+- GitLab
+- Jenkins
+- Travis CI
+
+Once you are granted access to the preview, you will be able to access further reference documentation for each of the supported platforms.
+
+## Prerequisites
+
+{% data variables.product.prodname_actions_importer %} has the following requirements:
+
+- You must have been granted access to the public preview for the {% data variables.product.prodname_actions_importer %}.
+{%- ifversion ghes < 3.5 or ghae %}
+- Use a {% data variables.product.pat_generic %} with the `read:packages` scope enabled.
+{%- else %}
+- You must have credentials to authenticate to the {% data variables.product.prodname_registry %} {% data variables.product.prodname_container_registry %}. For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry)."
+{% endif %}
+- An environment where you can run Linux-based containers, and can install the necessary tools.
+ - Docker is [installed](https://docs.docker.com/get-docker/) and running.
+ - [{% data variables.product.prodname_dotcom %} CLI](https://cli.github.com) is installed.
+
+ {% note %}
+
+ **Note**: The {% data variables.product.prodname_actions_importer %} container and CLI do not need to be installed on the same server as your CI platform.
+
+ {% endnote %}
+
+### Installing the {% data variables.product.prodname_actions_importer %} CLI extension
+
+1. Install the {% data variables.product.prodname_actions_importer %} CLI extension:
+
+ ```bash
+ $ gh extension install github/gh-actions-importer
+ ```
+1. Verify that the extension is installed:
+
+ ```bash
+ $ gh actions-importer -h
+ Options:
+ -?, -h, --help Show help and usage information
+
+ Commands:
+ update Update to the latest version of the GitHub Actions Importer.
+ version Display the version of the GitHub Actions Importer.
+ configure Start an interactive prompt to configure credentials used to authenticate with your CI server(s).
+ audit Plan your CI/CD migration by analyzing your current CI/CD footprint.
+ forecast Forecast GitHub Actions usage from historical pipeline utilization.
+ dry-run Convert a pipeline to a GitHub Actions workflow and output its yaml file.
+ migrate Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.
+ ```
+
+### Updating the {% data variables.product.prodname_actions_importer %} CLI
+
+To ensure you're running the latest version of {% data variables.product.prodname_actions_importer %}, you should regularly run the `update` command:
+
+```bash
+$ gh actions-importer update
+```
+
+You must be authenticated with the {% data variables.product.prodname_container_registry %} for this command to be successful. Alternatively, you can provide credentials using the `--username` and `--password-stdin` parameters:
+
+```bash
+$ echo $GITHUB_TOKEN | gh actions-importer update --username $GITHUB_HANDLE --password-stdin
+```
+
+### Authenticating at the command line
+
+You must configure credentials that allow {% data variables.product.prodname_actions_importer %} to communicate with {% data variables.product.prodname_dotcom %} and your current CI server. You can configure these credentials using environment variables or a `.env.local` file. The environment variables can be configured in an interactive prompt, by running the following command:
+
+```bash
+$ gh actions-importer configure
+```
+
+Once you are granted access to the preview, you will be able to access further reference documentation about using environment variables.
+
+## Using the {% data variables.product.prodname_actions_importer %} CLI
+
+Use the subcommands of `gh actions-importer` to begin your migration to {% data variables.product.prodname_actions %}, including `audit`, `forecast`, `dry-run`, and `migrate`.
+
+### Auditing your existing CI pipelines
+
+The `audit` subcommand can be used to plan your CI/CD migration by analyzing your current CI/CD footprint. This analysis can be used to plan a timeline for migrating to {% data variables.product.prodname_actions %}.
+
+To run an audit, use the following command to determine your available options:
+
+```bash
+$ gh actions-importer audit -h
+Description:
+ Plan your CI/CD migration by analyzing your current CI/CD footprint.
+
+[...]
+
+Commands:
+ azure-devops An audit will output a list of data used in an Azure DevOps instance.
+ circle-ci An audit will output a list of data used in a CircleCI instance.
+ gitlab An audit will output a list of data used in a GitLab instance.
+ jenkins An audit will output a list of data used in a Jenkins instance.
+ travis-ci An audit will output a list of data used in a Travis CI instance.
+```
+
+Once you are granted access to the preview, you will be able to access further reference documentation about running an audit.
+
+### Forecasting usage
+
+The `forecast` subcommand reviews historical pipeline usage to create a forecast of {% data variables.product.prodname_actions %} usage.
+
+To run a forecast, use the following command to determine your available options:
+
+```bash
+$ gh actions-importer forecast -h
+Description:
+ Forecasts GitHub Actions usage from historical pipeline utilization.
+
+[...]
+
+Commands:
+ azure-devops Forecasts GitHub Actions usage from historical Azure DevOps pipeline utilization.
+ jenkins Forecasts GitHub Actions usage from historical Jenkins pipeline utilization.
+ gitlab Forecasts GitHub Actions usage from historical GitLab pipeline utilization.
+ circle-ci Forecasts GitHub Actions usage from historical CircleCI pipeline utilization.
+ travis-ci Forecasts GitHub Actions usage from historical Travis CI pipeline utilization.
+ github Forecasts GitHub Actions usage from historical GitHub pipeline utilization.
+```
+
+Once you are granted access to the preview, you will be able to access further reference documentation about running a forecast.
+
+### Testing the migration process
+
+The `dry-run` subcommand can be used to convert a pipeline to its {% data variables.product.prodname_actions %} equivalent, and then write the workflow to your local filesystem.
+
+To perform a dry run, use the following command to determine your available options:
+
+```bash
+$ gh actions-importer dry-run -h
+Description:
+ Convert a pipeline to a GitHub Actions workflow and output its yaml file.
+
+[...]
+
+Commands:
+ azure-devops Convert an Azure DevOps pipeline to a GitHub Actions workflow and output its yaml file.
+ circle-ci Convert a CircleCI pipeline to GitHub Actions workflows and output the yaml file(s).
+ gitlab Convert a GitLab pipeline to a GitHub Actions workflow and output the yaml file.
+ jenkins Convert a Jenkins job to a GitHub Actions workflow and output its yaml file.
+ travis-ci Convert a Travis CI pipeline to a GitHub Actions workflow and output its yaml file.
+```
+
+Once you are granted access to the preview, you will be able to access further reference documentation about performing a dry run.
+
+### Migrating a pipeline to {% data variables.product.prodname_actions %}
+
+The `migrate` subcommand can be used to convert a pipeline to its GitHub Actions equivalent and then create a pull request with the contents.
+
+To run a migration, use the following command to determine your available options:
+
+```bash
+$ gh actions-importer migrate -h
+Description:
+ Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.
+
+[...]
+
+Commands:
+ azure-devops Convert an Azure DevOps pipeline to a GitHub Actions workflow and open a pull request with the changes.
+ circle-ci Convert a CircleCI pipeline to GitHub Actions workflows and open a pull request with the changes.
+ gitlab Convert a GitLab pipeline to a GitHub Actions workflow and open a pull request with the changes.
+ jenkins Convert a Jenkins job to a GitHub Actions workflow and open a pull request with the changes.
+ travis-ci Convert a Travis CI pipeline to a GitHub Actions workflow and and open a pull request with the changes.
+```
+
+Once you are granted access to the preview, you will be able to access further reference documentation about running a migration.
+
+## Legal notice
+
+Portions have been adapted from https://github.com/github/gh-actions-importer/ under the MIT license:
+
+```
+MIT License
+
+Copyright (c) 2022 GitHub
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
diff --git a/content/actions/migrating-to-github-actions/index.md b/content/actions/migrating-to-github-actions/index.md
index 61eeec8a61..65e3a68d79 100644
--- a/content/actions/migrating-to-github-actions/index.md
+++ b/content/actions/migrating-to-github-actions/index.md
@@ -11,6 +11,7 @@ redirect_from:
- /actions/migrating-to-github-actions
- /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax
children:
+ - /automating-migration-with-github-actions-importer
- /migrating-from-azure-pipelines-to-github-actions
- /migrating-from-circleci-to-github-actions
- /migrating-from-gitlab-cicd-to-github-actions
diff --git a/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md b/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md
index 6dc761b9a2..58f812ba1b 100644
--- a/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md
+++ b/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md
@@ -48,7 +48,7 @@ Identify the gates and checks in your existing system and verify that you can im
### Identifying and validating migration tools
-Automated migration tools can translate your enterprise's workflows from the existing system's syntax to the syntax required by {% data variables.product.prodname_actions %}. Identify third-party tooling or contact your dedicated representative or {% data variables.contact.contact_enterprise_sales %} to ask about tools that {% data variables.product.company_short %} can provide.
+Automated migration tools can translate your enterprise's workflows from the existing system's syntax to the syntax required by {% data variables.product.prodname_actions %}. Identify third-party tooling or contact your dedicated representative or {% data variables.contact.contact_enterprise_sales %} to ask about tools that {% data variables.product.company_short %} can provide. For example, you can use the {% data variables.product.prodname_actions_importer %} to plan, scope, and migrate your CI pipelines to {% data variables.product.prodname_actions %} from various supported services. For more information, see "[Automating migration with {% data variables.product.prodname_actions_importer %}](/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer)."
After you've identified a tool to automate your migrations, validate the tool by running the tool on some test workflows and verifying that the results are as expected.
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
index 82146c1824..004a44b9e4 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md
@@ -35,7 +35,8 @@ In addition to viewing your audit log, you can monitor activity in your enterpri
As an enterprise owner{% ifversion ghes %} or site administrator{% endif %}, you can interact with the audit log data for your enterprise in several ways:
- You can view the audit log for your enterprise. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)."
-- You can search the audit log for specific events{% ifversion ghec %} and export audit log data{% endif %}. For more information, see "[Searching the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise)"{% ifversion ghec %} and "[Exporting the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise)"{% endif %}.{% ifversion audit-data-retention-tab %}
+- You can search the audit log for specific events{% ifversion ghec %} and export audit log data{% endif %}. For more information, see "[Searching the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise)"{% ifversion ghec %} and "[Exporting the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise)"{% endif %}.{% ifversion token-audit-log %}
+- You can identify all events that were performed by a specific access token. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)."{% endif %}{% ifversion audit-data-retention-tab %}
- You can configure settings, such as the retention period for audit log events{% ifversion enable-git-events %} and whether Git events are included{% endif %}. For more information, see "[Configuring the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise)."{% endif %}
{%- ifversion enterprise-audit-log-ip-addresses %}
- You can display the IP address associated with events in the audit log. For more information, see "[Displaying IP addresses in the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise)."
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md
new file mode 100644
index 0000000000..9d42782e5f
--- /dev/null
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md
@@ -0,0 +1,68 @@
+---
+title: Identifying audit log events performed by an access token
+shortTitle: Identify events by token
+intro: 'You can identify the actions performed by a specific {% data variables.product.pat_generic %} or OAuth token in your enterprise.'
+versions:
+ feature: token-audit-log
+---
+
+## About token data in the audit log
+
+In your enterprise's audit log, for any actions that were performed using a {% data variables.product.pat_generic %} or OAuth application for authentication, the event data will show the authentication method used and the SHA-256 hash of the token.
+
+If you learn that a token was compromised, you can understand the actions taken by the compromised token by searching your enterprise's audit log for all events associated with that token.
+
+Hashed token values are not included when you export the audit log.
+
+## Searching for events associated with a token
+
+When searching for events associated with a specific token, you can use the UI or REST API. In either case, you will need to know the SHA-256 hash of the token first.
+
+### Generating a SHA-256 hash value for a token
+
+If you only have a raw token value, you'll need to generate a SHA-256 hash before you can search for the token.
+
+For MacOS and Linux, you can use `echo -n TOKEN | openssl dgst -sha256 -binary | base64`, replacing TOKEN with the token value.
+
+For Powershell, you can use the following script to return a SHA-256 hash for a given string.
+
+```shell{:copy}
+Param (
+ [Parameter(Mandatory=$true)]
+ [string]
+ $ClearString
+)
+
+$hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
+$hash = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($ClearString))
+
+$hashString = [System.BitConverter]::ToString($hash)
+$hashString.Replace('-', '')
+```
+
+### Searching on {% data variables.product.prodname_dotcom %}
+
+While searching the audit log on {% data variables.product.prodname_dotcom %}, include `hashed_token:"VALUE"` in your search query, replacing `VALUE` with the SHA-256 hash of the token.
+
+{% note %}
+
+**Note:** Make sure to wrap the hashed token value in quotation marks.
+
+{% endnote %}
+
+### Searching with the REST API
+
+Before you can search for a token using the REST API, after you generate a SHA-256 hash, you also need to URI-escape the hash. Most major programming languages provide a utility for URI escaping. For example, [encodeURIComponent()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) encodes a string for JavaScript.
+
+Then, include `hashed_token:"VALUE"` in your search phrase, replacing VALUE with the URI-escaped hash.
+
+For example, if the name of the enterprise account is `octo-corp`, the following curl command would search @octo-corp's audit log for all events that are associated with the token whose URI-encoded SHA-256 hash is `EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8`.
+
+```
+curl --location --request GET 'https://api.github.com/enterprises/octo-corp/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"' \
+--header 'Authorization: Basic TOKEN' \
+```
+
+## Further reading
+
+- "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise)"
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md
index 8ee165aa1a..b820feece5 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md
@@ -14,6 +14,7 @@ children:
- /configuring-the-audit-log-for-your-enterprise
- /displaying-ip-addresses-in-the-audit-log-for-your-enterprise
- /searching-the-audit-log-for-your-enterprise
+ - /identifying-audit-log-events-performed-by-an-access-token
- /exporting-audit-log-activity-for-your-enterprise
- /streaming-the-audit-log-for-your-enterprise
- /using-the-audit-log-api-for-your-enterprise
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
index 5b3b8bcaef..901048a1e8 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
@@ -80,6 +80,9 @@ Key | Value
`org_id` | ID of the organization affected by the action (if applicable)
`business` | Name of the enterprise affected by the action (if applicable)
`business_id` | ID of the enterprise affected by the action (if applicable)
+{%- ifversion token-audit-log %}
+`hashed_token` | The token used to authenticate for the action (if applicable, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)")
+{%- endif %}
To see actions grouped by category, you can also use the action qualifier as a `key:value` pair. For more information, see "[Search based on the action performed](#search-based-on-the-action-performed)."
@@ -130,3 +133,9 @@ Using the qualifier `country`, you can filter events in the audit log based on t
* `country:de` finds all events that occurred in Germany.
* `country:Mexico` finds all events that occurred in Mexico.
* `country:"United States"` all finds events that occurred in the United States.
+
+{% ifversion token-audit-log %}
+### Search based on the token that performed the action
+
+Use the `hashed_token` qualifier to search based on the token that performed the action. Before you can search for a token, you must generate a SHA-256 hash. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)."
+{% endif %}
\ No newline at end of file
diff --git a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md
index bc3828f634..ce73aba9f4 100644
--- a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md
+++ b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md
@@ -1,14 +1,12 @@
---
title: About billing for GitHub Codespaces
shortTitle: About billing
-intro: 'View pricing and see how to manage {% data variables.product.prodname_github_codespaces %} billing for your organization.'
-permissions: 'To manage billing for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner or a billing manager.'
+intro: 'Learn about the costs for using {% data variables.product.prodname_github_codespaces %}, and the monthly usage quotas included with {% data variables.product.prodname_dotcom %} personal accounts.'
miniTocMaxHeadingLevel: 3
versions:
fpt: '*'
ghec: '*'
type: overview
-product: '{% data reusables.gated-features.codespaces %}'
topics:
- Codespaces
- Billing
@@ -23,20 +21,59 @@ redirect_from:
## {% data variables.product.prodname_github_codespaces %} pricing
-Charges are incurred for the use of {% data variables.product.prodname_github_codespaces %} for repositories owned by organization and enterprise accounts on {% data variables.product.prodname_team %} and {% data variables.product.prodname_enterprise %}. These accounts do not include any free minutes or storage for {% data variables.product.prodname_github_codespaces %}. Personal accounts are not currently billed for {% data variables.product.prodname_github_codespaces %} usage.
+{% data reusables.codespaces.codespaces-free-for-personal-intro %}
-A {% data variables.product.prodname_github_codespaces %} instance (a "codespace") incurs charges for compute time, while it is active, and for the amount of storage it uses on disk.
+Charges are billed to an organization or enterprise when all of the following are true:
-{% data variables.product.prodname_github_codespaces %} usage is billed according to the units of measure in the following table:
+- The repository from which a codespace is started (or the parent repository, in the case of a forked repository) is owned by an organization.
+- The organization is configured to be billed for codespaces created from the repository or forks of the repository.
+- The user creating the codespace belongs to the organization, or is an outside collaborator affiliated with the organization, and the organization has chosen to pay for this user's use of organization-owned codespaces.
-| Component | Machine type | Unit of measure | Price |
-| ------------------- | ------------ | --------------- | ----- |
-| Codespaces compute | 2 core | 1 hour | $0.18 |
-| | 4 core | 1 hour | $0.36 |
-| | 8 core | 1 hour | $0.72 |
-| | 16 core | 1 hour | $1.44 |
-| | 32 core | 1 hour | $2.88 |
-| Codespaces storage | Storage | 1 GB-month* | $0.07 |
+Otherwise use of {% data variables.product.prodname_github_codespaces %} applies to the personal account of the person who created the codespace, and either consumes some of the monthly included usage for their personal account, or their account is billed according to their usage in excess of their included quotas.
+
+For information about how to configure an organization to be billed for codespace usage, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." The Free, Team, and Enterprise plans for organization and enterprise accounts do not include any free use of {% data variables.product.prodname_github_codespaces %}.
+
+### Monthly included storage and core hours for personal accounts
+
+The following storage and core hours of usage are included, free of charge, for personal accounts:
+
+| Account plan | Storage per month | Core hours per month |
+| ------------ | ----------------- | -------------------- |
+| {% data variables.product.prodname_dotcom %} Free for personal accounts | 15 GB | 120 |
+| {% data variables.product.prodname_dotcom %} Pro | 20 GB | 180 |
+
+{% note %}
+
+**Note**: A "core hour" is a measure used for included compute usage. To calculate core hours, multiply the number of hours for which a codespace has been active by the multiplier in the pricing table below. For the basic machine types, the multiplier is the number of processor cores in the machine that hosts the codespace. For example, if you use a 2-core machine for your codespace and it's active for an hour, you have used 2 core hours. If you use an 8-core machine for an hour, you have used 8 core hours. If you use an 8-core machine for two hours, you have used 16 core hours.
+
+{% endnote %}
+
+You will be notified by email when you have used 75%, 90%, and 100% of your included quotas. Notifications are also displayed in a "toast" message within {% data variables.product.prodname_vscode_shortname %} and the {% data variables.product.prodname_vscode_shortname %} web client. You can turn off email notifications if required. For more information, see "[Managing the spending limit for GitHub Codespaces](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-usage-and-spending-limit-email-notifications)."
+
+When a personal account has used all of either the included storage or compute usage (whichever is reached first), and has no spending limit configured, use of {% data variables.product.prodname_github_codespaces %} will be blocked. You must set up a payment method and a spending limit to continue using {% data variables.product.prodname_github_codespaces %} during the current billing month. At the beginning of the next monthly billing cycle the included usage is reset. Storage will not be billed while use of {% data variables.product.prodname_github_codespaces %} is blocked.
+
+You can view details of your usage for the current month at any time. For more information, see "[Viewing your {% data variables.product.prodname_github_codespaces %} usage](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)."
+
+If you are blocked from resuming a codespace and you want to continue to work on changes you have made in your codespace, you can do any of the following:
+
+- Add a payment method and a spending limit greater than $0 USD.
+- Export the changes from the codespace to a branch. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)."
+- Wait for your monthly included usage to reset at the start of the next monthly billing cycle.
+
+If you have used all of either your included storage usage or your included compute usage, and you have set up a payment method and a spending limit, any further use of codespaces owned by your personal account will incur charges for whichever type of usage has no remaining included quota. You will not be charged for the other type of usage until you have also used all of its included quota.
+
+### Pricing for paid usage
+
+A {% data variables.product.prodname_github_codespaces %} instance (a "codespace") incurs charges for compute time, while it is active, and for the amount of disk space the codespace occupies, while it exists. The compute cost is proportional to the number of processor cores in the machine type you choose for your codespace, as shown in the table below. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine.
+
+| Component | Machine type | Unit of measure | Included usage multiplier | Price |
+| ------------------- | ------------ | --------------- | ------------------------- | ----- |
+| Codespaces compute | 2 core | 1 hour | 2 | $0.18 |
+| | 4 core | 1 hour | 4 | $0.36 |
+| | 8 core | 1 hour | 8 | $0.72 |
+| | 16 core | 1 hour | 16 | $1.44 |
+| | 32 core | 1 hour | 32 | $2.88 |
+| Codespaces storage | Storage | 1 GB-month* | N/A | $0.07 |
* See "[Billing for storage usage](#billing-for-storage-usage)" below for details of the GB-month unit of measure.
@@ -46,29 +83,38 @@ If you enable prebuilding of codespaces this will incur additional charges. For
{% data variables.product.prodname_github_codespaces %} is billed in US dollars (USD) according to the amount of compute time and storage space your codespaces use. {% data reusables.codespaces.codespaces-monthly-billing %}
-Your {% data variables.product.prodname_github_codespaces %} usage shares your organization or enterprise account's existing payment method, and receipt. For more information, see "[Viewing your subscriptions and billing date](/articles/viewing-your-subscriptions-and-billing-date)."
+Billing for {% data variables.product.prodname_github_codespaces %} shares your account's existing payment method, and receipt. For more information, see "[Viewing your subscriptions and billing date](/articles/viewing-your-subscriptions-and-billing-date)."
{% ifversion ghec %}
If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_github_codespaces %} usage. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)."
{% endif %}
### Billing for compute usage
-The compute usage of a codespace is the number of minutes for which that codespace is active. Total compute usage is calculated by summing the number of minutes used by all codespaces that are billable to the organization or enterprise. These totals are reported to the billing service every hour, and are billed monthly.
+The compute usage of a codespace is the length of time for which that codespace is active multiplied by the multiplier in the pricing table for the machine type of the codespace. Total compute usage is calculated by summing the time used by all codespaces billable to a particular account. These totals are reported to the billing service every hour, and are billed monthly.
As an example, if a codespace is active for 1 hour and 15 minutes, then the compute cost will be the hourly cost of the codespace, as determined by its machine type, multiplied by 1.25.
-You can restrict compute usage by stopping your codespaces. For information, see "[Stopping and starting a codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace)." Codespaces are stopped automatically after a configurable period of inactivity. The timeout period can be configured by the user, or at the organization level. For more information, see "[Setting your timeout period for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)" and "[Restricting the idle timeout period](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)."
+You can control compute usage by stopping your codespaces. For information, see "[Stopping and starting a codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace)." Codespaces are stopped automatically after a configurable period of inactivity. The timeout period can be configured by the user, or at the organization level. For more information, see "[Setting your timeout period for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)" and "[Restricting the idle timeout period](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)."
### Billing for storage usage
-For {% data variables.product.prodname_github_codespaces %} billing purposes, storage compromises the disk space used by all of the codespaces and prebuilds in your account. This includes any files used by the codespaces, such as cloned repositories, configuration files, and extensions, among others. Storage is billed for all of your existing codespaces, regardless of whether they are active or stopped. The storage billing for a codespace ends when it is deleted.
+For {% data variables.product.prodname_github_codespaces %} billing purposes, storage comprises the disk space used by all of the codespaces and prebuilds in your account. This includes any files you use in a codespace, such as cloned repositories, configuration files, data loaded to the codespace (for example as input or output of the software running in the repository), and extensions, among others. Storage is billed for all of your existing codespaces, regardless of whether they are active or inactive with the exception of blocked usage due to exhausted included usage quota or reaching your spending limit. The storage billing for a codespace ends when it is deleted.
-Codespace storage is reported in GB-months. Your billing month runs from a fixed day in one month until the same day in the next month. In most cases the day of the month is determined by the day you started on your current {% data variables.product.prodname_dotcom %} plan. Your GB-month storage, is calculated as follows. Once every hour, the storage used by all of your currently active and stopped codespaces is assessed. This figure is then divided by the number of hours in the current billing month: `total storage size / hours this month`. The result is added to the running total for codespace storage for the month.
+{% note %}
-For example, if you have one codespace that uses 100 GB of storage and has existed for one hour you will have used `100 / (24 * 30) = 0.1388` GB-months of storage in a 30-day month. If your use of GitHub Codespaces during a 30-day month consists of two 100 GB codespaces that both existed for three full days then there will be `24 * 3` hourly reports for the storage of these codespaces, giving a total of: `(24 * 3) * 200 / (24 * 30) = 20` GB-months.
+**Notes**:
+
+- When you use the default dev container configuration (see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)"), we do not count the default container as used storage. When you create a custom container using a dev container configuration with a different base image we do count the container as used storage.
+- When you rebuild your container from the default image we do not count the base container as used storage. For other base images all of the storage consumed by the codespace, including the base container, is counted as used storage.
+
+{% endnote %}
+
+Codespace storage is reported in GB-months. Your billing month runs from a fixed day in one month until the same day in the next month. In most cases the day of the month is determined by the day you started on your current {% data variables.product.prodname_dotcom %} plan. Your GB-month storage is calculated as follows. Once every hour, the storage used by all of your currently active and stopped codespaces is assessed. This figure is then divided by the number of hours in the current billing month: `total storage size / hours this month`. The result is added to the running total for codespace storage for the month.
+
+For example, if you have one codespace that uses 100 GB of storage and has existed for one hour you will have used `100 / (24 * 30) = 0.1388` GB-months of storage in a 30-day month. If your use of {% data variables.product.prodname_github_codespaces %} during a 30-day month consists of two 100 GB codespaces that both existed for three full days then there will be `24 * 3` hourly reports for the storage of these codespaces, giving a total of `(24 * 3) * 200 / (24 * 30) = 20` GB-months.
For each hourly report, the storage usage for the previous hour is calculated in seconds. As a result, you won't be charged for a full hour of storage if a codespace did not exist for the full 60 minutes. At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB.
-As an organization owner, you can:
+Organization owners can:
- List the currently active and stopped codespaces for your organization. For more information, see "[Listing the codespaces in your organization](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization)." In addition to the cost of these codespaces, the cost of {% data variables.product.prodname_github_codespaces %} for the current month may include costs for codespaces that existed earlier in the current month but have since been deleted.
- See the total {% data variables.product.prodname_github_codespaces %} compute and storage usage for your organization for the current month to date. For more information, see "[Viewing your {% data variables.product.prodname_github_codespaces %} usage](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)."
- Configure your organization settings to manage the cost of {% data variables.product.prodname_github_codespaces %}. For more information, see "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)."
@@ -81,28 +127,32 @@ To estimate the costs for metered services, you can use the {% data variables.pr
#### {% data variables.product.prodname_actions %} costs for prebuilds
-Prebuilds are created and updated by running a {% data variables.product.prodname_actions %} workflow on a {% data variables.product.prodname_dotcom %}-hosted runner. By default, prebuilds are updated every time you modify the prebuild configuration, or push changes to a prebuild-enabled branch. As with other workflows, while prebuild workflows are running they will either consume some of the Actions minutes included with your account, if you have any, or they will incur charges for Actions minutes. For more information about pricing for Actions minutes, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." There is no associated {% data variables.product.prodname_codespaces %} compute cost for creating or updating prebuilds.
+Prebuilds are created and updated by running a {% data variables.product.prodname_actions %} workflow on a {% data variables.product.prodname_dotcom %}-hosted runner. You can configure how you want prebuild updates to be automatically triggered. For information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
-To reduce consumption of Actions minutes, you can set a prebuild to be updated only when you make a change to your dev container configuration files, or only on a custom schedule. You can also manage your storage usage by adjusting the number of previous versions of each prebuild that are retained. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+As with other workflows, while prebuild workflows are running they consume {% data variables.product.prodname_actions %} minutes included with your account, if you have any, or they incur charges for {% data variables.product.prodname_actions %} minutes. For more information about pricing for {% data variables.product.prodname_actions %} minutes, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." There is no associated {% data variables.product.prodname_codespaces %} compute cost for creating or updating prebuilds.
-If you are an organization or enterprise owner, you can track usage of prebuild workflows and storage by downloading a usage report for your organization or enterprise. You can identify workflow runs for prebuilds by filtering the CSV output to only include the workflow called "Create {% data variables.product.prodname_github_codespaces %} Prebuilds." For more information, see "[Viewing your {% data variables.product.prodname_actions %} usage](/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage#viewing-github-actions-usage-for-your-organization)."
+You can track usage of prebuild workflows and storage by downloading a usage report for your account. For more information, see "[Viewing your {% data variables.product.prodname_github_codespaces %} usage](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)."
#### Storage costs for prebuilds
-In addition to {% data variables.product.prodname_actions %} minutes, you will also be billed for the storage of prebuilds associated with each prebuild configuration for a given repository and region. Storage of prebuilds is billed at the same rate as storage of codespaces.
+In addition to {% data variables.product.prodname_actions %} minutes, you will also be billed for the storage of prebuilds associated with each prebuild configuration, for a given repository and region. Storage of prebuilds is billed at the same rate as storage of codespaces.
The storage cost for a prebuild in a single region will be similar to the storage cost that will be incurred for storing a single codespace created from that prebuild. The storage cost for the generated codespace may be more than the cost for the prebuild if, for example, the `updateContentCommand` and `postCreateCommand` commands are used during codespace creation to download more files to the dev container.
-The total storage costs associated with a prebuild will depend on:
+The total storage costs associated with a prebuild configuration will depend on the following factors.
-* The price of storage per GB. See the table above.
-* The size of the generated prebuild in GB.
-* The number of regions in which the prebuild is available (because a copy of the prebuild is stored in each region).
-* The number of older versions of the prebuild that are retained.
+- The price of storage per GB. See the table above.
+- The size of the generated prebuild in GB.
+- The number of regions in which the prebuild is available (because a copy of the prebuild is stored in each region).
+- The number of older versions of the prebuild that are retained.
-The storage cost for a prebuild is therefore calculated as: `price per GB * size (GB) * regions * versions`.
+The storage cost for the prebuilds generated by a prebuild configuration is therefore calculated as: `price per GB * size (GB) * regions * versions`.
-To limit the storage costs associated with prebuilds, you can choose to create prebuilds only in selected regions, and you can specify the number of older versions of prebuilds that will be retained. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+#### Controlling the cost of prebuilds
+
+To reduce consumption of Actions minutes, you can set a prebuild to be updated only when you make a change to your dev container configuration files, or only on a custom schedule. You can also manage your storage usage by adjusting the number of previous versions of each prebuild that are retained. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
+
+To limit the storage costs associated with prebuilds, you can choose to create prebuilds only in selected regions, and you can specify the number of older versions of prebuilds that will be retained. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
{% note %}
@@ -116,29 +166,31 @@ Use of codespaces created using prebuilds is charged at the same rate as regular
## Setting a spending limit
-{% data reusables.codespaces.codespaces-spending-limit-requirement %}
+{% data reusables.codespaces.codespaces-spending-limit-requirement %}
-For information on managing and changing your account's spending limit, see "[Managing your spending limit for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
+For information on managing and changing your account's spending limit, see "[Managing your spending limit for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)."
{% data reusables.codespaces.exporting-changes %}
-## Limiting the choice of machine types
+## Limiting the machine types for organization-owned codespaces
-By default the machine type with the lowest valid resources is used when a codespace is created. However, users may be able to choose a machine type with more resources. They can do this either when they create a codespace, or they can change the machine type of an existing codespace. For more information, see "[Creating a codespace"](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)" and "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)."
+By default the machine type with the lowest valid resources is used when a codespace is created. However, users may be able to choose a machine type with more resources. They can do this either when they create a codespace, or they can change the machine type of an existing codespace. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)" and "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)."
-If a machine type that has more resources is chosen, this will affect the per-minute charge for that codespace, as shown above.
+If a machine type that has more resources is chosen, this will affect the per-hour charge for that codespace, as shown above.
-Organization owners can create a policy to restrict the machine types that are available to users. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)."
+Organization owners can create a policy to limit the choice of machine types available to users for codespaces that are billed to an organization or enterprise account. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)."
## How billing is handled for forked repositories
-To incur charges to an organization account (or to an enterprise account, if the organization belongs to an enterprise), the user must be a member or collaborator of that organization, otherwise they cannot create a codespace for which the organization, or its parent enterprise, would be billed.
+Usage of codespaces created from a forked repository will be billed to your personal account unless the upstream (or parent) repository is in an organization that has allowed you - as a member, or outside collaborator, of the organization - to use codespaces at the organization's expense.
+
+For example, consider a member, or outside collaborator, of an organization that has allowed billing for codespaces for that user. If the user has permission to fork an organization-owned private repository, they can subsequently create and use a codespace for the new repository at the organization's expense. This is because the organization is the owner of the parent repository. Note that the organization owner can remove the user's access to the private repository, the forked repository, and therefore also the codespace. The organization owner can also delete the parent repository which will also delete the forked repository. For more information, see "[Managing the forking policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository)."
+
+{% data reusables.codespaces.codespaces-disabling-org-billing %}
-For example, a user in an organization can fork a repository within that organization, and can subsequently use a codespace billed to the organization. This is because the organization is the owner of the parent repository, and can remove the user's access, the forked repository, and the codespace.
-
## How billing is handled when a repository is transferred to another organization
-Usage is calculated every hour. An organization pays for usage of codespaces created from any repository owned by the organization, where the organization settings permit the organization to be billed. For more information, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." When a repository is transferred out of your organization, ownership and billing responsibility for any codespaces associated with that repository will change accordingly.
+Usage is calculated every hour. An organization pays for usage of codespaces created from any repository owned by the organization, where the organization settings permit the organization to be billed. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." When a repository is transferred out of your organization, ownership and billing responsibility for any codespaces associated with that repository will change accordingly.
## What happens when users are removed
diff --git a/content/billing/managing-billing-for-github-codespaces/index.md b/content/billing/managing-billing-for-github-codespaces/index.md
index 839d5dc496..d38eeec17c 100644
--- a/content/billing/managing-billing-for-github-codespaces/index.md
+++ b/content/billing/managing-billing-for-github-codespaces/index.md
@@ -5,10 +5,9 @@ intro: 'You can view your usage and set a spending limit for {% data variables.p
versions:
fpt: '*'
ghec: '*'
-product: '{% data reusables.gated-features.codespaces %}'
children:
- /about-billing-for-github-codespaces
- /viewing-your-github-codespaces-usage
- - /managing-spending-limits-for-github-codespaces
+ - /managing-the-spending-limit-for-github-codespaces
---
diff --git a/content/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces.md
deleted file mode 100644
index 929ebfd3e8..0000000000
--- a/content/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: Managing spending limits for GitHub Codespaces
-intro: 'You can set a spending limit for {% data variables.product.prodname_github_codespaces %} usage.'
-versions:
- fpt: '*'
- ghec: '*'
-type: how_to
-product: '{% data reusables.gated-features.codespaces %}'
-topics:
- - Codespaces
- - Enterprise
- - Organizations
- - Spending limits
- - User account
- - Billing
-shortTitle: Spending limits
-redirect_from:
- - /billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces
----
-## About spending limits for {% data variables.product.prodname_github_codespaces %}
-
-{% data reusables.codespaces.codespaces-spending-limit-requirement %}
-
-{% data reusables.codespaces.codespaces-monthly-billing %}
-
-Once you've reached your spending limit, your organization or repository will no longer be able to create new codespaces, and won't be able to start existing codespaces. Any existing codespaces that are still running will not be shutdown; if you don't change the spending limit, you will not be charged for the amount that exceeds the limit.
-
-For more information about pricing for {% data variables.product.prodname_github_codespaces %} usage, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
-
-{% ifversion ghec %}
-## Using your Azure Subscription
-If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_github_codespaces %} usage. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)."
-{% endif %}
-
-## Managing the spending limit for {% data variables.product.prodname_codespaces %} for your organization
-
-Organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an organization.
-
-{% data reusables.organizations.billing-settings %}
-{% data reusables.dotcom_billing.manage-spending-limit %}
-{% data reusables.dotcom_billing.monthly-spending-limit-codespaces %}
-{% data reusables.dotcom_billing.update-spending-limit %}
-
-{% ifversion ghec %}
-## Managing the spending limit for {% data variables.product.prodname_codespaces %} for your enterprise account
-
-Enterprise owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an enterprise account.
-
-{% data reusables.enterprise-accounts.access-enterprise %}
-{% data reusables.enterprise-accounts.settings-tab %}
-{% data reusables.enterprise-accounts.billing-tab %}
-1. Click **Spending Limit**.
- 
-{% data reusables.dotcom_billing.monthly-spending-limit %}
-{% data reusables.dotcom_billing.update-spending-limit %}
-{% endif %}
-
-## Exporting changes when you have reached your spending limit
-
-{% data reusables.codespaces.exporting-changes %}
-## Managing usage and spending limit email notifications
-
-Email notifications are sent to account owners and billing managers when spending reaches 50%, 75%, 90%, and 100% of your account's spending limit.
-
-You can disable these notifications anytime by navigating to the bottom of the **Spending Limit** page.
-
-
-
-## Further reading
-
-- "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)"
-- "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)"
diff --git a/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md
new file mode 100644
index 0000000000..6010236799
--- /dev/null
+++ b/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md
@@ -0,0 +1,92 @@
+---
+title: Managing the spending limit for GitHub Codespaces
+intro: 'You can set a spending limit for {% data variables.product.prodname_github_codespaces %} usage.'
+shortTitle: Spending limit
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+topics:
+ - Codespaces
+ - Enterprise
+ - Organizations
+ - Spending limits
+ - User account
+ - Billing
+redirect_from:
+ - /billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces
+ - /billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces
+---
+## About the {% data variables.product.prodname_github_codespaces %} spending limit
+
+{% data reusables.codespaces.codespaces-free-for-personal-intro %} For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+
+{% data reusables.codespaces.codespaces-spending-limit-requirement %}
+{% data reusables.codespaces.codespaces-monthly-billing %}
+
+Once you've reached your spending limit, you will no longer be able to create new codespaces, and you won't be able to start existing codespaces. Any existing codespaces that are still running will be shut down in a short time, but you will not be charged for usage after you have reached your spending limit.
+
+{% ifversion ghec %}
+## Using your Azure Subscription
+If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_github_codespaces %} usage. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)."
+{% endif %}
+
+## Managing the {% data variables.product.prodname_github_codespaces %} spending limit for your personal account
+
+You can set a spending limit for {% data variables.product.prodname_github_codespaces %} for your own personal account.
+
+{% data reusables.user-settings.access_settings %}
+{% data reusables.user-settings.billing_plans %}
+{% data reusables.dotcom_billing.manage-spending-limit %}
+{% data reusables.codespaces.monthly-spending-limit-codespaces %}
+{% data reusables.dotcom_billing.update-spending-limit %}
+
+## Managing the {% data variables.product.prodname_github_codespaces %} spending limit for your organization account
+
+Organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an organization.
+
+{% note %}
+
+**Note**: Organizations that are owned by an enterprise account cannot specify their own spending limit as this is specified in the enterprise settings.
+
+{% endnote %}
+
+{% data reusables.organizations.billing-settings %}
+{% data reusables.dotcom_billing.manage-spending-limit %}
+{% data reusables.codespaces.monthly-spending-limit-codespaces %}
+{% data reusables.dotcom_billing.update-spending-limit %}
+
+{% ifversion ghec %}
+## Managing the {% data variables.product.prodname_github_codespaces %} spending limit for your enterprise account
+
+Enterprise owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an enterprise account.
+
+{% data reusables.enterprise-accounts.access-enterprise %}
+{% data reusables.enterprise-accounts.settings-tab %}
+{% data reusables.enterprise-accounts.billing-tab %}
+1. Click **Spending Limit**.
+
+ 
+
+{% data reusables.codespaces.monthly-spending-limit-codespaces %}
+{% data reusables.dotcom_billing.update-spending-limit %}
+{% endif %}
+
+## Exporting changes when you have reached your spending limit
+
+{% data reusables.codespaces.exporting-changes %}
+
+## Managing usage and spending limit email notifications
+
+Email notifications are sent to account owners and billing managers when spending reaches 75%, 90%, and 100% of an account's spending limit.
+
+You can turn off these notifications at any time by navigating to the bottom of the "Billing & plans / Monthly spending limits" page and clearing the **Spending limits alerts** checkbox.
+
+For personal accounts only, you can also choose to turn off email notifications that are sent when you have used 75%, 90%, and 100% of the free usage included with your personal account. To do this, clear the **Included resources alerts** checkbox.
+
+
+
+## Further reading
+
+- "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)"
+- "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)"
diff --git a/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md b/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md
index 68d34a6ab0..ad11575bec 100644
--- a/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md
+++ b/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md
@@ -1,9 +1,7 @@
---
title: Viewing your GitHub Codespaces usage
shortTitle: Viewing your usage
-intro: 'You can view the compute minutes and storage used by {% data variables.product.prodname_github_codespaces %}.'
-permissions: 'To manage billing for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner or a billing manager.'
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can view the compute hours and storage used by {% data variables.product.prodname_github_codespaces %}.'
versions:
fpt: '*'
ghec: '*'
@@ -15,16 +13,38 @@ redirect_from:
- /billing/managing-billing-for-github-codespaces/viewing-your-codespaces-usage
---
-## Viewing {% data variables.product.prodname_github_codespaces %} usage for your organization
+## Viewing {% data variables.product.prodname_github_codespaces %} usage for your personal account
-Organization owners and billing managers can view {% data variables.product.prodname_github_codespaces %} usage for an organization. For organizations managed by an enterprise account, the organization owners can view {% data variables.product.prodname_github_codespaces %} usage in the organization billing page, and enterprise admins can view the usage for the entire enterprise.
+You can see how much of the usage included in your personal account you have used so far in the current monthly billing cycle. If you have set up a payment method, set a spending limit, and used all of your included usage, you can also check your bill for the current month.
+
+{% data reusables.user-settings.access_settings %}
+{% data reusables.user-settings.billing_plans %}
+1. Under "{% data variables.product.prodname_codespaces %}," you can see how many core hours of {% data variables.product.prodname_github_codespaces %} compute usage and GB-months of storage you have used so far in the current billing month.
+
+ 
+
+ For information about "core hours" and "GB-months," see "[About billing for {% data variables.product.prodname_github_codespaces %}](/enterprise-cloud@latest/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+
+1. Optionally, click **Usage hours** and **Storage** to see more details.
+
+ 
+
+ The **Included** column shows how many of the core hours of compute usage, or GB-months of storage, included free with your account, you have used so far this month. The **Paid** column shows how many billed core hours of usage, or GB-months of storage, you have used. The figures are updated once every hour.
+
+ In the screenshot above, the entire quota of included storage for the month has been used. When you've used all of either the included compute usage or storage (whichever is reached first), you must set up a payment method and a spending limit to continue using {% data variables.product.prodname_github_codespaces %} during the current billing month. For more information, see "[Adding or editing a payment method](/enterprise-cloud@latest/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method)" and "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-the-github-codespaces-spending-limit-for-your-personal-account)."
+
+{% data reusables.codespaces.usage-report-download %}
+
+## Viewing {% data variables.product.prodname_github_codespaces %} usage for your organization account
+
+Organization owners and billing managers can view {% data variables.product.prodname_github_codespaces %} usage for the organization.
{% data reusables.organizations.billing-settings %}
1. Under "{% data variables.product.prodname_codespaces %}", view the details of the compute hours and storage used so far this month.
- 
+ 
- You can also see and update your current spending limit. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
+ You can also see and update your current spending limit. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)."
{% note %}
@@ -34,11 +54,7 @@ Organization owners and billing managers can view {% data variables.product.prod
{% endnote %}
-{% data reusables.dotcom_billing.actions-packages-report-download-org-account %}
- The data used for this report is updated daily.
-1. Filter the report to show only rows that mention "Codespaces" in the `Product` field.
-
- 
+{% data reusables.codespaces.usage-report-download %}
{% ifversion ghec %}
## Viewing {% data variables.product.prodname_codespaces %} usage for your enterprise account
@@ -49,7 +65,7 @@ Enterprise owners and billing managers can view {% data variables.product.prodna
{% data reusables.enterprise-accounts.settings-tab %}
{% data reusables.enterprise-accounts.billing-tab %}
1. Under "{% data variables.product.prodname_codespaces %} monthly usage", view the usage details of each organization in your enterprise account.
-{% data reusables.enterprise-accounts.actions-packages-report-download-enterprise-accounts %}
+{% data reusables.codespaces.usage-report-download %}
{% endif %}
## Further reading
diff --git a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md
index 7cf84a8886..a381d45f9f 100644
--- a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md
+++ b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md
@@ -65,7 +65,7 @@ Once you have decided on the secret types, you can do the following:
{% ifversion not ghae %}
- You can use the security overview to collect this information. For more information about using the security overview, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
+ You can use the security overview to collect this information. For more information about using the security overview, see "[Filtering alerts in security overviews](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
{% endif %}
diff --git a/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md b/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md
index 9c14fe91d4..c9c65be814 100644
--- a/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md
+++ b/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md
@@ -35,7 +35,7 @@ You can create a default security policy for your organization or personal accou
{% endtip %}
{% ifversion fpt or ghec %}
-After someone reports a security vulnerability in your project, you can use {% data variables.product.prodname_security_advisories %} to disclose, fix, and publish information about the vulnerability. For more information about the process of reporting and disclosing vulnerabilities in {% data variables.product.prodname_dotcom %}, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github)." For more information about repository security advisories, see "[About repository security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."
+After someone reports a security vulnerability in your project, you can use {% data variables.product.prodname_security_advisories %} to disclose, fix, and publish information about the vulnerability. For more information about the process of reporting and disclosing vulnerabilities in {% data variables.product.prodname_dotcom %}, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github)." For more information about repository security advisories, see "[About repository security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."
{% data reusables.repositories.github-security-lab %}
{% endif %}
diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md
index 081272149c..548f75f490 100644
--- a/content/code-security/getting-started/github-security-features.md
+++ b/content/code-security/getting-started/github-security-features.md
@@ -61,7 +61,7 @@ You can find the dependency graph on the **Insights** tab for your repository. F
{% ifversion security-overview-displayed-alerts %}
### Security overview
-The security overview allows you to review security configurations and alerts, making it easy to identify the repositories and organizations at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."
+The security overview allows you to review security configurations and alerts, making it easy to identify the repositories and organizations at greatest risk. For more information, see "[About security overviews](/code-security/security-overview/about-the-security-overview)."
{% else %}
### Security overview for repositories
@@ -114,7 +114,7 @@ Show the full impact of changes to dependencies and see details of any vulnerabl
{% else %}
### Security overview for organizations{% ifversion ghes > 3.4 or ghae > 3.4 %}, enterprises,{% endif %} and teams
-Review the security configuration and alerts for your organization and identify the repositories at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."
+Review the security configuration and alerts for your organization and identify the repositories at greatest risk. For more information, see "[About security overviews](/code-security/security-overview/about-the-security-overview)."
{% endif %}
## Further reading
diff --git a/content/code-security/getting-started/securing-your-organization.md b/content/code-security/getting-started/securing-your-organization.md
index 63cff8ac9b..c65b38c9e4 100644
--- a/content/code-security/getting-started/securing-your-organization.md
+++ b/content/code-security/getting-started/securing-your-organization.md
@@ -128,7 +128,7 @@ You can view and manage alerts from security features to address dependencies an
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About repository security advisories](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)."
{% endif %}
-{% ifversion ghes or ghec or ghae %}You{% elsif fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can view, filter, and sort security alerts for repositories owned by {% ifversion ghes or ghec or ghae %}your{% elsif fpt %}their{% endif %} organization in the security overview. For more information, see{% ifversion ghes or ghec or ghae %} "[About the security overview](/code-security/security-overview/about-the-security-overview)."{% elsif fpt %} "[About the security overview](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview)" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
+{% ifversion ghes or ghec or ghae %}You{% elsif fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can view, filter, and sort security alerts for repositories owned by {% ifversion ghes or ghec or ghae %}your{% elsif fpt %}their{% endif %} organization in the security overview. For more information, see{% ifversion ghes or ghec or ghae %} "[About security overviews](/code-security/security-overview/about-the-security-overview)."{% elsif fpt %} "[About security overviews](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview)" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %}
{% ifversion ghec %}
## Further reading
diff --git a/content/code-security/guides.md b/content/code-security/guides.md
index 3abf22f56e..f5c5363706 100644
--- a/content/code-security/guides.md
+++ b/content/code-security/guides.md
@@ -53,8 +53,8 @@ includeGuides:
- /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli
- /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system
- /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system
- - /code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
- /code-security/repository-security-advisories/about-github-security-advisories-for-repositories
+ - /code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository
- /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory
- /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability
- /code-security/repository-security-advisories/creating-a-repository-security-advisory
@@ -63,7 +63,10 @@ includeGuides:
- /code-security/repository-security-advisories/publishing-a-repository-security-advisory
- /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory
- /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory
- - /code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities
- /code-security/security-overview/about-the-security-overview
- /code-security/security-overview/filtering-alerts-in-the-security-overview
- /code-security/security-overview/viewing-the-security-overview
diff --git a/content/code-security/index.md b/content/code-security/index.md
index e9d02c2953..ca08534264 100644
--- a/content/code-security/index.md
+++ b/content/code-security/index.md
@@ -23,7 +23,7 @@ featuredLinks:
popular:
- '{% ifversion ghes %}/admin/release-notes{% endif %}'
- /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies
- - /code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot
diff --git a/content/code-security/secret-scanning/about-secret-scanning.md b/content/code-security/secret-scanning/about-secret-scanning.md
index 17e96efea3..0f05dc92ed 100644
--- a/content/code-security/secret-scanning/about-secret-scanning.md
+++ b/content/code-security/secret-scanning/about-secret-scanning.md
@@ -96,7 +96,7 @@ For more information about viewing and resolving {% data variables.product.prodn
Repository administrators and organization owners can grant users and teams access to {% data variables.product.prodname_secret_scanning %} alerts. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)."
{% ifversion ghec or ghes or ghae > 3.4 %}
-You can use the security overview to see an organization-level view of which repositories have enabled {% data variables.product.prodname_secret_scanning %} and the alerts found. For more information, see "[Viewing the security overview](/code-security/security-overview/viewing-the-security-overview)."
+You can use the security overview to see an organization-level view of which repositories have enabled {% data variables.product.prodname_secret_scanning %} and the alerts found. For more information, see "[Viewing security overviews](/code-security/security-overview/viewing-the-security-overview)."
{% endif %}
{%- ifversion ghec or ghes or ghae %}You can also use the REST API to
diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md
index e9bad376b3..9ea660da32 100644
--- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md
+++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md
@@ -70,6 +70,9 @@ shortTitle: Manage secret alerts
Once a secret has been committed to a repository, you should consider the secret compromised. {% data variables.product.prodname_dotcom %} recommends the following actions for compromised secrets:
- For a compromised {% data variables.product.prodname_dotcom %} {% data variables.product.pat_generic %}, delete the compromised token, create a new token, and update any services that use the old token. For more information, see "[Creating a {% data variables.product.pat_generic %} for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)."
+{%- ifversion token-audit-log %}
+ - {% ifversion ghec %}If your organization is owned by an enterprise account, identify{% else %}Identify{% endif %} any actions taken by the compromised token on your enterprise's resources. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)."
+{%- endif %}
- For all other secrets, first verify that the secret committed to {% data variables.product.product_name %} is valid. If so, create a new secret, update any services that use the old secret, and then delete the old secret.
{% ifversion ghec %}
diff --git a/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md b/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md
index 0425ed2dec..3e254572b4 100644
--- a/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md
+++ b/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md
@@ -19,6 +19,8 @@ topics:
{% data reusables.repositories.tracks-vulnerabilities %}
+Security advisories are published as JSON files in the Open Source Vulnerability (OSV) format. For more information about the OSV format, see "[Open Source Vulnerability format](https://ossf.github.io/osv-schema/)."
+
## About types of security advisories
{% data reusables.advisory-database.beta-malware-advisories %}
diff --git a/content/code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md b/content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md
similarity index 80%
rename from content/code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md
rename to content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md
index 232bba53f6..c0015f7d0a 100644
--- a/content/code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md
+++ b/content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md
@@ -4,6 +4,7 @@ intro: Vulnerability disclosure is a coordinated effort between security reporte
redirect_from:
- /code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
- /code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
+ - /code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
miniTocMaxHeadingLevel: 3
versions:
fpt: '*'
@@ -50,6 +51,13 @@ Publishing the details of a security vulnerability doesn't make maintainers look
## About reporting and disclosing vulnerabilities in projects on {% data variables.product.prodname_dotcom %}
+There are two processes available on {% data variables.product.prodname_dotcom %}:
+
+- The standard process: Vulnerability reporters get in touch with the repository maintainers, using contact information located in the security policy for the repository. The repository maintainers then create a draft repository advisory if required.
+- Private vulnerability reporting: Vulnerability reporters disclose vulnerability details directly and privately to the repository maintainers by proposing a draft repository advisory and providing details of their findings.
+
+### Standard process
+
The process for reporting and disclosing vulnerabilities for projects on {% data variables.product.prodname_dotcom_the_website %} is as follows:
If you are a vulnerability reporter (for example, a security researcher) who would like report a vulnerability, first check if there is a security policy for the related repository. For more information, see "[About security policies](/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies)." If there is one, follow it to understand the process before contacting the security team for that repository.
@@ -68,5 +76,19 @@ The process for reporting and disclosing vulnerabilities for projects on {% data
As a maintainer, to disclose a vulnerability in your code, you first create a draft security advisory in the package's repository in {% data variables.product.prodname_dotcom %}. {% data reusables.security-advisory.security-advisory-overview %} For more information, see "[About repository security advisories](/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)."
-
To get started, see "[Creating a repository security advisory](/code-security/repository-security-advisories/creating-a-repository-security-advisory)."
+
+### Private vulnerability reporting
+
+{% data reusables.security-advisory.private-vulnerability-reporting-beta %}
+
+{% data reusables.security-advisory.private-vulnerability-reporting-enable %}
+
+ Private vulnerability reporting provides an easy way for vulnerability reporters to privately disclose security risks to repository maintainers, within {% data variables.product.prodname_dotcom %}, and in a way that immediately notifies the repository maintainers of the issue. For more information for security researchers and repository maintainers, see "[Privately reporting a security vulnerability](/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" and "[Managing privately reported security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities)", respectively.
+
+{% note %}
+
+**Note**:
+If the repository containing the vulnerability doesn't have private vulnerability reporting enabled, both security researchers and repository maintainers need to follow the instructions described in the "[Standard process](#standard-process)" section above.
+
+{% endnote %}
diff --git a/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md b/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md
index d2bdf74639..105fffef77 100644
--- a/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md
+++ b/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md
@@ -11,6 +11,9 @@ topics:
- Repositories
- CVEs
children:
+ - /about-coordinated-disclosure-of-security-vulnerabilities
- /best-practices-for-writing-repository-security-advisories
+ - /privately-reporting-a-security-vulnerability
+ - /managing-privately-reported-security-vulnerabilities
---
diff --git a/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md b/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md
new file mode 100644
index 0000000000..d6daeb7614
--- /dev/null
+++ b/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md
@@ -0,0 +1,45 @@
+---
+title: Managing privately reported security vulnerabilities
+intro: Repository maintainers can manage security vulnerabilities that have been privately reported to them by security reseachers for repositories where private vulnerability reporting is enabled.
+permissions: 'Anyone with admin permissions to a repository can see, review, and manage privately-reported vulnerabilities for the repository.'
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+miniTocMaxHeadingLevel: 3
+topics:
+ - Security advisories
+ - Vulnerabilities
+shortTitle: Manage vulnerability reports
+---
+
+{% data reusables.security-advisory.private-vulnerability-reporting-beta %}
+
+{% data reusables.security-advisory.private-vulnerability-reporting-enable %}
+
+## About privately reporting a security vulnerability
+
+Private vulnerability reporting makes it easy for security researchers to report vulnerabilities directly to you using a simple form.
+
+When a security researcher reports a vulnerability privately, you are notified and can choose to either accept it, ask more questions, or reject it. If you accept the report, you're ready to collaborate on a fix for the vulnerability in private with the security researcher.
+
+## Managing security vulnerabilities that are privately reported
+
+{% data variables.product.prodname_dotcom %} notifies repository maintainers when security researchers privately report vulnerabilities in their repository, and sends notifications if maintainers watch the repository or if they have notifications enabled for the repository. For more information, see "[Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications)."
+
+{% data reusables.repositories.navigate-to-repo %}
+{% data reusables.repositories.sidebar-security %}
+{% data reusables.repositories.sidebar-advisories %}
+1. Click the advisory you want to review. An advisory that is privately reported will have a status of `Needs triage`.
+
+ 
+
+2. Carefully review the report. You can:
+ - Collaborate with the security researcher on a patch in private, by clicking **Start a temporary private fork**. This gives you a place for further discussions with the contributor without changing the status of the proposed advisory from `Needs triage`.
+ - Accept the vulnerability report as a draft advisory on {% data variables.product.prodname_dotcom %}, by clicking **Accept and open as draft**. If you choose this option:
+ - This doesn't make the report public.
+ - The report becomes a draft repository security advisory and you can work on it in the same way as any draft advisory that you create.
+ For more information on security advisories, see "[About repository security advisories](/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories)."
+ - Reject the report by clicking **Close security advisory**. Where possible, you should add a comment explaining why you don't consider the report a security risk before you close the advisory.
+
+ 
\ No newline at end of file
diff --git a/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md b/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md
new file mode 100644
index 0000000000..04728f4223
--- /dev/null
+++ b/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md
@@ -0,0 +1,70 @@
+---
+title: Privately reporting a security vulnerability
+intro: Some public repositories configure security advisories so that anyone can report security vulnerabilities directly and privately to the maintainers.
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+miniTocMaxHeadingLevel: 3
+topics:
+ - Security advisories
+ - Vulnerabilities
+shortTitle: Privately reporting
+---
+
+{% data reusables.security-advisory.private-vulnerability-reporting-beta %}
+
+{% data reusables.security-advisory.private-vulnerability-reporting-enable %}
+
+## About privately reporting a security vulnerability
+
+Security researchers often feel responsible for alerting users to a vulnerability that could be exploited. If there are no clear instuctions about contacting maintainers of the repository containing the vulnerability, security researchers may have no other choice but to post about the vulnerability on social media, send direct messages to the maintainer, or even create public issues. This situation can potentially lead to a public disclosure of the vulnerability details.
+
+Private vulnerability reporting makes it easy for security researchers to report vulnerabilities directly to repository maintainer using a simple form.
+
+For security researchers, the benefits of using private vulnerability reporting are:
+- Less frustration, and less time spent trying to figure out how to contact the maintainer.
+- A smoother process for disclosing and discussing vulnerability details.
+- The opportunity to discuss vulnerability details privately with repository maintainer.
+
+{% note %}
+
+**Note:** If the repository doesn't have private vulnerabiliy reporting enabled, you need to initiate the reporting process by following the instructions in the security policy for the repository, or create an issue asking the maintainers for a preferred security contact. For more information, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github)."
+
+{% endnote %}
+
+## Privately reporting a security vulnerability
+
+Security researchers can privately report a security vulnerability to repository maintainers.
+
+{% data reusables.repositories.navigate-to-repo %}
+{% data reusables.repositories.sidebar-security %}
+{% data reusables.repositories.sidebar-advisories %}
+1. Click **Report a vulnerability** to open the advisory form.
+
+ 
+
+2. Fill in the advisory details form.
+ {% tip %}
+
+ **Tip:** In this form, only the title and description are mandatory. (In the general draft security advisory form, which the repository maintainer initiates, specifying the ecosystem is also required.) However, we recommend security researchers provide as much information as possible on the form so that the maintainers can make an informed decision about the submitted report.
+
+ {% endtip %}
+
+ For more information about the fields available and guidance on filling in the form, see "[Creating a repository security advisory](/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory)" and "[Best practices for writing repository security advisories](/code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories)."
+
+1. At the bottom of the form, click **Submit report**. {% data variables.product.prodname_dotcom %} will display a message letting you know that maintainers have been notified and that you have a pending credit for this security advisory.
+
+ 
+
+ {% tip %}
+
+ **Tip:** When the report is submitted, {% data variables.product.prodname_dotcom %} automatically adds the reporter of the vulnerability as a collaborator and as a credited user on the proposed advisory.
+
+ {% endtip %}
+
+1. Optionally, click **Start a temporary private fork** if you want to start to fix the issue. Note that only the repository maintainer can merge that private fork.
+
+ 
+
+The next steps depend on the action taken by the repository maintainer. For more information, see "[Managing privately reported security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities)."
diff --git a/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md b/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md
index 9fcdbeb87c..df4f2a7fbd 100644
--- a/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md
+++ b/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md
@@ -24,7 +24,7 @@ topics:
## About repository security advisories
-{% data reusables.security-advisory.disclosing-vulnerabilities %} For more information, see "[About coordinated disclosure of security vulnerabilities](/code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities)."
+{% data reusables.security-advisory.disclosing-vulnerabilities %} For more information, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities)."
{% data reusables.security-advisory.security-advisory-overview %}
diff --git a/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md b/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md
new file mode 100644
index 0000000000..221a9503f0
--- /dev/null
+++ b/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md
@@ -0,0 +1,44 @@
+---
+title: Configuring private vulnerability reporting for a repository
+intro: Owners and administrators of public repositories can allow security researchers to report vulnerabilities securely in the repository by enabling private vulnerability reporting.
+permissions: 'Anyone with admin permissions to a public repository can enable and disable private vulnerability reporting for the repository.'
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+miniTocMaxHeadingLevel: 3
+topics:
+ - Security advisories
+ - Vulnerabilities
+shortTitle: Configure private vulnerability reporting
+---
+
+{% data reusables.security-advisory.private-vulnerability-reporting-beta %}
+
+## About privately reporting a security vulnerability
+
+Security researchers often feel responsible for alerting users to a vulnerability that could be exploited. If there are no clear instuctions about contacting maintainers of the repository containing the vulnerability, security researchers may have no other choice but to post about the vulnerability on social media, send direct messages to the maintainer, or even creat public issues. This situation can potentially lead to a public disclosure of the vulnerability details.
+
+{% data reusables.security-advisory.private-vulnerability-reporting-overview %}
+
+For maintainers, the benefits of using private vulnerability reporting are:
+- Less risk of being contacted publicly, or via undesired means.
+- Receive reports in the same platform you resolve them in for simplicity
+- The security researcher creates or at least initiates the advisory report on the behalf of maintainers.
+- Maintainers receive reports in the same platform as the one used to discuss and resolve the advisories.
+- Vulnerability less likely to be in the public eye.
+- The opportunity to discuss vulnerability details privately with security researchers and collaborate on the patch.
+
+## Enabling or disabling private vulnerability reporting for a repository
+
+{% data reusables.repositories.navigate-to-repo %}
+{% data reusables.repositories.sidebar-settings %}
+{% data reusables.repositories.navigate-to-code-security-and-analysis %}
+1. Under "Code security and analysis", to the right of "Private vulnerability reporting", click **Enable** or **Disable**, to enable or disable the feature, respectively.
+
+ 
+
+When a maintainer enables private security reporting for their repository, security researchers will see a new button in the **Advisories** page of the repository. The security researcher can click this button to privately report a security vulnerability to the repository maintainer.
+
+ 
+
\ No newline at end of file
diff --git a/content/code-security/security-advisories/repository-security-advisories/index.md b/content/code-security/security-advisories/repository-security-advisories/index.md
index 94adf80c24..2499de24db 100644
--- a/content/code-security/security-advisories/repository-security-advisories/index.md
+++ b/content/code-security/security-advisories/repository-security-advisories/index.md
@@ -15,9 +15,9 @@ topics:
- Repositories
- CVEs
children:
- - /about-coordinated-disclosure-of-security-vulnerabilities
- /about-repository-security-advisories
- /permission-levels-for-repository-security-advisories
+ - /configuring-private-vulnerability-reporting-for-a-repository
- /creating-a-repository-security-advisory
- /editing-a-repository-security-advisory
- /collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability
diff --git a/content/code-security/security-overview/about-the-security-overview.md b/content/code-security/security-overview/about-the-security-overview.md
index c763b80753..cb5a9dc71b 100644
--- a/content/code-security/security-overview/about-the-security-overview.md
+++ b/content/code-security/security-overview/about-the-security-overview.md
@@ -1,10 +1,11 @@
---
-title: About the security overview
-intro: 'You can view, filter, and sort security alerts for repositories owned by your organization or team in one place: the Security Overview page.'
+title: About security overviews
+intro: 'You can view, filter, and sort security alerts for repositories owned by your organization or team in the security overview pages.'
permissions: '{% data reusables.security-overview.permissions %}'
product: '{% data reusables.gated-features.security-overview %}'
redirect_from:
- /code-security/security-overview/exploring-security-alerts
+allowTitleToDifferFromFilename: true
versions:
fpt: '*'
ghae: '*'
@@ -19,39 +20,83 @@ topics:
- Dependencies
- Organizations
- Teams
-shortTitle: About security overview
+shortTitle: About security overviews
---
{% ifversion ghes < 3.5 or ghae %}
{% data reusables.security-overview.beta %}
{% endif %}
-## About the security overview
+## About security overviews
-{% ifversion ghes or ghec or ghae %}You{% elsif fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can use the security overview for a high-level view of the security status of {% ifversion ghes or ghec or ghae %}your {% elsif fpt %}their{% endif %} organization or to identify problematic repositories that require intervention. {% ifversion ghes or ghec or ghae %}You {% elsif fpt %}These organizations{% endif %} can view aggregate or repository-specific security information in the security overview. {% ifversion ghes or ghec or ghae %}You {% elsif fpt %} Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can also use the security overview to see which security features are enabled for {% ifversion ghes or ghec or ghae %}your {% elsif fpt %}their {% endif %} repositories and to configure any available security features that are not currently in use. {% ifversion fpt %}For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview).{% endif %}
+Security overviews provide high-level summaries of the security status of an organization or enterprise and make it easy to identify problematic repositories that require intervention. You can also use the security overviews to see which repositories have enabled specific security features and to configure any available security features that are not currently in use. {% ifversion fpt %}For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview).{% endif %}
{% ifversion ghec or ghes or ghae %}
-The security overview indicates whether {% ifversion fpt or ghes or ghec %}security{% endif %}{% ifversion ghae %}{% data variables.product.prodname_GH_advanced_security %}{% endif %} features are enabled for repositories owned by your organization and consolidates alerts for each feature.{% ifversion fpt or ghes or ghec %} Security features include {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}, as well as {% data variables.product.prodname_dependabot_alerts %}.{% endif %} For more information about {% data variables.product.prodname_GH_advanced_security %} features, see "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)."{% ifversion fpt or ghes or ghec %} For more information about {% data variables.product.prodname_dependabot_alerts %}, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies)."{% endif %}
+Security overviews show which security features are enabled for repositories and consolidate alerts for each feature.
-For more information about securing your code at the repository and organization levels, see "[Securing your repository](/code-security/getting-started/securing-your-repository)" and "[Securing your organization](/code-security/getting-started/securing-your-organization)."
+- Risk and coverage information about {% data variables.product.prodname_dependabot %} features and alerts is shown for all repositories.
+- Risk and coverage information for {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}, is shown only for enterprises that use {% data variables.product.prodname_GH_advanced_security %}.
-The application security team at your company can use the security overview for both broad and specific analyses of your organization's security status. For example, they can use the overview page to monitor adoption of features by your organization or by a specific team as you rollout {% data variables.product.prodname_GH_advanced_security %} to your enterprise, or to review all alerts of a specific type and severity level across all repositories in your organization.
+For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies)" and "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)."
-### About filtering and sorting alerts
+## About filtering and sorting alerts
-In the security overview, you can view, sort, and filter alerts to understand the security risks in your organization and in specific repositories. The security summary is highly interactive, allowing you to investigate specific categories of information, based on qualifiers like alert risk level, alert type, and feature enablement. You can also apply multiple filters to focus on narrower areas of interest. For example, you can identify private repositories that have a high number of {% data variables.product.prodname_dependabot_alerts %} or repositories that have no {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
-
-{% ifversion security-overview-views %}
-
-In the security overview, there are dedicated views for each type of security alert, such as Dependabot, code scanning, and secret scanning alerts. You can use these views to limit your analysis to a specific set of alerts, and narrow the results further with a range of filters specific to each view. For example, in the secret scanning alert view, you can use the `Secret type` filter to view only secret scanning alerts for a specific secret, like a GitHub {% data variables.product.pat_generic %}. At the repository level, you can use the security overview to assess the specific repository's current security status, and configure any additional security features not yet in use on the repository.
+Security overviews provide a powerful way to understand the security of a group of repositories. The views are interactive with filters that allow you to drill into the aggregated data and identify sources of high risk or low feature coverage. As you apply multiple filters to focus on narrower areas of interest, the data across the view changes to reflect your selection. For more information, see "[Filtering alerts in security overviews](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
+{% ifversion security-overview-alert-views %}
+There are also dedicated views for each type of security alert that you can use to limit your analysis to a specific set of alerts, and then narrow the results further with a range of filters specific to each view. For example, in the {% data variables.product.prodname_secret_scanning %} alert view, you can use the `Secret type` filter to view only {% data variables.product.prodname_secret_scanning %} alerts for a specific secret, like a GitHub {% data variables.product.pat_generic %}.
{% endif %}
-
+{% note %}
+
+**Note:** Security overviews display active alerts raised by security features. If there are no alerts in the security overview for a repository, undetected security vulnerabilities or code errors may still exist.
+
+{% endnote %}
+
+## About organization-level security overviews
+
+{% data reusables.security-overview.beta-org-risk-coverage %}
+
+You can find the security overviews on the **Security** tab for any organization that's owned by an enterprise. Each overview shows aggregated data that you can drill down into, as you add each filter, the data is updated to reflect the repositories or alerts that you've selected.
+
+The application security team at your company can use the different security overviews for both broad and specific analyses of your organization's security status. {% ifversion security-overview-org-risk-coverage %}For example, the team can use the "Security Coverage" page to monitor the adoption of features across your organization or by a specific team as you rollout {% data variables.product.prodname_GH_advanced_security %}, or use the "Security Risk" page to identify repositories with more than five open {% data variables.product.prodname_secret_scanning %} alerts.{% else %}For example, they can use the overview page to monitor adoption of features by your organization or by a specific team as you rollout {% data variables.product.prodname_GH_advanced_security %} to your enterprise, or to review all alerts of a specific type and severity level across all repositories in your organization.{% endif %}
+
+Organization owners and security managers for organizations have access to security overviews for their organizations. {% ifversion ghec or ghes > 3.6 or ghae > 3.6 %}Organization members can also access organization-level security overviews to view results for repositories where they have admin privileges or have been granted access to security alerts. For more information on managing security alert access, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %}
+
+{% ifversion security-overview-org-risk-coverage %}
+### Security Risk view
+
+This view shows data about the repositories affected by different types of security alert.
+
+- Use the **Type** and **Teams** drop-downs to add repository type and team filters.
+- Click **Open alerts** or **Repositories affected** to show only repositories with a specific type of security alert.
+
+In addition, when you click in the search box, a list of the full set of filters available is shown.
+
+
+
+### Security Coverage view
+
+This view shows data about which repositories are using security features.
+
+- Use the **Type** and **Teams** drop-downs to add repository type and team filters.
+- Click **Alerts enabled** and other features listed in the header to see only repositories with those features enabled.
+- Change any `FEATURE:enabled` filter to `FEATURE:not-enabled` in the search box to see repositories that haven't enabled a feature.
+- For any repository, click the ellipsis (**...**) then **Security Settings** to enable additional features.
+
+In addition, when you click in the search box, a list of the full set of filters available is shown.
+
+
+
+{% else %}
+
+### Understanding the main security overview
+
+
For each repository in the security overview, you will see icons for each type of security feature and how many alerts there are of each type. If a security feature is not enabled for a repository, the icon for that feature will be grayed out. In addition, a risk score is calculated for each repository based on its code scanning, Dependabot and secret scanning alerts. This score is in beta and should be used with caution. Its algorithm and approach is subject to change.
-
+
| Icon | Meaning |
| -------- | -------- |
@@ -61,29 +106,29 @@ For each repository in the security overview, you will see icons for each type o
| {% octicon "check" aria-label="Check" %} | The security feature is enabled, but does not raise alerts in this repository. |
| {% octicon "x" aria-label="x" %} | The security feature is not supported in this repository. |
-The security overview displays active alerts raised by security features. If there are no alerts in the security overview for a repository, undetected security vulnerabilities or code errors may still exist.
-
-### About the organization-level security overview
-
-At the organization-level, the security overview displays aggregate and repository-specific security information for repositories owned by your organization. You can filter information by security features at the organization-level.
-
-Organization owners and security managers for organizations have access to the organization-level security overview. {% ifversion ghec or ghes > 3.6 or ghae > 3.6 %}Organization members can access the organization-level security overview to view results for repositories where they have admin privileges or have been granted access to security alerts. For more information on managing security alert access, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)".{% endif %}
+{% endif %}
{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %}
-### About the enterprise-level security overview
-At the enterprise-level, the security overview displays aggregate and repository-specific security information for your enterprise. You can view repositories owned by your enterprise that have security alerts, view all security alerts, or security feature-specific alerts from across your enterprise.
+## About enterprise-level security overviews
-Organization owners and security managers for organizations in your enterprise have access to the enterprise-level security overview. They can view repositories and alerts for the organizations that they have full access to.
+You can find the security overviews on the **Code Security** tab for your enterprise. Each overview displays aggregated and repository-specific security information for your enterprise. You can view repositories owned by your enterprise that have security alerts, view all security alerts, or security feature-specific alerts from across your enterprise.
-Enterprise owners can only see alerts for organizations that they are an owner or a security manager of.{% ifversion ghec or ghes > 3.5 or ghae > 3.5 %} Enterprise owners can join an organization as an organization owner to see all of its alerts in the enterprise-level security overview. For more information, see "[Managing your role in an organization owned by your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)."{% endif %}
+Enterprise owners can view alerts for organizations that they are an owner or a security manager of.{% ifversion ghec or ghes > 3.5 or ghae > 3.5 %} Enterprise owners can join an organization as an organization owner to see all of its alerts in the enterprise-level security overview. For more information, see "[Managing your role in an organization owned by your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)."{% endif %}
-{% elsif fpt %}
-### About the enterprise-level security overview
-At the enterprise-level, the security overview displays aggregate and repository-specific information for an enterprise. For more information, see "[About the enterprise-level security overview](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview#about-the-enterprise-level-security-overview)" in the {% data variables.product.prodname_ghe_cloud %} documentation.
+Organization owners and security managers for organizations in an enterprise have access to the enterprise-level security overview. They can view repositories and alerts for the organizations that they have full access to.
{% endif %}
{% ifversion ghes < 3.7 or ghae < 3.7 %}
-### About the team-level security overview
+## About team-level security overviews
+
+You can find the security overviews on the **Security** tab for any team in an organization that's owned by an enterprise.
+
At the team-level, the security overview displays repository-specific security information for repositories that the team has admin privileges for. For more information, see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)."
{% endif %}
+
+## Further reading
+
+- "[Securing your repository](/code-security/getting-started/securing-your-repository)"
+- "[Securing your organization](/code-security/getting-started/securing-your-organization)"
+- "[Introduction to adopting GitHub Advanced Security at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale)"
{% endif %}
diff --git a/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md b/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md
index 14bb132945..ed8cf008dd 100644
--- a/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md
+++ b/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md
@@ -1,8 +1,9 @@
---
-title: Filtering alerts in the security overview
+title: Filtering alerts in security overviews
intro: Use filters to view specific categories of alerts
permissions: '{% data reusables.security-overview.permissions %}'
product: '{% data reusables.gated-features.security-overview %}'
+allowTitleToDifferFromFilename: true
versions:
ghae: '*'
ghes: '*'
@@ -14,16 +15,16 @@ topics:
- Alerts
- Organizations
- Teams
-shortTitle: Filtering alerts
+shortTitle: Filtering security overviews
---
{% ifversion ghes < 3.5 or ghae %}
{% data reusables.security-overview.beta %}
{% endif %}
-## About filtering the security overview
+## About filtering security overviews
-You can use filters in the security overview to narrow your focus based on a range of factors, like alert risk level, alert type and feature enablement. Different filters are available depending on the specific view and whether your analysis is at the organization, team or repository level.
+You can use filters in a security overview to narrow your focus based on a range of factors, like alert risk level, alert type, and feature enablement. Different filters are available depending on the specific view{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} and whether you are viewing data at the enterpise or organization level{% endif %}.
{% ifversion security-overview-displayed-alerts %}
{% note %}
@@ -33,45 +34,56 @@ You can use filters in the security overview to narrow your focus based on a ran
## Filter by repository
-Available in all organization-level and team-level views.
-
| Qualifier | Description |
| -------- | -------- |
-| `repo:REPOSITORY-NAME` | Displays alerts for the specified repository. |
+| `repo:REPOSITORY-NAME` | Displays data for the specified repository. |
## Filter by whether security features are enabled
-Available in the organization-level and team-level overview.
+In the examples below, replace `:enabled` with `:not-enabled` to see repositories where security features are not enabled. These qualifiers are available in the main summary views.
| Qualifier | Description |
| -------- | -------- |
-| `code-scanning:enabled` | Display repositories that have {% data variables.product.prodname_code_scanning %} enabled. |
-| `code-scanning:not-enabled` | Display repositories that do not have {% data variables.product.prodname_code_scanning %} enabled. |
-| `secret-scanning:enabled` | Display repositories that have {% data variables.product.prodname_secret_scanning %} enabled. |
-| `secret-scanning:not-enabled` | Display repositories that have {% data variables.product.prodname_secret_scanning %} enabled. |
-| `dependabot:enabled` | Display repositories that have {% data variables.product.prodname_dependabot_alerts %} enabled. |
-| `dependabot:not-enabled` | Display repositories that do not have {% data variables.product.prodname_dependabot_alerts %} enabled. |
-| `not-enabled:any` | Display repositories with at least one security feature that is not enabled. |
+| `code-scanning:enabled` | Display repositories that have set up {% data variables.product.prodname_code_scanning %}. |
+| `dependabot:enabled` | Display repositories that have enabled {% data variables.product.prodname_dependabot_alerts %}. |
+| `secret-scanning:enabled` | Display repositories that have enabled {% data variables.product.prodname_secret_scanning %} alerts. {% ifversion security-overview-org-risk-coverage %} |
+| `any-feature:enabled` | Display repositories where at least one security feature is enabled. |{% else %}
+| `not-enabled:any` | Display repositories with at least one security feature that is not enabled. |{% endif %}
+
+{% ifversion security-overview-org-risk-coverage %}
+The organization-level Security Coverage view includes extra filters.
+
+{% data reusables.security-overview.beta-org-risk-coverage %}
+
+| Qualifier | Description |
+| -------- | -------- |
+| `code-scanning-pull-request-alerts:enabled`| Display repositories that have configured {% data variables.product.prodname_code_scanning %} to run on pull requests. |
+| `dependabot-security-updates:enabled` | Display repositories that have enabled {% data variables.product.prodname_dependabot %} security updates. |
+| `secret-scanning-push-protection:enabled` | Display repositories that have set up push protection for {% data variables.product.prodname_secret_scanning %}. |
+{% endif %}
## Filter by repository type
-Available in the organization-level and team-level overview.
+These qualifiers are available in the main summary views.
| Qualifier | Description |
| -------- | -------- |
{%- ifversion ghes or ghec %}
| `is:public` | Display public repositories. |
{%- endif %}
-{%- ifversion ghes or ghec or ghae %}
| `is:internal` | Display internal repositories. |
-{%- endif %}
| `is:private` | Display private repositories. |
| `archived:true` | Display archived repositories. |
-| `archived:true` | Display archived repositories. |
+| `archived:false` | Omit archived repositories. |
+{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %}
## Filter by level of risk for repositories
-The level of risk for a repository is determined by the number and severity of alerts from security features. If one or more security features are not enabled for a repository, the repository will have an unknown level of risk. If a repository has no risks that are detected by security features, the repository will have a clear level of risk. Available in the organization-level overview.
+The level of risk for a repository is determined by the number and severity of alerts from security features. If one or more security features are not enabled for a repository, the repository will have an unknown level of risk. If a repository has no risks that are detected by security features, the repository will have a clear level of risk.
+
+{% ifversion security-overview-org-risk-coverage %}
+These qualifiers are available in the enterprise-level view.
+{% endif %}
| Qualifier | Description |
| -------- | -------- |
@@ -80,10 +92,11 @@ The level of risk for a repository is determined by the number and severity of a
| `risk:low` | Display repositories that are at low risk. |
| `risk:unknown` | Display repositories that are at an unknown level of risk. |
| `risk:clear` | Display repositories that have no detected level of risk. |
+{% endif %}
## Filter by number of alerts
-Available in the organization-level overview.
+{% ifversion security-overview-org-risk-coverage %}These qualifiers are available in the enterprise-level Overview and in the organization-level Security Risk view.{% else %}These qualifiers are available in the main summary views.{% endif %}
| Qualifier | Description |
| -------- | -------- |
@@ -94,7 +107,7 @@ Available in the organization-level overview.
## Filter by team
-Available in the organization-level overview.
+These qualifiers are available in the main summary views.
| Qualifier | Description |
| -------- | -------- |
@@ -102,17 +115,17 @@ Available in the organization-level overview.
## Filter by topic
-Available in the organization-level overview.
+These qualifiers are available in the main summary views.
| Qualifier | Description |
| -------- | -------- |
| topic:TOPIC-NAME | Displays repositories that are classified with *TOPIC-NAME*. |
-{% ifversion security-overview-views %}
+{% ifversion security-overview-alert-views %}
-## Filter by severity
+## Additional filters for {% data variables.product.prodname_code_scanning %} alert views
-Available in the code scanning alert views. All code scanning alerts have one of the categories shown below. You can click any result to see full details of the relevant rule, and the line of code that triggered the alert.
+All code scanning alerts have one of the categories shown below. You can click any result to see full details of the relevant query and the line of code that triggered the alert.
| Qualifier | Description |
| -------- | -------- |
@@ -125,9 +138,9 @@ Available in the code scanning alert views. All code scanning alerts have one of
|`severity:note`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as notes.|
{% ifversion dependabot-alerts-vulnerable-calls %}
-## Filter by {% data variables.product.prodname_dependabot %} alert type
+## Additional filters for {% data variables.product.prodname_dependabot %} alert views
-Available in the {% data variables.product.prodname_dependabot %} alert views. You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert.
+You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert.
| Qualifier | Description |
| -------- | -------- |
@@ -137,19 +150,13 @@ Available in the {% data variables.product.prodname_dependabot %} alert views. Y
{% endif %}
-## Filter by secret types
-
-Available in the secret scanning alert views.
+## Additional filters for {% data variables.product.prodname_secret_scanning %} alert views
| Qualifier | Description |
| -------- | -------- |
-| `secret-type:SERVICE_PROVIDER` | Displays alerts for the specified secret and provider. For more information, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." |
-| `secret-type:CUSTOM-PATTERN` | Displays alerts for secrets matching the specified custom pattern. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." |
+|`provider:PROVIDER_NAME` | Displays alerts for all secrets issues by the specified provider. |
+| `secret-type:SERVICE_PROVIDER` | Displays alerts for the specified secret and provider. |
+| `secret-type:CUSTOM-PATTERN` | Displays alerts for secrets matching the specified custom pattern. |
-## Filter by provider
+For more information, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)."
-Available in the secret scanning alert views.
-
-| Qualifier | Description |
-| -------- | -------- |
-|`provider:PROVIDER_NAME` | Displays alerts for all secrets issues by the specified provider. For more information, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." |
diff --git a/content/code-security/security-overview/viewing-the-security-overview.md b/content/code-security/security-overview/viewing-the-security-overview.md
index 899fcc3ea4..fec26aafc9 100644
--- a/content/code-security/security-overview/viewing-the-security-overview.md
+++ b/content/code-security/security-overview/viewing-the-security-overview.md
@@ -1,8 +1,9 @@
---
-title: Viewing the security overview
+title: Viewing security overviews
intro: Navigate to the different views available in the security overview
permissions: '{% data reusables.security-overview.permissions %}'
product: '{% data reusables.gated-features.security-overview %}'
+allowTitleToDifferFromFilename: true
versions:
ghae: '>= 3.4'
ghes: '*'
@@ -14,7 +15,7 @@ topics:
- Alerts
- Organizations
- Teams
-shortTitle: View the security overview
+shortTitle: View security overviews
---
{% ifversion ghes < 3.5 or ghae %}
@@ -23,48 +24,44 @@ shortTitle: View the security overview
{% data reusables.security-overview.information-varies-GHAS %}
-## Viewing the security overview for an organization
+## Viewing the security overviews for an organization
+
+{% data reusables.security-overview.beta-org-risk-coverage %}
+
+{% ifversion security-overview-org-risk-coverage %}
+{% data reusables.organizations.navigate-to-org %}
+{% data reusables.organizations.security-overview %}
+1. Choose the overview you want to display from the options in the sidebar.
+1. Use the drop-down filters and search box to focus on the information of greatest interest. The "Security Risk" and "Security Coverage" views also have an interactive header that you can use to filter results.
+
+ 
+
+{% else %}
{% data reusables.organizations.navigate-to-org %}
{% data reusables.organizations.security-overview %}
1. To view aggregate information about alert types, click **Show more**.
- 
+ 
{% data reusables.organizations.filter-security-overview %}
-{% ifversion security-overview-views %}
+{% ifversion security-overview-alert-views %}
{% data reusables.organizations.security-overview-feature-specific-page %}
- 
+ 
+{% endif %}
-## Viewing alerts across your organization
-
-{% data reusables.organizations.navigate-to-org %}
-{% data reusables.organizations.security-overview %}
-1. In the security sidebar, select the subset of alerts you want to view.
-
-2. Optionally, filter the list of alerts. Each view has its own selection of available filters. You can click multiple filters in the drop-down filter menus to narrow your search. You can also type search qualifiers in the search field. For more information about the available qualifiers, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
- 
+{% endif %}
{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %}
-## Viewing the security overview for an enterprise
+## Viewing the security overviews for an enterprise
{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %}
1. In the left sidebar, click {% octicon "shield" aria-label="The shield icon" %} **Code Security**.
{% ifversion security-overview-feature-specific-alert-page %}
{% data reusables.organizations.security-overview-feature-specific-page %}
{% endif %}
-{% endif %}
-
-## Viewing alerts for a repository
-
-{% data reusables.repositories.navigate-to-repo %}
-1. Under your repository name, click **Security**.
- 
-2. In the security sidebar, select the view you want to open.
- 
-3. Optionally, filter the list of alerts. Each view has its own selection of available filters. You can click multiple filters in the drop-down filter menus to narrow your search. You can also type search qualifiers in the search field. For more information about the available qualifiers, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
- 
{% endif %}
+{% ifversion ghes < 3.7 or ghae < 3.7 %}
## Viewing the security overview for a team
{% data reusables.profile.access_org %}
@@ -72,3 +69,4 @@ shortTitle: View the security overview
{% data reusables.organizations.specific_team %}
{% data reusables.organizations.team-security-overview %}
{% data reusables.organizations.filter-security-overview %}
+{% endif %}
\ No newline at end of file
diff --git a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md
index fe7c29fd82..6cc391c202 100644
--- a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md
+++ b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md
@@ -6,7 +6,6 @@ versions:
ghec: '*'
topics:
- Codespaces
-product: '{% data reusables.gated-features.codespaces %}'
shortTitle: Private image registry
---
diff --git a/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md b/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md
index 17af4bb2aa..0f6bc73866 100644
--- a/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md
+++ b/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md
@@ -4,7 +4,6 @@ intro: 'This article describes guidance for a disaster recovery scenario, when a
versions:
fpt: '*'
ghec: '*'
-product: '{% data reusables.gated-features.codespaces %}'
topics:
- Codespaces
shortTitle: Disaster recovery
diff --git a/content/codespaces/codespaces-reference/index.md b/content/codespaces/codespaces-reference/index.md
index 286e072959..63f6271e54 100644
--- a/content/codespaces/codespaces-reference/index.md
+++ b/content/codespaces/codespaces-reference/index.md
@@ -4,10 +4,10 @@ intro: 'This section contains references that will allow you to be successful wi
versions:
fpt: '*'
ghec: '*'
-product: '{% data reusables.gated-features.codespaces %}'
children:
- /allowing-your-codespace-to-access-a-private-image-registry
- /using-github-copilot-in-github-codespaces
+ - /using-the-github-codespaces-plugin-for-jetbrains
- /using-the-vs-code-command-palette-in-codespaces
- /security-in-github-codespaces
- /disaster-recovery-for-github-codespaces
diff --git a/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md b/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md
index 458788f73e..48607d15d9 100644
--- a/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md
+++ b/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md
@@ -9,16 +9,87 @@ topics:
- Codespaces
- Copilot
- Visual Studio Code
-product: '{% data reusables.gated-features.codespaces %}'
shortTitle: Copilot in Codespaces
redirect_from:
- /codespaces/codespaces-reference/using-copilot-in-codespaces
- /codespaces/codespaces-reference/using-github-copilot-in-codespaces
---
-## Using {% data variables.product.prodname_copilot %}
+{% jetbrains %}
-[{% data variables.product.prodname_copilot %}](https://copilot.github.com/), an AI pair programmer, can be used in any codespace. To start using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_github_codespaces %}, install the [{% data variables.product.prodname_copilot %} extension from the {% data variables.product.prodname_vscode_marketplace %}](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot). For more information about {% data variables.product.prodname_copilot %} setup and usage, see the [{% data variables.product.prodname_copilot %} documentation](/copilot).
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
-To include {% data variables.product.prodname_copilot %}, or other extensions, in all of your codespaces, enable Settings Sync. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#settings-sync)." Additionally, to include {% data variables.product.prodname_copilot %} in a given project for all users, you can specify `GitHub.copilot` as an extension in your `devcontainer.json` file. For information about configuring a `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/customizing-your-codespace/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)."
+{% endjetbrains %}
+{% webui %}
+
+## Using {% data variables.product.prodname_copilot %} in the {% data variables.product.prodname_vscode_shortname %} web client
+
+{% data reusables.codespaces.copilot-in-vscode %}
+
+{% endwebui %}
+
+{% vscode %}
+
+## Using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}
+
+{% data reusables.codespaces.copilot-in-vscode %}
+
+{% endvscode %}
+
+{% jetbrains %}
+
+## Installing {% data variables.product.prodname_copilot %} in your JetBrains IDE
+
+[{% data variables.product.prodname_copilot %}](https://copilot.github.com/), an AI pair programmer, can be used in any codespace. For more information, see "[About GitHub Copilot](/copilot/overview-of-github-copilot/about-github-copilot)."
+
+To use {% data variables.product.prodname_copilot %} in a codespace in your JetBrains IDE, install the [{% data variables.product.prodname_copilot %} plugin](https://plugins.jetbrains.com/plugin/17718-github-copilot) from within your codespace.
+
+{% note %}
+
+**Note**: You must install the {% data variables.product.prodname_copilot %} plugin each time you create a new codespace.
+
+{% endnote %}
+
+1. In the JetBrains client application, open the Settings (Windows/Linux) or Preferences (Mac) dialog box:
+
+ - **Windows/Linux**: Click **File** and then **Settings** (or press Ctrl+Alt+S)
+ - **Mac**: Click **JetBrains Client** in the MacOS menu bar, then click **Preferences** (or press command+,)
+
+1. In the left-side menu of the Settings/Preferences dialog box, click **Plugins On Host**. Then click the **Marketplace** tab.
+
+ 
+
+1. In the search box, type "copilot" then click the **Install** button for the {% data variables.product.prodname_copilot %} plugin.
+
+ 
+
+1. Click **Accept** on the "Third-Party Plugins Privacy Note" dialog box.
+1. Click **Restart IDE**.
+
+ 
+
+1. Click **Restart** when prompted to confirm that you want to restart the backend IDE that's running remotely. The JetBrains client application will close when you do this.
+1. Open the codespace again from the JetBrains Gateway application. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide#opening-a-codespace-in-your-jetbrains-ide)."
+1. After your JetBrains IDE has restarted, click the **Tools** menu. Click **{% data variables.product.prodname_copilot %}**, then click **Login to {% data variables.product.prodname_dotcom %}**.
+
+ 
+
+1. In the "Sign in to {% data variables.product.prodname_dotcom %}" dialog box, to copy the device code and open the device activation window, click **Copy and Open**.
+
+ 
+
+1. A device activation window will open in your browser. Paste the device code, then click **Continue**.
+
+ - To paste the code in Windows or Linux, press Ctrl+v.
+ - To paste the code in macOS, press command+v.
+1. {% data variables.product.prodname_dotcom %} will request the necessary permissions for {% data variables.product.prodname_copilot %}. To approve these permissions, click **Authorize {% data variables.product.prodname_copilot %} Plugin**.
+1. After the permissions have been approved, your JetBrains IDE will show a confirmation. To begin using {% data variables.product.prodname_copilot %}, click **OK**.
+
+ 
+
+## Further reading
+
+- "[Getting started with GitHub Copilot in a JetBrains IDE](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide)"
+
+{% endjetbrains %}
\ No newline at end of file
diff --git a/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md b/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md
new file mode 100644
index 0000000000..4259906853
--- /dev/null
+++ b/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md
@@ -0,0 +1,67 @@
+---
+title: Using the GitHub Codespaces plugin for JetBrains
+shortTitle: Plugin for JetBrains
+intro: 'You can use the {% data variables.product.prodname_github_codespaces %} plugin for the JetBrains client application to find out about your codespace or to stop your codespace when you''ve finished working.'
+versions:
+ fpt: '*'
+ ghec: '*'
+type: reference
+topics:
+ - Codespaces
+---
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+## About the {% data variables.product.prodname_github_codespaces %} plugin
+
+The JetBrains client application is launched when you connect to a codespace from the JetBrains Gateway application. It allows you to use {% data variables.product.prodname_github_codespaces %} with you favorite JetBrains IDE. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)."
+
+The {% data variables.product.prodname_github_codespaces %} plugin is already installed in the JetBrains client when you connect to a codespace from the JetBrains Gateway. The plugin adds the {% data variables.product.prodname_github_codespaces %} tool window to the user interface.
+
+Click **{% data variables.product.prodname_github_codespaces %}** at the bottom left of the JetBrains client's application window to open the {% data variables.product.prodname_github_codespaces %} tool window.
+
+
+
+## Using the {% data variables.product.prodname_github_codespaces %} tool window
+
+The {% data variables.product.prodname_github_codespaces %} tool window shows:
+* The repository from which you created this codespace.
+* The display name of the codespace.
+* The current branch.
+* The machine specifications.
+* The time for which this codespace can remain idle before it is automatically stopped.
+* The age of the codespace.
+* The period for which a stopped codespace will be retained before it is automatically deleted.
+
+The icons at the top of the {% data variables.product.prodname_github_codespaces %} tool window provide the following functions.
+
+* **Refresh active codespace**
+
+ 
+
+ Refresh the details in the {% data variables.product.prodname_github_codespaces %} tool window. For example, if you used {% data variables.product.prodname_cli %} to change the display name, you could click this button to show the new name.
+
+* **Disconnect and stop**
+
+ 
+
+ Stop the codespace, stop the backend IDE on the remote machine, and close the local JetBrains client.
+
+* **Manage your codespaces from the web**
+
+ 
+
+ Open your list of codespaces at https://github.com/codespaces.
+
+* **View the codespace creation log**
+
+ 
+
+ Open the codespace creation log in the editor window. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)."
+
+* **Rebuild the dev container**
+
+ 
+
+ Rebuild your codespace to apply changes you've made to the dev container configuration. The JetBrains client will close and you must reopen the codespace. For more information, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle#rebuilding-a-codespace)."
+
diff --git a/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md b/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md
index 2d7ac2aa25..b46863bb7f 100644
--- a/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md
+++ b/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md
@@ -8,7 +8,6 @@ type: reference
topics:
- Codespaces
- Visual Studio Code
-product: '{% data reusables.gated-features.codespaces %}'
shortTitle: VS Code Command Palette
allowTitleToDifferFromFilename: true
redirect_from:
@@ -35,7 +34,7 @@ You can access the {% data variables.product.prodname_vscode_command_palette_sho
To see all commands related to {% data variables.product.prodname_github_codespaces %}, [access the {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), then start typing "Codespaces".
-
+
### Suspending or stopping a codespace
@@ -45,9 +44,9 @@ To suspend or stop your codespace's container, [access the {% data variables.pro

-### Adding a dev container from a template
+### Adding a predefined dev container configuration
-To add a dev container from a template, [access the {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**
+To add a predefined dev container configuration, [access the {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**

@@ -66,3 +65,7 @@ You can use the {% data variables.product.prodname_vscode_command_palette_shortn
To retrieve the logs for {% data variables.product.prodname_github_codespaces %}, [access the {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), then start typing "log". Select **Codespaces: Export Logs** to export all logs related to {% data variables.product.prodname_github_codespaces %} or select **Codespaces: View Creation Logs** to view logs related to the setup.

+
+## Further reading
+
+- "[Using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)"
diff --git a/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md b/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md
index f985434f1b..5ee22758aa 100644
--- a/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md
+++ b/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md
@@ -2,7 +2,6 @@
title: Changing the machine type for your codespace
shortTitle: Change the machine type
intro: 'You can change the type of machine that''s running your codespace, so that you''re using resources appropriate for the work you''re doing.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -15,15 +14,11 @@ type: how_to
## About machine types
-{% note %}
-
-**Note:** You can only select or change the machine type if you are a member of an organization using {% data variables.product.prodname_github_codespaces %} and are creating a codespace on a repository owned by that organization.
-
-{% endnote %}
-
{% data reusables.codespaces.codespaces-machine-types %} You can choose an alternative machine type either when you create a codespace or at any time after you've created a codespace.
-For information on choosing a machine type when you create a codespace, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+For information on choosing a machine type when you create a codespace, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
+
+{% data reusables.codespaces.machine-types-for-unpublished-codespaces %} For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
## Changing the machine type
@@ -41,7 +36,7 @@ For information on choosing a machine type when you create a codespace, see "[Cr

-1. Click the ellipsis (**...**) to the right of the codespace you want to modify.
+{% data reusables.codespaces.ellipsis-settings %}
1. Click **Change machine type**.

@@ -73,7 +68,7 @@ You can use the `gh codespace edit --machine MACHINE-TYPE-NAME` {% data variable
gh api /user/codespaces/CODESPACE-NAME
```
- Replace `CODESPACE-NAME` with the permanent name of the codespace, for example `octocat-myrepo-gmc7`. The permanent names are listed under the **NAME** column in the list returned by `gh codespace list`.
+ Replace `CODESPACE-NAME` with the permanent name of the codespace, for example `octocat-literate-space-parakeet-mld5`. The permanent names are listed under the **NAME** column in the list returned by `gh codespace list`.
If you're prompted to request the `codespace` scope, follow the instructions in the terminal.
@@ -84,7 +79,7 @@ You can use the `gh codespace edit --machine MACHINE-TYPE-NAME` {% data variable
gh api /user/codespaces/CODESPACE-NAME/machines
```
- Replace `CODESPACE-NAME` with the permanent name of the codespace, for example `octocat-myrepo-gmc7`.
+ Replace `CODESPACE-NAME` with the permanent name of the codespace, for example `octocat-literate-space-parakeet-mld5`.
1. To change the machine type for a codespace, enter the following command.
```
diff --git a/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md b/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md
index 71cbbea96d..f0b5bc7897 100644
--- a/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md
+++ b/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md
@@ -2,7 +2,6 @@
title: Configuring automatic deletion of your codespaces
shortTitle: Configure automatic deletion
intro: 'Inactive codespaces are automatically deleted. You can choose how long your stopped codespaces are retained, up to a maximum of 30 days.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -97,7 +96,7 @@ You can set your default retention period in your web browser, on {% data variab
You can check, in the {% data variables.product.prodname_vscode %} desktop application, whether a codespace is due to be automatically deleted soon.
{% data reusables.codespaces.click-remote-explorer-icon-vscode %}
-1. Choose **{% data variables.product.prodname_github_codespaces %}** from the drop-down menu at the top right of the Remote Explorer, if it is not already selected.
+1. Choose **{% data variables.product.prodname_github_codespaces %}** from the dropdown menu at the top right of the Remote Explorer, if it is not already selected.
1. Under "GITHUB CODESPACES," position the mouse pointer over the codespace that you're interested in. A pop-up box is displayed showing you information about the codespace.
If the codespace is nearing the end of its retention period, a line is included telling you when the codespace will be deleted.
diff --git a/content/codespaces/customizing-your-codespace/index.md b/content/codespaces/customizing-your-codespace/index.md
index a61b3514f7..eef66d512a 100644
--- a/content/codespaces/customizing-your-codespace/index.md
+++ b/content/codespaces/customizing-your-codespace/index.md
@@ -1,7 +1,6 @@
---
title: Customizing your codespace
intro: '{% data variables.product.prodname_github_codespaces %} is a dedicated environment for you. You can configure your repositories with a dev container to define their default {% data variables.product.prodname_github_codespaces %} environment, and personalize your development experience across all of your codespaces with dotfiles and Settings Sync.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md
index 83e0b28741..ccd3cdb369 100644
--- a/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md
+++ b/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md
@@ -15,7 +15,6 @@ topics:
- Codespaces
- Set up
- Fundamentals
-product: '{% data reusables.gated-features.codespaces %}'
---
@@ -23,7 +22,7 @@ product: '{% data reusables.gated-features.codespaces %}'
When using any development environment, customizing the settings and tools to your preferences and workflows is an important step. {% data variables.product.prodname_github_codespaces %} allows for two main ways of personalizing your codespaces.
-- [Settings Sync](#settings-sync) - You can use and share {% data variables.product.prodname_vscode %} settings between {% data variables.product.prodname_github_codespaces %} and other instances of {% data variables.product.prodname_vscode %}.
+- [Settings Sync](#settings-sync) - You can synchronize your {% data variables.product.prodname_vscode %} settings between the desktop application and the {% data variables.product.prodname_vscode_shortname %} web client.
- [Dotfiles](#dotfiles) – You can use a `dotfiles` repository to specify scripts, shell preferences, and other configurations.
{% data variables.product.prodname_github_codespaces %} personalization applies to any codespace you create.
@@ -32,13 +31,13 @@ Project maintainers can also define a default configuration that applies to ever
## Settings Sync
-Settings Sync allows you to share configurations such as settings, keyboard shortcuts, snippets, extensions, and UI state across machines and instances of {% data variables.product.prodname_vscode %}.
+Settings Sync allows you to synchronize configurations such as settings, keyboard shortcuts, snippets, extensions, and UI state across machines and instances of {% data variables.product.prodname_vscode_shortname %}.
-To enable Settings Sync, in the bottom-left corner of the Activity Bar, select {% octicon "gear" aria-label="The gear icon" %} and click **Turn on Settings Sync…**. In the dialog box, select the settings you'd like to sync.
+To enable Settings Sync, in the bottom-left corner of {% data variables.product.prodname_vscode %}'s Activity Bar, select {% octicon "gear" aria-label="The gear icon" %} and click **Turn on Settings Sync…**. In the dialog box, select the settings you'd like to sync.

-For more information, see the [Settings Sync guide](https://code.visualstudio.com/docs/editor/settings-sync) in the {% data variables.product.prodname_vscode %} documentation.
+For more information, see the [Settings Sync guide](https://code.visualstudio.com/docs/editor/settings-sync) in the {% data variables.product.prodname_vscode_shortname %} documentation.
## Dotfiles
@@ -65,7 +64,7 @@ Any changes to your selected dotfiles repository will apply only to each new cod
{% note %}
-**Note:** Currently, {% data variables.product.prodname_github_codespaces %} does not support personalizing the _User_ settings for the {% data variables.product.prodname_vscode %} editor with your `dotfiles` repository. You can set default _Workspace_ and _Remote [Codespaces]_ settings for a specific project in the project's repository. For more information, see "[Introduction to dev containers](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)."
+**Note:** Currently, {% data variables.product.prodname_codespaces %} does not support personalizing the User-scoped settings for {% data variables.product.prodname_vscode_shortname %} with your `dotfiles` repository. You can set default Workspace and Remote [Codespaces] settings for a specific project in the project's repository. For more information, see "[Introduction to dev containers](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)."
{% endnote %}
@@ -96,10 +95,11 @@ You can also personalize {% data variables.product.prodname_github_codespaces %}
- To enable GPG verification, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."
- To set your editor, see "[Setting your default editor for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)."
-- To set how long a codespace can remain unused before it is automatically stopped, see "[Setting your timeout period for GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)."
+- To set how long a codespace can remain unused before it is automatically stopped, see "[Setting your timeout period for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)."
- To set the period for which your unused codespaces are retained, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)."
- To set your default region, see "[Setting your default region for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)."
## Further reading
* "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)"
+* "[Deep dive into {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive#personalizing-your-codespace-with-extensions-or-plugins)"
\ No newline at end of file
diff --git a/content/codespaces/customizing-your-codespace/renaming-a-codespace.md b/content/codespaces/customizing-your-codespace/renaming-a-codespace.md
index 244f69b654..04b0d5b52f 100644
--- a/content/codespaces/customizing-your-codespace/renaming-a-codespace.md
+++ b/content/codespaces/customizing-your-codespace/renaming-a-codespace.md
@@ -1,7 +1,6 @@
---
title: Renaming a codespace
-intro: 'You can use the {% data variables.product.prodname_cli %} to change the codespace display name to one of your choice.'
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can change the codespace display name to one of your choice through {% data variables.product.prodname_dotcom_the_website %} or the {% data variables.product.prodname_cli %}.'
versions:
fpt: '*'
ghec: '*'
@@ -23,7 +22,7 @@ To find the display name of a codespace:

-- In the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client, click the Remote Explorer. The display name is shown below the repository name. For example: `symmetrical space telegram` in the screenshot below.
+- In the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client, click the Remote Explorer. The display name is the second item in the list. For example: `symmetrical space telegram` in the screenshot below.

@@ -32,11 +31,11 @@ To find the display name of a codespace:
### Permanent codespace names
-In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. For example: `octocat-myrepo-gmc7`. You can't change this name.
+In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, and the auto-generated display name. For example: `octocat-literate-space-parakeet-mld5`. You can't change the permanent name.
To find the permanent name of a codespace:
-* On {% data variables.product.product_name %}, the permanent name is shown in a pop-up when you hover over the **Open in browser** option on https://github.com/codespaces.
+* On {% data variables.product.product_name %}, the permanent name is shown in a pop-up when you hover over the display name of a codespace on https://github.com/codespaces.

@@ -45,7 +44,11 @@ To find the permanent name of a codespace:
## Renaming a codespace
-Changing the display name of a codespace can be useful if you have multiple codespaces that you will be using for an extended period. An appropriate name helps you identify a codespace that you use for a particular purpose. You can change the display name for your codespace by using the {% data variables.product.prodname_cli %}.
+Changing the display name of a codespace can be useful if you have multiple codespaces that you will be using for an extended period. An appropriate name helps you identify a codespace that you use for a particular purpose.
+
+{% cli %}
+
+You can change the display name for your codespace by using the {% data variables.product.prodname_cli %}.
To rename a codespace, use the `gh codespace edit` subcommand:
@@ -56,3 +59,20 @@ gh codespace edit -c PERMANENT-CODESPACE-NAME -d NEW-DISPLAY-NAME
In this example, replace `PERMANENT-CODESPACE-NAME` with the permanent name of the codespace whose display name you want to change. Replace `NEW-DISPLAY-NAME` with the display name you want to use for this codespace.
For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli#rename-a-codespace)."
+
+{% endcli %}
+
+{% webui %}
+
+You can change the display name for your codespace on {% data variables.product.prodname_dotcom_the_website %}.
+
+{% data reusables.codespaces.your-codespaces-procedure-step %}
+
+ The current display name for each of your codespaces is displayed.
+
+{% data reusables.codespaces.ellipsis-settings %}
+1. Click **Rename**.
+
+1. In the prompt, under "Change display name to..." type your desired display name and click **OK**.
+
+{% endwebui %}
\ No newline at end of file
diff --git a/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md b/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md
index 2bccae239b..ad415c4536 100644
--- a/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md
+++ b/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Setting your default editor for GitHub Codespaces
shortTitle: Set the default editor
intro: '{% data reusables.codespaces.about-changing-default-editor %}'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -14,15 +13,38 @@ topics:
type: how_to
---
-On the settings page, you can set your editor preference so that any newly created codespaces are opened automatically in either {% data variables.product.prodname_vscode %} for Web or the {% data variables.product.prodname_vscode %} desktop application.
+On the settings page, you can set your editor preference so that when you create a codespace, or open an existing codespace, it is opened in your choice of:
+* {% data variables.product.prodname_vscode %} (desktop application)
+* {% data variables.product.prodname_vscode %} (web client application)
+* JetBrains Gateway - for opening codespaces in a JetBrains IDE
+* JupyterLab - the web interface for Project Jupyter
+
+{% data reusables.codespaces.template-codespaces-default-editor %}
If you want to use {% data variables.product.prodname_vscode %} as your default editor for {% data variables.product.prodname_github_codespaces %}, you need to install {% data variables.product.prodname_vscode %} and the {% data variables.product.prodname_github_codespaces %} extension for {% data variables.product.prodname_vscode %}. For more information, see the [download page for {% data variables.product.prodname_vscode %}](https://code.visualstudio.com/download/) and the [{% data variables.product.prodname_github_codespaces %} extension on the {% data variables.product.prodname_vscode %} marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
+If you want to work on a codespace in a JetBrains IDE you must install the JetBrains Gateway. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)."
+
## Setting your default editor
{% data reusables.user-settings.access_settings %}
{% data reusables.user-settings.codespaces-tab %}
1. Under "Editor preference", select the option you want.
+

- If you choose **{% data variables.product.prodname_vscode %}**, {% data variables.product.prodname_github_codespaces %} will automatically open in the desktop application when you next create a codespace. You may need to allow access to both your browser and {% data variables.product.prodname_vscode %} for it to open successfully.
- 
+
+ * {% data reusables.codespaces.application-installed-locally %}
+
+ * If you choose **{% data variables.product.prodname_vscode %}**, {% data variables.product.prodname_github_codespaces %} will automatically open in the desktop application when you next create or open a codespace.
+
+ You may need to allow access to both your browser and {% data variables.product.prodname_vscode %} for it to open successfully.
+
+ * If you choose **JetBrains Gateway**, the Gateway application will automatically open when you next create or open a codespace.
+
+ The first time you open a codespace this way you must give permission to open the application.
+
+ The Gateway application will open and the codespace will then be automatically selected. You can then choose a JetBrains IDE, if you have not previously done so, and click **Connect** to open the codespace in the JetBrains client. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)."
+
+ To connect to a codespace from the Gateway application, you must have an SSH server running on the codespace. {% indented_data_reference reusables.codespaces.ssh-server-installed spaces=5 %}
+
+ * If you choose **JupyterLab**, the JupyterLab application must be installed in the codespaces you open. {% data reusables.codespaces.jupyterlab-in-default-image %}
diff --git a/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md b/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md
index ce72f9ee1f..c1b94d0fd2 100644
--- a/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md
+++ b/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Setting your default region for GitHub Codespaces
shortTitle: Set the default region
intro: 'You can set your default region in the {% data variables.product.prodname_github_codespaces %} profile settings page to personalize where your data is held.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md b/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md
index d32cffd8aa..ab0e7be5ee 100644
--- a/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md
+++ b/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Setting your timeout period for GitHub Codespaces
shortTitle: Set the timeout
intro: 'You can set your default timeout for {% data variables.product.prodname_github_codespaces %} in your personal settings page.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -13,16 +12,20 @@ redirect_from:
- /codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces
---
-A codespace will stop running after a period of inactivity. You can specify the length of this timeout period. The updated setting will apply to any newly created codespace.
+## About the idle timeout
-Some organizations may have a maximum idle timeout policy. If an organization policy sets a maximum timeout which is less than the default timeout you have set, the organization's timeout will be used instead of your setting, and you will be notified of this after the codespace is created. For more information, see "[Restricting the idle timeout period](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)."
+A codespace will stop running after a period of inactivity. By default this period is 30 minutes, but you can specify a longer or shorter default timeout period in your personal settings on {% data variables.product.prodname_dotcom %}. The updated setting will apply to any new codespaces you create, or to existing codespaces the next time you start them. You can also specify a timeout when you use {% data variables.product.prodname_cli %} to create a codespace.
{% warning %}
-**Warning**: Codespaces are billed per minute. If you are not actively using a codespace but the codespace has not yet timed out, you are still billed for the time that the codespace is running. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)."
+**Warning**: Codespaces compute usage is billed for the duration for which a codespace is active. If you're not using a codespace but it remains running, and hasn't yet timed out, you are billed for the total time that the codespace was active, irrespective of whether you were using it. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)."
{% endwarning %}
+### Timeout periods for organization-owned repositories
+
+Organizations can set a maximum idle timeout policy for codespaces created from some or all of their repositories. If an organization policy sets a maximum timeout which is less than the default timeout you have set, the organization's timeout will be used instead of your setting. You will be notified of this after the codespace is created. For more information, see "[Restricting the idle timeout period](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)."
+
{% webui %}
## Setting your default timeout period
diff --git a/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md b/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md
index 401fd7a9a7..bdaddaa45e 100644
--- a/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md
+++ b/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md
@@ -1,7 +1,6 @@
---
title: Connecting to a private network
intro: 'You can connect {% data variables.product.prodname_github_codespaces %} to resources on a private network, including package registries, license servers, and on-premises databases.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -39,7 +38,7 @@ The {% data variables.product.prodname_cli %} extension allows you to create a b
As an alternative to the {% data variables.product.prodname_cli %} extension, you can use a VPN to access resources behind a private network from within your codespace.
-We recommend VPN tools like [OpenVPN](https://openvpn.net/) to access resources on a private network. For more information, see "[Using the OpenVPN client from GitHub Codespaces](https://github.com/codespaces-contrib/codespaces-openvpn)."
+We recommend VPN tools like [OpenVPN](https://openvpn.net/) to access resources on a private network. For more information, see "[Using the OpenVPN client from {% data variables.product.prodname_github_codespaces %}](https://github.com/codespaces-contrib/codespaces-openvpn)."
There are also a number of third party solutions that, while not explicitly endorsed by {% data variables.product.prodname_dotcom %}, have provided examples of how to integrate with {% data variables.product.prodname_github_codespaces %}.
diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md
similarity index 58%
rename from content/codespaces/developing-in-codespaces/creating-a-codespace.md
rename to content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md
index f0e477786b..e4492c0bb6 100644
--- a/content/codespaces/developing-in-codespaces/creating-a-codespace.md
+++ b/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md
@@ -1,10 +1,10 @@
---
-title: Creating a codespace
+title: Creating a codespace for a repository
intro: You can create a codespace for a branch in a repository to develop online.
-product: '{% data reusables.gated-features.codespaces %}'
redirect_from:
- /github/developing-online-with-github-codespaces/creating-a-codespace
- /github/developing-online-with-codespaces/creating-a-codespace
+ - /codespaces/developing-in-codespaces/creating-a-codespace
versions:
fpt: '*'
ghec: '*'
@@ -13,14 +13,32 @@ topics:
- Codespaces
- Fundamentals
- Developer
-shortTitle: Create a codespace
+shortTitle: Create a codespace for a repo
---
-## About codespace creation
+## About creating a codespace for a repository
-You can create a codespace on {% data variables.product.prodname_dotcom_the_website %}, in {% data variables.product.prodname_vscode %}, or by using {% data variables.product.prodname_cli %}. {% data reusables.codespaces.codespaces-are-personal %}
+{% data reusables.codespaces.ways-to-create-a-codespace %} Use the tabs in this article to display instructions for each of these ways of creating a codespace.
-Codespaces are associated with a specific branch of a repository and the repository cannot be empty. You can create more than one codespace per repository or even per branch.
+{% data reusables.codespaces.starting-new-project-template %} For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
+
+{% note %}
+
+**Note**: If you use a JetBrains IDE, you can use {% data variables.product.prodname_cli %} to create a codespace. You can then use the JetBrains Gateway application to open the codespace in a JetBrains IDE. For more information, see "[Using Codespaces in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)."
+
+{% endnote %}
+
+You can use {% data variables.product.prodname_github_codespaces %} on your personal {% data variables.product.prodname_dotcom_the_website %} account, with the quota of free use included each month for accounts on the Free and Pro plans. {% data reusables.codespaces.codespaces-continue-by-paying %}
+
+Organizations can enable members and outside collaborators to create and use codespaces at the organization's expense. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)."
+
+{% data reusables.codespaces.codespaces-are-personal %}
+
+If you create a codespace from a repository, the codespace will be associated with a specific branch, which cannot be empty. You can create more than one codespace per repository or even per branch.
+
+{% data reusables.codespaces.you-can-see-all-your-codespaces %}
+
+### The codespace creation process
When you create a codespace, a number of steps happen to create and connect you to your development environment:
@@ -31,73 +49,44 @@ When you create a codespace, a number of steps happen to create and connect you
For more information on what happens when you create a codespace, see "[Deep Dive](/codespaces/getting-started/deep-dive)."
-For more information on the lifecycle of a codespace, see "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)."
+For more information on the lifecycle of a codespace, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)."
If you want to use Git hooks for your codespace, then you should set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`, during step 4. Since your codespace container is created after the repository is cloned, any [git template directory](https://git-scm.com/docs/git-init#_template_directory) configured in the container image will not apply to your codespace. Hooks must instead be installed after the codespace is created. For more information on using `postCreateCommand`, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation.
{% data reusables.codespaces.use-visual-studio-features %}
-{% data reusables.codespaces.you-can-see-all-your-codespaces %}
-
{% data reusables.codespaces.prebuilds-crossreference %}
-## Access to {% data variables.product.prodname_github_codespaces %}
-
-When you have access to {% data variables.product.prodname_github_codespaces %}, you'll see a "Codespaces" tab within the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu when you view a repository.
-
-You'll have access to {% data variables.product.prodname_github_codespaces %} under the following conditions:
-
-Either all of these are true:
-* You are a member, or outside collaborator, of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit.
-* The organization owner has allowed you to create codespaces at the organization's expense.
-* The repository for which you want to create a codespace is owned by this organization.
-
-Or both of these are true:
-* You are participating in the beta of {% data variables.product.prodname_codespaces %} for individual users.
-* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator.
-
-Before {% data variables.product.prodname_codespaces %} can be used in an organization, an owner or billing manager must have set a spending limit. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces#about-spending-limits-for-codespaces)."
-
-Organization owners can specify who can create and use codespaces at the organization's expense. Organization owners can also prevent any codespace usage being charged to the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)."
-
-## Creating a codespace
+## Creating a codespace for a repository
{% webui %}
{% data reusables.repositories.navigate-to-repo %}
-1. Under the repository name, use the "Branch" drop-down menu, and select the branch you want to create a codespace for.
+1. Under the repository name, use the "Branch" dropdown menu, and select the branch you want to create a codespace for.
- 
+ 
1. Click the **{% octicon "code" aria-label="The code icon" %} Code** button, then click the **Codespaces** tab.

- If codespaces for this repository are billable, a message is displayed below the **Create codespace on BRANCH** button telling you who will pay for the codespace.
+ If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed below the **Create codespace on BRANCH** button telling you who will pay for the codespace.
1. Create your codespace, either using the default options, or after configuring advanced options:
* **Use the default options**
- To create a codespace using the default options, click **Create codespace on BRANCH**.
-
- Optionally, before clicking **Create codespace on BRANCH**, you can click the down arrow at the side of the button to see what machine type will be used for your codespace.
-
- 
-
- {% note %}
-
- **Note**: The machine type with the lowest resources that are valid for the repository is selected by default.
-
- {% endnote %}
+ To create a codespace using the default options, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). Alternatively, if you don't currently have any codespaces for this repository, you can click **Create codespace on BRANCH**.
* **Configure options**
To configure advanced options for your codespace, such as a different machine type or a particular `devcontainer.json` file:
- 1. Click the down arrow at the side of the **Create codespace on BRANCH** button, then click **Configure and create codespace**.
- 1. Click the **Configure and create codespace** button.
- 1. On the options page for your codespace, choose your preferred options from the drop-down menus.
+ 1. Click the ellipsis (**...**) at the top right of the **Codespaces** tab and select **New with options**.
+
+ 
+
+ 1. On the options page for your codespace, choose your preferred options from the dropdown menus.

@@ -113,7 +102,7 @@ Organization owners can specify who can create and use codespaces at the organiz
{% endnote %}
- 1. Click **Start session**.
+ 1. Click **Create codespace**.
{% endwebui %}
@@ -133,7 +122,7 @@ To create a new codespace, use the `gh codespace create` subcommand.
gh codespace create
```
-You are prompted to choose a repository. If codespaces for this repository are billable, a message is displayed telling you who will pay for the codespace. You are then prompted to choose a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available).
+You are prompted to choose a repository. If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed telling you who will pay for the codespace. You are then prompted to choose a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available).
Alternatively, you can use flags to specify some or all of the options:
@@ -153,4 +142,4 @@ For full details of the options for this command, see [the {% data variables.pro
## Further reading
- "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)"
-- "[Adding an 'Open in GitHub Codespaces' badge](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge)"
+- "[Adding an 'Open in {% data variables.product.prodname_github_codespaces %}' badge](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge)"
diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md b/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md
new file mode 100644
index 0000000000..1f90ae0e98
--- /dev/null
+++ b/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md
@@ -0,0 +1,102 @@
+---
+title: Creating a codespace from a template
+intro: If you're starting a new project, you can create a codespace from a blank template or choose a template specially designed for the type of work you want to do.
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+topics:
+ - Codespaces
+ - Fundamentals
+ - Developer
+shortTitle: Create a codespace from a template
+miniTocMaxHeadingLevel: 3
+---
+
+## About templates for {% data variables.product.prodname_github_codespaces %}
+
+If you're starting a new project, you can get started with development work quickly by creating a codespace from a template. You'll be able to work on your project in a cloud-based development environment, save your files in the cloud, and publish your work to a new remote repository that you can share with others or clone to your local machine.
+
+{% note %}
+
+**Note**: Codespaces created from a template, rather than from a repository, are always billed to your personal account. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+
+{% endnote %}
+
+You can start from a blank template, choose from templates maintained by {% data variables.product.company_short %} for popular technologies such as React or Jupyter Notebook, or launch a codespace from any template repository on {% data variables.product.prodname_dotcom %}. With a blank template, you'll start with an empty directory, with access to cloud-based compute resources and the tools, languages, and runtime environments that come preinstalled with the default codespace image. With other templates, you'll get starter files for the technology you're working with, plus typically some extra files such as a README file, a `.gitignore` file, and dev container configuration files containing some custom environment configuration. For more information on dev containers and the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+
+As an example, if you create a codespace from {% data variables.product.company_short %}'s React template, you'll arrive in a workspace containing template files for a simple application, such as `index.js`, `app.js`, and `package.json`. Shortly after the codespace opens, a development server will start up automatically, and you will be able to view the running application in a simple browser tab within the {% data variables.product.prodname_vscode_shortname %} web client.
+
+
+
+The files and configuration included in templates are defined in template repositories. The template repository is cloned into your codespace when you create the codespace. After that, the link is severed, and your codespace won't be linked to a remote repository until you publish to one.
+
+{% tip %}
+
+**Tip:** To help people get started with your framework, library, or other project, you can set up a template repository for use with {% data variables.product.prodname_github_codespaces %}. For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces)."
+
+{% endtip %}
+
+## Creating a codespace from a {% data variables.product.company_short %} template
+
+Templates maintained by {% data variables.product.company_short %}, including the blank template, are available from the "Your codespaces" page.
+
+{% data reusables.codespaces.your-codespaces-procedure-step %}
+{% data reusables.codespaces.view-all-templates-step %}
+1. Optionally, to view the template repository containing the files for a template, click the name of the template.
+
+ 
+
+1. Under the template you want to launch, click **Use this template**.
+
+ 
+
+{% data reusables.codespaces.template-codespaces-default-editor %}
+
+## Creating a codespace from a template repository
+
+You can create a codespace from any template repository, then publish your work to a new repository when you are ready. For more information on template repositories, see "[Creating a repository from a template](/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#about-repository-templates)."
+
+{% data reusables.repositories.navigate-to-repo %}
+{% data reusables.codespaces.open-template-in-codespace-step %}
+
+ {% note %}
+
+ **Note:** If you're a maintainer of the template repository, and want to commit changes to the template repository itself, you should create a codespace from the **{% octicon "code" aria-label="The code icon" %} Code** dropdown. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
+
+ {% endnote %}
+
+{% data reusables.codespaces.template-codespaces-default-editor %}
+
+## Publishing to a repository on {% data variables.product.product_name %}
+
+{% data reusables.codespaces.about-publishing-templates %}
+
+### Publishing from {% data variables.product.prodname_vscode_shortname %}
+
+{% data reusables.codespaces.publishing-template-codespaces %}
+
+When a codespace is published, you have access to a greater range of options to customize your {% data variables.product.prodname_github_codespaces %} experience. For example, you can:
+
+- Change the machine type of your codespace to make sure you're using resources appropriate for the work you're doing (see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)").
+- Allow {% data variables.product.prodname_dotcom %} to automatically use GPG to sign commits you make in your codespace (see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)").
+- Share encrypted secrets with your codespace (see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)").
+
+### Publishing from {% data variables.product.prodname_dotcom_the_website %}
+
+You can publish an unpublished codespace from the "Your codespaces" page on {% data variables.product.prodname_dotcom_the_website %}. This is useful if you want to publish a codespace that you don't currently have open in your browser. If you do this, your work will be preserved in a repository, but there won't be a link between your existing codespace and the new repository. However, you can navigate to the new repository and create a codespace from there, and this codespace will be connected to the repository.
+
+{% data reusables.codespaces.your-codespaces-procedure-step %}
+1. Next to the unpublished codespace, click the ellipsis (**...**), then select **Publish to a new repository**.
+
+ 
+1. Choose a name for your new repository, set it as **Public** or **Private**, and click **Create repository**.
+
+ 
+1. Optionally, to view the new repository, click **See repository**.
+
+## Further reading
+
+- "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)"
+- "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)"
+- "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)"
\ No newline at end of file
diff --git a/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md b/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md
index 92f2d38704..e5fb7b882d 100644
--- a/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md
+++ b/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md
@@ -1,7 +1,6 @@
---
title: Default environment variables for your codespace
shortTitle: Default environment variables
-product: '{% data reusables.gated-features.codespaces %}'
intro: '{% data variables.product.prodname_dotcom %} sets default environment variables for each codespace.'
versions:
fpt: '*'
@@ -27,7 +26,7 @@ topics:
| Environment variable | Description |
| ---------------------|------------ |
-| `CODESPACE_NAME` | The name of the codespace For example, `monalisa-github-hello-world-2f2fsdf2e` |
+| `CODESPACE_NAME` | The name of the codespace For example, `octocat-literate-space-parakeet-mld5` |
| `CODESPACES` | Always `true` while in a codespace |
| `GIT_COMMITTER_EMAIL` | The email for the "author" field of future `git` commits. |
| `GIT_COMMITTER_NAME` | The name for the "committer" field of future `git` commits. |
diff --git a/content/codespaces/developing-in-codespaces/deleting-a-codespace.md b/content/codespaces/developing-in-codespaces/deleting-a-codespace.md
index 92bf5d8295..c004006e66 100644
--- a/content/codespaces/developing-in-codespaces/deleting-a-codespace.md
+++ b/content/codespaces/developing-in-codespaces/deleting-a-codespace.md
@@ -1,7 +1,6 @@
---
title: Deleting a codespace
intro: You can delete a codespace you no longer need.
-product: '{% data reusables.gated-features.codespaces %}'
redirect_from:
- /github/developing-online-with-github-codespaces/deleting-a-codespace
- /github/developing-online-with-codespaces/deleting-a-codespace
@@ -16,7 +15,15 @@ topics:
shortTitle: Delete a codespace
---
-There are costs associated with storing codespaces. You should therefore delete any codespaces you no longer need. For more information, see "[About billing for GitHub Codespaces](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+You can delete a codespace in a variety of ways: in the terminal by using {% data variables.product.prodname_cli %}, in {% data variables.product.prodname_vscode %}, or in your web browser. Use the tabs in this article to display instructions for each of these ways of deleting a codespace.
+
+{% note %}
+
+**Note**: You can't delete a codespace from within the JetBrains Gateway, or the JetBrains client application, or from within JupyterLab.
+
+{% endnote %}
+
+There are costs associated with storing codespaces. You should therefore delete any codespaces you no longer need. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
{% data reusables.codespaces.max-number-codespaces %}
@@ -58,13 +65,13 @@ For more information about this command, see [the {% data variables.product.prod
{% webui %}
-You can use {% data variables.product.prodname_cli %} to delete several or all of your codespaces with a single command. For more information, click the **{% data variables.product.prodname_cli %}** tab near the top of this page.
+You can use {% data variables.product.prodname_cli %} to delete several or all of your codespaces with a single command. For more information, click the "{% data variables.product.prodname_cli %}" tab near the top of this page.
{% endwebui %}
{% vscode %}
-You can use {% data variables.product.prodname_cli %} to delete several or all of your codespaces with a single command. For more information, click the **{% data variables.product.prodname_cli %}** tab near the top of this page.
+You can use {% data variables.product.prodname_cli %} to delete several or all of your codespaces with a single command. For more information, click the "{% data variables.product.prodname_cli %}" tab near the top of this page.
{% endvscode %}
@@ -86,7 +93,7 @@ By default you are prompted to confirm deletion of any codespaces that contain u
Delete all of the codespaces for the `octo-org/octo-repo` repository that you created more than 7 days ago.
```
-gh cs delete --repo octo-org/octo-repo --days 7
+gh codespace delete --repo octo-org/octo-repo --days 7
```
{% endcli %}
@@ -123,5 +130,5 @@ For more information, click the "{% data variables.product.prodname_cli %}" tab
You can also use the REST API to delete codespaces for your organization. For more information, see "[Codespaces organizations](/rest/codespaces/organizations#delete-a-codespace-from-the-organization)."
## Further reading
-- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)"
+- "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)"
- "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)"
diff --git a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md
index ed9f3b5c99..0de2f28409 100644
--- a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md
+++ b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md
@@ -1,7 +1,6 @@
---
title: Developing in a codespace
-intro: 'You can open a codespace on {% data variables.product.product_name %}, then develop using {% data variables.product.prodname_vscode %}''s features.'
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can work in a codespace using your browser, {% data variables.product.prodname_vscode %}, a JetBrains IDE, or in a command shell.'
redirect_from:
- /github/developing-online-with-github-codespaces/developing-in-a-codespace
- /github/developing-online-with-codespaces/developing-in-a-codespace
@@ -16,41 +15,125 @@ topics:
shortTitle: Develop in a codespace
---
-
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
## About development with {% data variables.product.prodname_github_codespaces %}
+You can develop code in a codespace using your choice of tool:
+
+* A command shell, via an SSH connection initiated using {% data variables.product.prodname_cli %}.
+* One of the JetBrains IDEs, via the JetBrains Gateway.
+* The {% data variables.product.prodname_vscode %} desktop application.
+* A browser-based version of {% data variables.product.prodname_vscode %}.
+
+{% webui %}
+
+The tabs in this article allow you to switch between information for each of these ways of working. You're currently on the tab for the web browser version of {% data variables.product.prodname_vscode %}.
+
+## Working in a codespace in the browser
+
+Using {% data variables.product.prodname_codespaces %} in the browser provides you with a fully featured development experience. You can edit code, debug, use Git commands, and run your application.
+
+
+
+{% data reusables.codespaces.vscode-interface-annotation %}
+{% data reusables.codespaces.use-chrome %} For more information, see "[Troubleshooting {% data variables.product.prodname_github_codespaces %} clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients)."
+{% data reusables.codespaces.developing-in-vscode %}
+{% data reusables.codespaces.navigating-to-a-codespace %}
+
+{% endwebui %}
+
+{% vscode %}
+
+The tabs in this article allow you to switch between information for each of these ways of working. You're currently on the tab for {% data variables.product.prodname_vscode %}.
+
+## Working in a codespace in {% data variables.product.prodname_vscode_shortname %}
+
{% data variables.product.prodname_github_codespaces %} provides you with the full development experience of {% data variables.product.prodname_vscode %}. {% data reusables.codespaces.use-visual-studio-features %}
-{% data reusables.codespaces.links-to-get-started %}
+
-
-
-1. Side Bar - By default, this area shows your project files in the Explorer.
-2. Activity Bar - This displays the Views and provides you with a way to switch between them. You can reorder the Views by dragging and dropping them.
-3. Editor - This is where you edit your files. You can use the tab for each editor to position it exactly where you need it.
-4. Panels - This is where you can see output and debug information, as well as the default place for the integrated Terminal.
-5. Status Bar - This area provides you with useful information about your codespace and project. For example, the branch name, configured ports, and more.
+{% data reusables.codespaces.vscode-interface-annotation %}
For more information on using {% data variables.product.prodname_vscode_shortname %}, see the [User Interface guide](https://code.visualstudio.com/docs/getstarted/userinterface) in the {% data variables.product.prodname_vscode_shortname %} documentation.
-{% data reusables.codespaces.connect-to-codespace-from-vscode %}
+{% data reusables.codespaces.connect-to-codespace-from-vscode %}
-{% data reusables.codespaces.use-chrome %} For more information, see "[Troubleshooting {% data variables.product.prodname_github_codespaces %} clients](/codespaces/troubleshooting/troubleshooting-codespaces-clients)."
+For troubleshooting information, see "[Troubleshooting Codespaces clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients)."
+{% data reusables.codespaces.developing-in-vscode %}
+{% data reusables.codespaces.navigating-to-a-codespace %}
+
+{% endvscode %}
+
+{% jetbrains %}
+
+The tabs in this article allow you to switch between information for each of these ways of working. You're currently on the tab for JetBrains IDEs.
+
+## Working in a codespace in a JetBrains IDE
+
+To use {% data variables.product.prodname_github_codespaces %} with a JetBrains IDE you must have already installed JetBrains Gateway. For information about installing JetBrains Gateway, see [the JetBrains website](https://www.jetbrains.com/remote-development/gateway/).
+
+You can work in a codespace using your choice of JetBrains IDE. After creating a codespace, you can use the JetBrains Gateway application to open the codespace in your preferred IDE.
+
+You can edit code, debug, and use Git commands while developing in a codespace with your JetBrains IDE. For more information about the various JetBrains IDEs, see the [JetBrains documentation](https://www.jetbrains.com/help/).
+
+### IntelliJ IDEA user interface
+
+Within the {% data variables.product.prodname_github_codespaces %} documentation we use IntelliJ IDEA as a representative JetBrains IDE. Different JetBrains IDEs may have different layouts.
+
+
+
+1. **Navigation bar** - This displays the path to the currently selected file or directory. Use the buttons to the right of the navigation bar to perform various actions, including building, running, or debugging the project, or running Git commands to commit and push your changes.
+2. **Project tool window** - This shows you the structure of your project and allows you to open files in the editor.
+3. **{% data variables.product.prodname_github_codespaces %} tool window** - This is displayed by clicking the {% data variables.product.prodname_github_codespaces %} plugin in the bar to the left of the tool window. It displays information about your codespace, including its display name and machine type. The buttons at the top of this tool window allow you to:
+ * Stop the codespace and disconnect
+ * Display the "Your codespaces" web page
+ * View the codespace creation logs
+ * Rebuild the dev container
+4. **Editor** - This is where you edit your files. You can right-click the tab for a file to access options such as moving the tab to a new window.
+5. **Terminal** - This is displayed by clicking **Terminal** in the tool window bar at the bottom of the main window (just above the status bar). The integrated terminal allows you to perform command-line tasks without having to switch to a dedicated terminal application.
+6. **Status bar** - Hover over the icon at the left of the status bar to see a list of tools. Click the icon to hide or show the tool window bars. The right side of the status bar shows information about the project, including the current Git branch.
+
+For more information about the IntelliJ IDEA user interface, see the [JetBrains documentation for IntelliJ IDEA](https://www.jetbrains.com/help/idea/guided-tour-around-the-user-interface.html).
+
+### Customizing the codespaces for a repository
+
+You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
### Personalizing your codespace
-{% data reusables.codespaces.about-personalization %} For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account)."
-
-{% data reusables.codespaces.apply-devcontainer-changes %} For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
-
-### Running your app from a codespace
-{% data reusables.codespaces.about-port-forwarding %} For more information, see "[Forwarding ports in your codespace](/github/developing-online-with-codespaces/forwarding-ports-in-your-codespace)."
+You can use a [dotfiles](https://dotfiles.github.io/tutorials/) repository to personalize aspects of the codespace environment for any codespace that you create. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles)."
### Committing your changes
-{% data reusables.codespaces.committing-link-to-procedure %}
+Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit and push your changes. Pushing changes to a repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, to modify the configuration of codespaces created for a repository, will be available to everybody who uses the repository.
-### Using the {% data variables.product.prodname_vscode_command_palette %}
+For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)."
-The {% data variables.product.prodname_vscode_command_palette %} allows you to access and manage many features for {% data variables.product.prodname_github_codespaces %} and {% data variables.product.prodname_vscode_shortname %}. For more information, see "[Using the {% data variables.product.prodname_vscode_command_palette_shortname %} in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces)."
+## Further reading
+
+* "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)"
+* "[Using the {% data variables.product.prodname_github_codespaces %} plugin for JetBrains](/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains)"
+* "[Troubleshooting {% data variables.product.prodname_github_codespaces %} clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients)"
+
+{% endjetbrains %}
+
+{% cli %}
+
+The tabs in this article allow you to switch between information for each of these ways of working. You're currently on the tab for {% data variables.product.prodname_cli %}.
+
+## Working in a codespace in a command shell
+
+{% data reusables.cli.cli-learn-more %}
+
+You can use {% data variables.product.prodname_cli %} to create a new codespace, or start an existing codespace, and then SSH to it. Once connected, you can work on the command line using your preferred command-line tools.
+
+After installing {% data variables.product.prodname_cli %} and authenticating with your {% data variables.product.prodname_dotcom %} account you can use the command `gh codespace [...] --help` to browse the help information. Alternatively, you can view the same reference information at [https://cli.github.com/manual/gh_codespace](https://cli.github.com/manual/gh_codespace).
+
+For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with GitHub CLI](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli)."
+
+{% endcli %}
diff --git a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md
index e1530b56ef..260ee1be7e 100644
--- a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md
+++ b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md
@@ -1,7 +1,6 @@
---
title: Forwarding ports in your codespace
intro: '{% data reusables.codespaces.about-port-forwarding %}'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -15,30 +14,19 @@ topics:
shortTitle: Forward ports
---
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
+
## About forwarded ports
Port forwarding gives you access to TCP ports running within your codespace. For example, if you're running a web application on a particular port in your codespace, you can forward that port. This allows you to access the application from the browser on your local machine for testing and debugging.
-When an application running inside a codespace prints output to the terminal that contains a localhost URL, such as `http://localhost:PORT` or `http://127.0.0.1:PORT`, the port is automatically forwarded. If you're using {% data variables.product.prodname_github_codespaces %} in the browser or in {% data variables.product.prodname_vscode %}, the URL string in the terminal is converted into a link that you can click to view the web page on your local machine. By default, {% data variables.product.prodname_github_codespaces %} forwards ports using HTTP.
-
-
-
-{% data reusables.codespaces.forwarded-ports-environment-variable %}
-
-You can also forward a port manually, label forwarded ports, share forwarded ports with members of your organization, share forwarded ports publicly, and add forwarded ports to the codespace configuration.
-
-{% note %}
-
-**Note**: {% data reusables.codespaces.restrict-port-visibility %}
-
-{% endnote %}
-
-## Forwarding a port
-
-You can manually forward a port that wasn't forwarded automatically.
-
{% webui %}
+{% data reusables.codespaces.port-forwarding-intro-non-jetbrains %}
{% data reusables.codespaces.navigate-to-ports-tab %}
1. Under the list of ports, click **Add port**.
@@ -57,10 +45,23 @@ By default, {% data variables.product.prodname_github_codespaces %} forwards por

1. Select the protocol needed for this port. The protocol that you select will be remembered for this port for the lifetime of the codespace.
+{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %}
+
+{% data reusables.codespaces.navigate-to-ports-tab %}
+1. Right click the port that you want to share, select the "Port Visibility" menu, then click **Private to Organization** or **Public**.
+ 
+1. To the right of the local address for the port, click the copy icon.
+ 
+1. Send the copied URL to the person you want to share the port with.
+
+{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %}
+{% data reusables.codespaces.port-forwarding-adding-non-jetbrains %}
+
{% endwebui %}
{% vscode %}
+{% data reusables.codespaces.port-forwarding-intro-non-jetbrains %}
{% data reusables.codespaces.navigate-to-ports-tab %}
1. Under the list of ports, click **Add port**.
@@ -70,6 +71,18 @@ By default, {% data variables.product.prodname_github_codespaces %} forwards por

+{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %}
+
+{% data reusables.codespaces.navigate-to-ports-tab %}
+1. Right click the port that you want to share, select the "Port Visibility" menu, then click **Private to Organization** or **Public**.
+ 
+1. To the right of the local address for the port, click the copy icon.
+ 
+1. Send the copied URL to the person you want to share the port with.
+
+{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %}
+{% data reusables.codespaces.port-forwarding-adding-non-jetbrains %}
+
{% endvscode %}
@@ -87,47 +100,7 @@ For more information about this command, see [the {% data variables.product.prod
To see details of forwarded ports enter `gh codespace ports` and then choose a codespace.
-{% endcli %}
-
-## Sharing a port
-
-{% note %}
-
-**Note:** You can only make a port private to an organization if your organization uses {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}.
-
-{% endnote %}
-
-If you want to share a forwarded port with others, you can either make the port private to your organization or make the port public. After you make a port private to your organization, anyone in the organization with the port's URL can view the running application. After you make a port public, anyone who knows the URL and port number can view the running application without needing to authenticate.
-
-{% note %}
-
-**Note:** Your choice of port visibility options may be limited by a policy configured for your organization. For more information, see "[Restricting the visibility of forwarded ports](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)."
-
-{% endnote %}
-
-{% webui %}
-
-{% data reusables.codespaces.navigate-to-ports-tab %}
-1. Right click the port that you want to share, select the "Port Visibility" menu, then click **Private to Organization** or **Public**.
- 
-1. To the right of the local address for the port, click the copy icon.
- 
-1. Send the copied URL to the person you want to share the port with.
-
-{% endwebui %}
-
-{% vscode %}
-
-{% data reusables.codespaces.navigate-to-ports-tab %}
-1. Right click the port that you want to share, select the "Port Visibility" menu, then click **Private to Organization** or **Public**.
- 
-1. To the right of the local address for the port, click the copy icon.
- 
-1. Send the copied URL to the person you want to share the port with.
-
-{% endvscode %}
-
-{% cli %}
+{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %}
To change the visibility of a forwarded port, use the `gh codespace ports visibility` subcommand. {% data reusables.codespaces.port-visibility-settings %}
@@ -145,24 +118,20 @@ gh codespace ports visibility 80:private 3000:public 3306:org
For more information about this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_ports_visibility).
+{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %}
+
+You can see the port labels when you list the forwarded ports for a codespace. To do this, use the `gh codespace ports` command and then select a codespace.
+
+{% data reusables.codespaces.port-forwarding-adding-non-jetbrains %}
+
{% endcli %}
-## Labeling a port
+{% jetbrains %}
-You can label a port to make the port more easily identifiable in a list.
+## Forwarding a port
-{% data reusables.codespaces.navigate-to-ports-tab %}
-1. Hover over the port you want to label, then click the label icon.
- 
-{% data reusables.codespaces.type-port-label %}
+For information on how to forward a port in a codespace to a port on your local machine, see the "Port forwarding" section of the "[Security model](https://www.jetbrains.com/help/idea/security-model.html#port_forwarding)" article in the JetBrains documentation.
-## Adding a port to the codespace configuration
+Alternatively, you can use {% data variables.product.prodname_cli %} to forward a port. For more information, click the "{% data variables.product.prodname_cli %}" tab at the top of this page.
-You can add a forwarded port to the {% data variables.product.prodname_github_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
-
-You can manually configure forwarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in your codespace.
-
-{% data reusables.codespaces.navigate-to-ports-tab %}
-1. Right click the port you want to add to the codespace configuration, then click **Set Label and Update devcontainer.json**.
- 
-{% data reusables.codespaces.type-port-label %}
+{% endjetbrains %}
diff --git a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md
index 4adc735b73..2e0f9118fb 100644
--- a/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md
+++ b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md
@@ -2,7 +2,6 @@
title: Getting started with GitHub Codespaces for machine learning
shortTitle: Machine learning
intro: 'Learn about working on machine learning projects with {% data variables.product.prodname_github_codespaces %} and its out-of-the-box tools.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -14,13 +13,9 @@ topics:
## Introduction
-This guide introduces you to machine learning with {% data variables.product.prodname_github_codespaces %}. You’ll build a simple image classifier, learn about some of the tools that come preinstalled in {% data variables.product.prodname_github_codespaces %}, configure your development environment for NVIDIA CUDA, and use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab.
+This guide introduces you to machine learning with {% data variables.product.prodname_github_codespaces %}. You’ll build a simple image classifier, learn about some of the tools that come preinstalled in {% data variables.product.prodname_github_codespaces %}, configure your development environment for NVIDIA CUDA, and open your codespace in JupyterLab.
-## Prerequisite
-
-You have access to {% data variables.product.prodname_github_codespaces %}. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)."
-
-## Build a simple image classifier
+## Building a simple image classifier
We'll use a Jupyter notebook to build a simple image classifier.
@@ -28,21 +23,21 @@ Jupyter notebooks are sets of cells that you can execute one after another. The
We'll run all of the cells, in sequence, to perform all phases of building the image classifier. When we do this Jupyter saves the output back into the notebook so that you can examine the results.
-### Creating a repository and a codespace
+### Creating a codespace
-1. Go to the [github/codespaces-getting-started-ml](https://github.com/github/codespaces-getting-started-ml) template repository and click **Use this template**.
-{% data reusables.codespaces.open-codespace-from-template-repo %}
+1. Go to the [github/codespaces-jupyter](https://github.com/github/codespaces-jupyter) template repository.
+{% data reusables.codespaces.open-template-in-codespace-step %}
- By default, a codespace for this repository opens in a web-based version of {% data variables.product.prodname_vscode %}.
+A codespace for this template will open in a web-based version of {% data variables.product.prodname_vscode %}.
-### Open the image classifier notebook
+### Opening the image classifier notebook
-The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, TensorFlow, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal).
+The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes a set of machine learning libraries that are preinstalled in your codespace. For example, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests, and Plotly. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal).
1. In the {% data variables.product.prodname_vscode_shortname %} editor, close any "Get Started" tabs that are displayed.
-1. Open the `image-classifier.ipynb` notebook file.
+1. Open the `notebooks/image-classifier.ipynb` notebook file.
-### Build the image classifier
+### Building the image classifier
The image classifier notebook contains all the code you need to download a dataset, train a neural network, and evaluate its performance.
@@ -54,9 +49,9 @@ The image classifier notebook contains all the code you need to download a datas

-## Configure NVIDIA CUDA for your codespace
+## Configuring NVIDIA CUDA for your codespace
-Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)."
+Some software requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)."
{% note %}
@@ -64,7 +59,7 @@ Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use yo
{% endnote %}
-1. Within a codespace, open the `.devcontainer/devcontainer.json` file in the editor.
+1. Within the codespace, open the `.devcontainer/devcontainer.json` file in the editor.
1. Add a top-level `features` object with the following contents:
```json{:copy}
@@ -79,7 +74,7 @@ Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use yo
If you are using the `devcontainer.json` file from the image classifier repository you created for this tutorial, your `devcontainer.json` file will now look like this:
- ```
+ ```json
{
"customizations": {
"vscode": {
@@ -100,14 +95,10 @@ Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use yo
1. Save the change.
{% data reusables.codespaces.rebuild-command %}
The codespace container will be rebuilt. This will take several minutes. When the rebuild is complete the codespace is automatically reopened.
-1. Commit the change to the repository so that CUDA will be installed in any new codespaces you create from this repository in future.
+1. Publish your change to a repository so that CUDA will be installed in any new codespaces you create from this repository in future. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-from-vs-code)."
-## Open your codespace in JupyterLab
+## Opening your codespace in JupyterLab
-The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes JupyterLab, the web-based Jupyter IDE. You can use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab without having to install anything else on your codespace.
-
-1. In the terminal, enter the {% data variables.product.prodname_cli %} command `gh cs jupyter`.
-1. Choose the codespace you want to open.
-
- 
+You can open your codespace in JupyterLab from the "Your codespaces" page at [github.com/codespaces](https://github.com/codespaces), or by using {% data variables.product.prodname_cli %}. For more information, see "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)."
+{% data reusables.codespaces.jupyterlab-installed-in-codespace %}
\ No newline at end of file
diff --git a/content/codespaces/developing-in-codespaces/index.md b/content/codespaces/developing-in-codespaces/index.md
index 8fa2bf2ff4..5fbcfac9a0 100644
--- a/content/codespaces/developing-in-codespaces/index.md
+++ b/content/codespaces/developing-in-codespaces/index.md
@@ -1,16 +1,16 @@
---
title: Developing in a codespace
intro: 'Create a codespace to get started with developing your project inside a dedicated cloud environment. You can use forwarded ports to run your application and even use codespaces inside {% data variables.product.prodname_vscode %}'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
topics:
- Codespaces
children:
- - /codespaces-lifecycle
+ - /the-codespace-lifecycle
- /developing-in-a-codespace
- - /creating-a-codespace
+ - /creating-a-codespace-for-a-repository
+ - /creating-a-codespace-from-a-template
- /deleting-a-codespace
- /opening-an-existing-codespace
- /using-source-control-in-your-codespace
@@ -21,6 +21,7 @@ children:
- /connecting-to-a-private-network
- /getting-started-with-github-codespaces-for-machine-learning
- /using-github-codespaces-in-visual-studio-code
+ - /using-github-codespaces-in-your-jetbrains-ide
- /using-github-codespaces-with-github-cli
---
diff --git a/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md b/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md
index 3fb6409c86..cc463fbc81 100644
--- a/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md
+++ b/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md
@@ -1,7 +1,6 @@
---
title: Opening an existing codespace
-intro: You can reopen a codespace that you have closed or stopped and return to your work.
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can reopen a codespace that you have closed or stopped and return to your work.'
versions:
fpt: '*'
ghec: '*'
@@ -13,7 +12,19 @@ topics:
shortTitle: Open an existing codespace
---
-You can reopen any of your active or stopped codespaces on {% data variables.product.prodname_dotcom_the_website %}, in {% data variables.product.prodname_vscode %}, or by using {% data variables.product.prodname_cli %}. You can't reopen a codespace that has been deleted. For more information, see "[{% data variables.product.prodname_codespaces %} lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)."
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
+
+You can reopen any of your active or stopped codespaces on {% data variables.product.prodname_dotcom_the_website %}, in a JetBrains IDE, in {% data variables.product.prodname_vscode %}, or by using {% data variables.product.prodname_cli %}. You can't reopen a codespace that has been deleted. For more information, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)."
+
+You can view all your codespaces on the "Your codespaces" page at [github.com/codespaces](https://github.com/codespaces). From this page, you can:
+
+- Open, stop, or delete your codespaces.
+- See who owns (and may be billed for) your codespaces: your personal account, or organizations you belong to. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+- Create a new codespace, either by choosing one of {% data variables.product.company_short %}'s templates or by clicking **New codespace**. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)" and "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
## Opening an existing codespace
@@ -22,9 +33,23 @@ You can reopen any of your active or stopped codespaces on {% data variables.pro
{% data reusables.codespaces.your-codespaces-procedure-step %}
1. To open a codespace in your default editor, click the name of the codespace. {% data reusables.codespaces.about-changing-default-editor %} For more information, see "[Setting your default editor for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)."
- To open the codespace in an editor other than your default, select the ellipsis (**...**) to the right of the codespace and click **Open in APPLICATION**.
+ To open the codespace in an editor other than your default:
+
+ 1. Click the ellipsis (**...**) to the right of the codespace you want to open.
+ 1. Click **Open in**.
+ 1. Click **Open in APPLICATION**.
- 
+ 
+
+ You can open the codespace in:
+ * Your browser
+ * {% data variables.product.prodname_vscode %}
+ * JetBrains Gateway
+ * JupyterLab
+
+ {% data reusables.codespaces.application-installed-locally %}
+
+ If you choose **JupyterLab**, the JupyterLab application must be installed in the codespace. {% data reusables.codespaces.jupyterlab-in-default-image %}
{% endwebui %}
@@ -59,16 +84,40 @@ You can also access the commands listed above by navigating to the Remote Explor
```shell{:copy}
gh codespace code
```
+
+ {% note %}
+ **Note**: You must have {% data variables.product.prodname_vscode_shortname %} installed on your local machine. For more information, see "[Setting up Visual Studio Code](https://code.visualstudio.com/docs/setup/setup-overview)" in the {% data variables.product.prodname_vscode_shortname %} documentation.
+
+ {% endnote %}
+
- To open a codespace in the browser, enter:
```shell{:copy}
gh codespace code --web
```
+ - To open a codespace in JupyterLab, enter:
+
+ ```shell{:copy}
+ gh codespace code --jupyter
+ ```
+
+ {% note %}
+
+ **Note**: {% data reusables.codespaces.jupyterlab-installed-in-codespace %}
+
+ {% endnote %}
+
1. Using the arrow keys, navigate to the codespace that you want to open.
1. To open the codespace, press Enter.
For more information, see [`gh codespace code`](https://cli.github.com/manual/gh_codespace_code) in the {% data variables.product.prodname_cli %} manual.
{% endcli %}
+
+{% jetbrains %}
+
+{% data reusables.codespaces.opening-codespace-in-jetbrains %}
+
+{% endjetbrains %}
\ No newline at end of file
diff --git a/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md b/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md
index e277574bc9..879021588c 100644
--- a/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md
+++ b/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md
@@ -1,7 +1,6 @@
---
title: Stopping and starting a codespace
-intro: You can stop and start your codespace to save resources and to pause work.
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can stop and start your codespace to save resources and to pause work.'
versions:
fpt: '*'
ghec: '*'
@@ -13,6 +12,12 @@ topics:
shortTitle: Stop a codespace
---
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
+
## About stopping and starting a codespace
{% data reusables.codespaces.stopping-a-codespace %}
@@ -21,19 +26,18 @@ Regardless of where you created or access your codespaces, you can view and mana
## Stopping a codespace
- {% webui %}
+{% webui %}
{% data reusables.codespaces.navigate-to-codespaces-page %}
1. To the right of the codespace you want to stop, click the elipsis (**...**).
1. Click **Stop codespace**.

- {% endwebui %}
+{% endwebui %}
+{% cli %}
- {% cli %}
-
- {% data reusables.cli.cli-learn-more %}
+{% data reusables.cli.cli-learn-more %}
To stop a codespace use the `gh codespace stop` subcommand and then choose the codespace you want to stop from the list that's displayed.
@@ -41,29 +45,36 @@ Regardless of where you created or access your codespaces, you can view and mana
gh codespace stop
```
- {% endcli %}
+{% endcli %}
-
- {% vscode %}
+{% vscode %}
{% data reusables.vs-code.open-command-palette %}
1. Type `stop` and select **Codespaces: Stop Codespace** from the list of options.
1. In the list of codespaces, select the codespace you want to stop.
- {% endvscode %}
+{% endvscode %}
+{% jetbrains %}
+
+{% data reusables.codespaces.jetbrains-open-codespace-plugin %}
+1. In the {% data variables.product.prodname_github_codespaces %} tool window, click the stop icon.
+
+ 
+
+{% endjetbrains %}
## Restarting a codespace
- {% webui %}
+{% webui %}
{% data reusables.codespaces.navigate-to-codespaces-page %}
1. Click the name of the codespace you want to restart.

- {% endwebui %}
+{% endwebui %}
- {% cli %}
+{% cli %}
When you restart a codespace you can choose to open it in {% data variables.product.prodname_vscode %} or in your browser.
@@ -79,16 +90,22 @@ When you restart a codespace you can choose to open it in {% data variables.prod
gh codespace open --web
```
- {% endcli %}
+{% endcli %}
-
- {% vscode %}
+{% vscode %}
{% data reusables.vs-code.open-command-palette %}
1. Type `connect` and select **Codespaces: Connect to Codespace** from the list of options.
1. In the list of codespaces, select the codespace you want to restart.
- {% endvscode %}
+{% endvscode %}
- ## Further reading
-- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)"
+{% jetbrains %}
+
+{% data reusables.codespaces.opening-codespace-in-jetbrains %}
+
+{% endjetbrains %}
+
+## Further reading
+
+- "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)"
diff --git a/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md b/content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md
similarity index 82%
rename from content/codespaces/developing-in-codespaces/codespaces-lifecycle.md
rename to content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md
index 16b6cd571d..ca0a6efa63 100644
--- a/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md
+++ b/content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md
@@ -1,5 +1,5 @@
---
-title: Codespaces lifecycle
+title: The codespace lifecycle
intro: 'You can develop in a {% data variables.product.prodname_github_codespaces %} environment and maintain your data throughout the entire codespace lifecycle.'
versions:
fpt: '*'
@@ -8,7 +8,8 @@ type: overview
topics:
- Codespaces
- Developer
-product: '{% data reusables.gated-features.codespaces %}'
+redirect_from:
+ - /codespaces/developing-in-codespaces/codespaces-lifecycle
---
## About the lifecycle of a codespace
@@ -17,7 +18,7 @@ The lifecycle of a codespace begins when you create a codespace and ends when yo
## Creating a codespace
-When you want to work on a project, you can choose to create a new codespace or open an existing codespace. You might want to create a new codespace from a branch of your project each time you develop in {% data variables.product.prodname_github_codespaces %} or keep a long-running codespace for a feature. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
+When you want to work on a project, you can choose to create a new codespace or open an existing codespace. You might want to create a new codespace from a branch of your repository each time you develop in {% data variables.product.prodname_github_codespaces %} or keep a long-running codespace for a feature. {% data reusables.codespaces.starting-new-project-template %} For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)" and "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
{% data reusables.codespaces.max-number-codespaces %} Similarly, if you reach the maximum number of active codespaces and you try to start another, you are prompted to stop one of your active codespaces.
@@ -29,11 +30,9 @@ If you choose to create a new codespace each time you work on a project, you sho
When you connect to a codespace through the web, auto-save is enabled automatically for the web editor and configured to save changes after a delay. When you connect to a codespace through {% data variables.product.prodname_vscode %} running on your desktop, you must enable auto-save. For more information, see [Save/Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) in the {% data variables.product.prodname_vscode %} documentation.
-If you want to save your changes in the git repository on the codespace's file system, commit them and push them to a remote branch.
+Your work will be saved on a virtual machine in the cloud. You can close and stop a codespace and return to the saved work later. If you have unsaved changes, your editor will prompt you to save them before exiting. However, if your codespace is deleted, then your work will be deleted too. To persist your work, you will need to commit your changes and push them to your remote repository, or publish your work to a new remote repository if you created your codespace from a template. For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)."
-If you have unsaved changes, your editor will prompt you to save them before exiting.
-
-## Codespaces timeouts
+## Timeouts for {% data variables.product.prodname_github_codespaces %}
If you leave your codespace running without interaction, or if you exit your codespace without explicitly stopping it, the codespace will timeout after a period of inactivity and stop running. By default, a codespace will timeout after 30 minutes of inactivity, but you can customize the duration of the timeout period for new codespaces that you create. For more information about setting the default timeout period for your codespaces, see "[Setting your timeout period for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." For more information about stopping a codespace, see "[Stopping a codespace](#stopping-a-codespace)."
@@ -41,7 +40,7 @@ When a codespace times out, your data is preserved from the last time your chang
## Rebuilding a codespace
-You can rebuild your codespace to restore a clean state as if you had created a new codespace. For most uses, you can create a new codespace as an alternative to rebuilding a codespace. You are most likely to rebuild a codespace to implement changes to your dev container. When you rebuild a codespace, any Docker containers, images, volumes, and caches are cleaned, then the codespace is rebuilt.
+You can rebuild your codespace to restore a clean state as if you had created a new codespace. For most uses, you can create a new codespace as an alternative to rebuilding a codespace. You are most likely to rebuild a codespace to implement changes to your dev container configuration. When you rebuild a codespace, any Docker containers, images, volumes, and caches are cleaned, then the codespace is rebuilt.
If you need any of this data to persist over a rebuild, you can create, at the desired location in the container, a symbolic link (symlink) to the persistent directory. For example, in your `.devcontainer` directory, you can create a `config` directory that will be preserved across a rebuild. You can then symlink the `config` directory and its contents as a `postCreateCommand` in your `devcontainer.json` file.
@@ -77,7 +76,7 @@ If you create a codespace, it will continue to accrue storage charges until it i
For more information on deleting a codespace, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)."
-## Losing the connection while using Codespaces
+## Losing the connection while using {% data variables.product.prodname_github_codespaces %}
{% data variables.product.prodname_github_codespaces %} is a cloud-based development environment and requires an internet connection. If you lose connection to the internet while working in a codespace, you will not be able to access your codespace. However, any uncommitted changes will be saved. When you have access to an internet connection again, you can connect to your codespace in the exact same state that it was left in. If you have an unstable internet connection, you should commit and push your changes often.
diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md
index fcdd381b5c..ef83a33004 100644
--- a/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md
+++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md
@@ -1,8 +1,7 @@
---
title: Using GitHub Codespaces for pull requests
shortTitle: Pull requests
-intro: 'You can use {% data variables.product.prodname_github_codespaces %} in your development workflow to create pull requests, review pull requests, and address review comments.'
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can use {% data variables.product.prodname_github_codespaces %} in your web browser, or in {% data variables.product.prodname_vscode %} to create pull requests, review pull requests, and address review comments.'
versions:
fpt: '*'
ghec: '*'
@@ -27,19 +26,33 @@ redirect_from:
{% data reusables.repositories.sidebar-pr %}
-1. In the list of pull requests, click the pull request you'd like to open in {% data variables.product.prodname_github_codespaces %}.
+1. In the list of pull requests, click the pull request you'd like to open in {% data variables.product.prodname_codespaces %}.
1. On the right-hand side of your screen, click **{% octicon "code" aria-label="The code icon" %} Code**.
-1. In the {% data variables.product.prodname_codespaces %} tab, click **Create codespace on BRANCH**.
- 
+1. In the {% data variables.product.prodname_codespaces %} tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %})
+
+ 
+
+ A codespace is created for the pull request branch and is opened in your default editor for {% data variables.product.prodname_github_codespaces %}.
## Reviewing a pull request in {% data variables.product.prodname_codespaces %}
-{% data reusables.codespaces.review-pr %}
+1. With your default editor set to either {% data variables.product.prodname_vscode %} or {% data variables.product.prodname_vscode %} for Web, open the pull request in a codespace, as described in "[Opening a pull request](/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests#opening-a-pull-request-in-codespaces)" above.
+2. In the Activity Bar, click the **GitHub Pull Request** view. This view only appears when you open a pull request in a codespace.
+ 
+3. To review a specific file, click the **Open File** icon in the sidebar.
+ 
+4. To add review comments, click the **+** icon next to the line number. Type your review comment and then click **Start Review**.
+ 
+5. When you are finished adding review comments, from the sidebar you can choose to either submit the comments, approve the changes, or request changes.
+ 
For more information on reviewing a pull request, see "[Reviewing proposed changes in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)."
## View comments from a review in {% data variables.product.prodname_codespaces %}
-Once you have received feedback on a pull request, you can [open it in a codespace](#opening-a-pull-request-in-codespaces) to see the [review comments](#reviewing-a-pull-request-in-codespaces). From there you can respond to comments, add reactions, or dismiss the review.
+Once you have received feedback on a pull request, you can [open it in a codespace](#opening-a-pull-request-in-codespaces) in your web browser, or in {% data variables.product.prodname_vscode_shortname %}, to see the [review comments](#reviewing-a-pull-request-in-codespaces). From there you can respond to comments, add reactions, or dismiss the review.

+
+
+
diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md
index 1f866ccdd6..74635bca2b 100644
--- a/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md
+++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md
@@ -1,7 +1,7 @@
---
title: Using GitHub Codespaces in Visual Studio Code
+shortTitle: Visual Studio Code
intro: 'You can develop in your codespace directly in {% data variables.product.prodname_vscode %} by connecting the {% data variables.product.prodname_github_codespaces %} extension with your account on {% data variables.product.product_name %}.'
-product: '{% data reusables.gated-features.codespaces %}'
redirect_from:
- /github/developing-online-with-codespaces/using-codespaces-in-visual-studio-code
- /github/developing-online-with-codespaces/connecting-to-your-codespace-from-visual-studio-code
@@ -15,9 +15,7 @@ topics:
- Codespaces
- Visual Studio Code
- Developer
-shortTitle: Visual Studio Code
---
-
## About {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode %}
@@ -37,9 +35,9 @@ Use the {% data variables.product.prodname_vscode_marketplace %} to install the
{% mac %}
{% data reusables.codespaces.click-remote-explorer-icon-vscode %}
-1. Click **Sign in to view {% data variables.product.prodname_dotcom %}...**.
+1. Click **Sign in to {% data variables.product.prodname_dotcom %}...**.
- 
+ 
2. To authorize {% data variables.product.prodname_vscode_shortname %} to access your account on {% data variables.product.product_name %}, click **Allow**.
3. Sign in to {% data variables.product.product_name %} to approve the extension.
@@ -53,7 +51,7 @@ Use the {% data variables.product.prodname_vscode_marketplace %} to install the

-1. Click **Sign in to view {% data variables.product.prodname_codespaces %}...**.
+1. Click **Sign in to view {% data variables.product.prodname_codespaces %}**.

@@ -100,4 +98,10 @@ You can use the [Insiders Build of {% data variables.product.prodname_vscode_sho
2. From the list, select "Switch to Insiders Version".

+
3. Once selected, {% data variables.product.prodname_github_codespaces %} will continue to open in Insiders Version.
+
+## Further reading
+
+- "[Using the {% data variables.product.prodname_vscode_command_palette %} in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces)"
+- "[Using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces)"
\ No newline at end of file
diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md
new file mode 100644
index 0000000000..94f786d237
--- /dev/null
+++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md
@@ -0,0 +1,133 @@
+---
+title: Using GitHub Codespaces in your JetBrains IDE
+shortTitle: JetBrains IDEs
+intro: 'You can use the JetBrains Gateway to connect to your codespace and work in your favorite JetBrains IDE.'
+miniTocMaxHeadingLevel: 3
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+topics:
+ - Codespaces
+ - Developer
+---
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+## About {% data variables.product.prodname_codespaces %} in JetBrains IDEs
+
+If you use a JetBrains IDE to work on your code, you can take advantage of working in a codespace. You do this by using the JetBrains Gateway application.
+
+After installing the JetBrains Gateway, you can set JetBrains as your default editor and then whenever you open a codespace from {% data variables.product.prodname_dotcom_the_website %} the JetBrains Gateway will launch to allow you to choose your JetBrains IDE and connect to the codespace.
+
+{% note %}
+
+**Note**: Only existing codespaces are available in the JetBrains Gateway. You can create codespaces in {% data variables.product.prodname_dotcom_the_website %}, or by using {% data variables.product.prodname_cli %}. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
+
+{% endnote %}
+
+### The JetBrains remote development connection process
+
+The basic process behind using a codespace in your JetBrains IDE is as follows.
+
+* In the JetBrains Gateway application you select one of your active or stopped codespaces.
+* You then choose which JetBrains IDE you want to use.
+* The selected JetBrains IDE is then downloaded to the remote virtual machine that hosts your codespace and source code.
+* The JetBrains thin client application is then downloaded to your local machine and started.
+* The client application connects to the full backend IDE.
+* You can work on your code in the client application in just the same way you would in a local environment.
+
+## Prerequisites
+
+To work in a codespace in a JetBrains IDE you need:
+
+* A valid JetBrains license
+* The JetBrains Gateway application
+* {% data variables.product.prodname_cli %} version 2.18.0 or later
+* An existing codespace that's running an SSH server
+
+### JetBrains license
+
+You must have a license to at least one of the supported JetBrains IDEs to connect to a codespace from the JetBrains Gateway.
+
+### JetBrains Gateway
+
+You can install and update the JetBrains Gateway from the JetBrains Toolbox application.
+
+1. Download and install the [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app).
+1. Open the JetBrains Toolbox.
+1. Find **Gateway** in the list of available tools and click **Install**.
+
+ 
+
+### {% data variables.product.prodname_cli %}
+
+The {% data variables.product.prodname_github_codespaces %} plugin for the JetBrains Gateway requires that you have installed and configured {% data variables.product.prodname_cli %} version 2.18.0 or later before opening a codespace from the JetBrains Gateway.
+
+Use this command to check your version of {% data variables.product.prodname_cli %}:
+
+```shell{:copy}
+gh --version
+```
+
+For more information, see "[About GitHub CLI](/github-cli/github-cli/about-github-cli)."
+
+### Codespace running an SSH server
+
+You must have an existing codespace to connect to. {% data reusables.codespaces.ways-to-create-a-codespace %} For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
+
+{% data reusables.codespaces.ssh-server-installed %}
+
+For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+
+{% note %}
+
+**Note**: For help with connecting to your codespace over SSH, see "[Troubleshooting {% data variables.product.prodname_github_codespaces %} clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients?tool=jetbrains#ssh-connection-issues)."
+
+{% endnote %}
+
+## Setting up the JetBrains Gateway
+
+The first time you use JetBrains Gateway for {% data variables.product.prodname_github_codespaces %}, you must install the {% data variables.product.prodname_codespaces %} plugin. You must also allow the JetBrains Gateway to access {% data variables.product.prodname_dotcom_the_website %} using your {% data variables.product.prodname_dotcom %} account.
+
+1. Open the JetBrains Gateway application.
+1. Under **Install More Providers** click the **Install** link for {% data variables.product.prodname_github_codespaces %}.
+
+ 
+
+1. Click **Connect to Codespace**.
+
+ 
+
+1. In the "Welcome to JetBrains Gateway" dialog box, click **Sign In with {% data variables.product.prodname_dotcom %}**.
+
+ 
+
+1. Click the icon beside the one-time code to copy it, then click the login link.
+
+ 
+
+1. If you are not currently signed in to {% data variables.product.prodname_dotcom %}, the sign-in page is displayed.
+ * Enter your details and click **Sign in**.
+ * Verify your authentication, for example by entering a two-factor authentication code.
+1. On the "Device activation" page, paste the copied code and click **Continue**.
+1. If you belong to organizations, the "Single sign-on to your organizations" page is displayed. Click **Authorize** beside the organizations you want to authorize the JetBrains Gateway to access, then click **Continue**.
+1. On the "Authorize {% data variables.product.prodname_github_codespaces %} for JetBrains" page, click **Authorize {% data variables.product.prodname_dotcom %}**.
+1. Return to the JetBrains Gateway application and open a codespace from the list of your currently active or stopped codespaces, see step 3 of the following procedure.
+
+## Opening a codespace in your JetBrains IDE
+
+{% data reusables.codespaces.opening-codespace-in-jetbrains %}
+
+ The first time you connect to a codespace, the backend IDE will be downloaded to the remote machine. This may take a few minutes. The next time you connect to the same codespace this step won't be necessary, making the connection process quicker.
+
+ The backend IDE is then started. Again, this step will not be required in future if you are reconnecting to a backend IDE that you have left running.
+
+ The client application is then launched.
+
+## Further reading
+
+- "[Developing in a codespace](/codespaces/developing-in-codespaces/developing-in-a-codespace)"
+- "[Using the {% data variables.product.prodname_github_codespaces %} plugin for JetBrains](/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains)"
+- "[Using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces)"
+- "[Troubleshooting {% data variables.product.prodname_github_codespaces %} clients](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients?tool=jetbrains)"
diff --git a/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md b/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md
index bd2907401d..85469065f5 100644
--- a/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md
+++ b/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md
@@ -2,7 +2,6 @@
title: Using GitHub Codespaces with GitHub CLI
shortTitle: GitHub CLI
intro: 'You can work with {% data variables.product.prodname_github_codespaces %} directly from your command line by using `gh`, the {% data variables.product.product_name %} command line interface.'
-product: '{% data reusables.gated-features.codespaces %}'
miniTocMaxHeadingLevel: 3
versions:
fpt: '*'
@@ -84,7 +83,7 @@ An asterisk at the end of the branch name for a codespace indicates that there a
gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
```
-For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
+For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
### Stop a codespace
@@ -118,6 +117,14 @@ To run commands on the remote codespace machine, from your terminal, you can SSH
gh codespace ssh -c CODESPACE-NAME
```
+{% note %}
+
+**Note**: {% data reusables.codespaces.ssh-server-installed %}
+
+
For more information about the `devcontainer.json` file and the default container image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+
+{% endnote %}
+
{% data variables.product.prodname_github_codespaces %} copies your GitHub SSH keys into the codespace on creation for a seamless authentication experience. You may be asked to enter the passphrase for your SSH key, after which you will get a command prompt from the remote codespace machine.
If you don't have any SSH keys, follow the instructions in "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)."
@@ -128,7 +135,7 @@ If you don't have any SSH keys, follow the instructions in "[Generating a new SS
gh codespace code -c CODESPACE-NAME
```
-For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code)."
+You must have {% data variables.product.prodname_vscode_shortname %} installed on your local machine. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)."
### Open a codespace in JupyterLab
@@ -136,6 +143,8 @@ For more information, see "[Using {% data variables.product.prodname_github_code
gh codespace jupyter -c CODESPACE-NAME
```
+{% data reusables.codespaces.jupyterlab-installed-in-codespace %}
+
### Copy a file to/from a codespace
```shell
diff --git a/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md b/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md
index 45835585df..4765a8908e 100644
--- a/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md
+++ b/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md
@@ -1,7 +1,6 @@
---
title: Using source control in your codespace
intro: After making changes to a file in your codespace you can quickly commit the changes and push your update to the remote repository.
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -13,70 +12,111 @@ topics:
shortTitle: Source control
---
-
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
## About source control in {% data variables.product.prodname_github_codespaces %}
-You can perform all the Git actions you need directly within your codespace. For example, you can fetch changes from the remote repository, switch branches, create a new branch, commit and push changes, and create a pull request. You can use the integrated terminal within your codespace to enter Git commands, or you can click icons and menu options to complete all the most common Git tasks. This guide explains how to use the graphical user interface for source control.
+You can perform all the Git actions you need directly within your codespace. For example, you can fetch changes from a remote repository, switch branches, create a new branch, commit and push changes, and create a pull request. You can use the integrated terminal within your codespace to enter Git commands, or you can click icons and menu options to complete all the most common Git tasks. This guide explains how to use the graphical user interface for source control.
-Source control in {% data variables.product.prodname_github_codespaces %} uses the same workflow as {% data variables.product.prodname_vscode %}. For more information, see the {% data variables.product.prodname_vscode_shortname %} documentation "[Using Version Control in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support)."
+{% vscode %}
+
+For more information about Git support in {% data variables.product.prodname_vscode %}, see "[Using Version Control in VS Code](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support)" in the {% data variables.product.prodname_vscode %} documentation.
+
+{% endvscode %}
+
+{% webui %}
+
+Source control in the {% data variables.product.prodname_vscode %} web client uses the same workflow as the {% data variables.product.prodname_vscode %} desktop application. For more information, see "[Using Version Control in VS Code](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support)" in the {% data variables.product.prodname_vscode %} documentation.
+
+{% endwebui %}
A typical workflow for updating a file using {% data variables.product.prodname_github_codespaces %} would be:
-* From the default branch of your repository on {% data variables.product.prodname_dotcom %}, create a codespace. See "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
+* From the default branch of your repository on {% data variables.product.prodname_dotcom %}, create a codespace. See "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
* In your codespace, create a new branch to work on.
* Make your changes and save them.
* Commit the change.
* Raise a pull request.
+{% webui %}
+
+{% data reusables.codespaces.source-control %}
+
+{% endwebui %}
+
+{% vscode %}
+
+{% data reusables.codespaces.source-control %}
+
+{% endvscode %}
+
+{% jetbrains %}
+
## Creating or switching branches
-{% data reusables.codespaces.create-or-switch-branch %}
+1. Click the branch name at the right side of the status bar.
-{% tip %}
+ 
-**Tip**: If someone has changed a file on the remote repository, in the branch you switched to, you will not see those changes until you pull the changes into your codespace.
+1. In the pop-up menu, do one of the following:
+ * To create a new branch based on the current branch, click the name of the current branch, then choose **New Branch**.
-{% endtip %}
+ 
-## Pulling changes from the remote repository
+ Enter a name for the new branch and click **Create**.
-You can pull changes from the remote repository into your codespace at any time.
+ 
-{% data reusables.codespaces.source-control-display-dark %}
-1. At the top of the side bar, click the ellipsis (**...**).
-
-1. In the drop-down menu, click **Pull**.
+ * To check out an existing branch, start typing the name of the branch you want to check out. Click the branch from the list, then click **Checkout**.
-If the dev container configuration has been changed since you created the codespace, you can apply the changes by rebuilding the container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-configuration-changes-to-a-codespace)."
+ 
-## Setting your codespace to automatically fetch new changes
+ {% tip %}
-You can set your codespace to automatically fetch details of any new commits that have been made to the remote repository. This allows you to see whether your local copy of the repository is out of date, in which case you may choose to pull in the new changes.
+ **Tip**: If someone has recently changed a file on the remote repository, in the branch you switched to, you may not see those changes until you pull the changes into your codespace.
-If the fetch operation detects new changes on the remote repository, you'll see the number of new commits in the status bar. You can then pull the changes into your local copy.
+ {% endtip %}
-1. Click the **Manage** button at the bottom of the Activity Bar.
-
-1. In the menu, slick **Settings**.
-1. On the Settings page, search for: `autofetch`.
-
-1. To fetch details of updates for all remotes registered for the current repository, set **Git: Autofetch** to `all`.
-
-1. If you want to change the number of seconds between each automatic fetch, edit the value of **Git: Autofetch Period**.
## Committing your changes
-{% data reusables.codespaces.source-control-commit-changes %}
+1. At the right side of the navigation bar, click the check mark.
-## Raising a pull request
+ 
-{% data reusables.codespaces.source-control-pull-request %}
+1. In the Commit Changes dialog box, enter a commit message.
+1. Click **Commit**.
+
+ Alternatively, click the down arrow beside **Commit** and click **Commit and Push**.
+
+ 
+
+## Pulling changes from the remote repository
+
+You can pull changes from the same branch on the remote repository and apply those changes to the copy of the repository you are working on in your codespace.
+
+1. At the right side of the navigation bar, click the downward pointing arrow.
+
+ 
+
+1. In the Update Project dialog box, choose whether you want to merge or rebase the incoming changes.
+
+ 
+
+1. Click **OK**.
## Pushing changes to your remote repository
-You can push the changes you've made. This applies those changes to the upstream branch on the remote repository. You might want to do this if you're not yet ready to create a pull request, or if you prefer to create a pull request on {% data variables.product.prodname_dotcom %}.
+You can push changes you've saved and committed. This applies those changes to the upstream branch on the remote repository. You might want to do this if you're not yet ready to create a pull request, or if you prefer to create a pull request on {% data variables.product.prodname_dotcom %}.
-1. At the top of the side bar, click the ellipsis (**...**).
-
-1. In the drop-down menu, click **Push**.
+1. At the right side of the navigation bar, click the upward pointing arrow.
+
+ 
+
+1. In the Push Commits dialog box, click **Push**.
+
+{% endjetbrains %}
diff --git a/content/codespaces/getting-started/deep-dive.md b/content/codespaces/getting-started/deep-dive.md
index 4c12712121..48c9c1004b 100644
--- a/content/codespaces/getting-started/deep-dive.md
+++ b/content/codespaces/getting-started/deep-dive.md
@@ -3,7 +3,6 @@ title: 'Deep dive into {% data variables.product.prodname_github_codespaces %}'
shortTitle: 'Deep dive into {% data variables.product.prodname_codespaces %}'
intro: 'Understand how {% data variables.product.prodname_github_codespaces %} works.'
allowTitleToDifferFromFilename: true
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -18,24 +17,34 @@ topics:
There are a number of entry points to create a codespace.
-- From your repository for new feature work.
-- From an open pull request to explore work-in-progress.
-- From a commit in the repository's history to investigate a bug at a specific point in time.
-- From {% data variables.product.prodname_vscode %}.
+- From a {% data variables.product.company_short %} template or any template repository on {% data variables.product.prodname_dotcom_the_website %} to start a new project
+- From a branch in your repository for new feature work
+- From an open pull request to explore work-in-progress
+- From a commit in a repository's history to investigate a bug at a specific point in time
+
+{% data reusables.codespaces.ways-to-create-a-codespace %}
-Your codespace can be ephemeral if you need to test something or you can return to the same codespace to work on long-running feature work. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
+Your codespace can be ephemeral if you need to test something or you can return to the same codespace to work on long-running feature work.
-Once you've selected the option to create a new codespace, and optionally selected from the various configuration options for your codespace, some steps happen in the background before the codespace is available to you.
+For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)," "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)," and "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)."
-
+{% note %}
+
+**Note**: You can create more than one codespace per repository or even per branch. However, there are limits to the number of codespaces you can create, and the number of codespaces you can run at the same time. If you reach the maximum number of codespaces and try to create another, a message is displayed telling you that you must remove an existing codespace before you can create a new one.
+
+{% endnote %}
+
+### The codespace creation process
+
+When you create a codespace, various steps happen in the background before the codespace is available to you.
### Step 1: VM and storage are assigned to your codespace
-When you create a codespace, a [shallow clone](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) of your repository is made on a Linux virtual machine that is both dedicated and private to you. Having a dedicated VM ensures that you have the entire set of compute resources from that machine available to you. If necessary, this also allows you to have full root access to your container.
+When you create a codespace, a [shallow clone](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) is made of your repository, or of the template repository if you're creating a codespace from a template. The repository is cloned to a Linux virtual machine that is both dedicated and private to you. Having a dedicated VM ensures that you have the entire set of compute resources from that machine available to you. If necessary, this also allows you to have full root access to your container.
### Step 2: Container is created
-{% data variables.product.prodname_github_codespaces %} uses a container as the development environment. This container is created based on the configurations that you can define in a `devcontainer.json` file and/or Dockerfile in your repository. If you don't specify a custom Docker image in your configuration, {% data variables.product.prodname_codespaces %} uses a default image, which has many languages and runtimes available. For information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)." For details of what the default image contains, see the [`vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux) repository.
+{% data variables.product.prodname_github_codespaces %} uses a container as the development environment. This container is created based on configurations that you can define in a `devcontainer.json` file and, optionally, a Dockerfile. If you create a codespace from {% data variables.product.company_short %}'s blank template, or from a repository with no `devcontainer.json` file, {% data variables.product.prodname_github_codespaces %} uses a default image, which has many languages and runtimes available. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." For details of what the default image contains, see the [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux) repository.
{% note %}
@@ -47,37 +56,49 @@ Since your repository is cloned onto the host VM before the container is created
### Step 3: Connecting to the codespace
-When your container has been created and any other initialization has run, you'll be connected to your codespace. You can connect to it through the web or via [{% data variables.product.prodname_vscode_shortname %}](/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code), or both, if needed.
+When your container has been created and any other initialization has run, you'll be connected to your codespace. You can connect to it by using:
+
+* Your web browser
+* [Visual Studio Code](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)
+* [A JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)
+* [{% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli)
### Step 4: Post-creation setup
-Once you are connected to your codespace, your automated setup may continue to build based on the configuration you specified in your `devcontainer.json` file. You may see `postCreateCommand` and `postAttachCommand` run.
+Once you are connected to your codespace, your automated setup may continue to build based on the configuration specified in your `devcontainer.json` file. You may see `postCreateCommand` and `postAttachCommand` run.
-If you want to use Git hooks in your codespace, set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`. For more information, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation.
+If you want to use Git hooks in your codespace, set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`. For more information, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation.
If you have a public dotfiles repository for {% data variables.product.prodname_github_codespaces %}, you can enable it for use with new codespaces. When enabled, your dotfiles will be cloned to the container and the install script will be invoked. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles)."
-Finally, the entire history of the repository is copied down with a full clone.
+Finally, if you created the codespace from a repository, the entire history of the repository is copied down with a full clone. If you created the codespace from a template, the full history of the template repository is not preserved; instead, unless you are using the blank template, you will start with an initial commit for the contents of the template repository.
During post-creation setup you'll still be able to use the integrated terminal and make edits to your files, but take care to avoid any race conditions between your work and the commands that are running.
## {% data variables.product.prodname_codespaces %} lifecycle
### Saving files in your codespace
-As you develop in your codespace, it will save any changes to your files every few seconds. Your codespace will keep running for 30 minutes after the last activity. After that time it will stop running but you can restart it from either from the existing browser tab or the list of existing codespaces. File changes from the editor and terminal output are counted as activity and so your codespace will not stop if terminal output is continuing.
+Save changes to files in the normal way, depending on the editor you are using.
-{% note %}
-
-**Note:** Changes in a codespace in {% data variables.product.prodname_vscode_shortname %} are not saved automatically, unless you have enabled [Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save).
-{% endnote %}
+If you work on codespaces in {% data variables.product.prodname_vscode %}, you can enable [Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) to ensure that your changes are always saved.
### Closing or stopping your codespace
-To stop your codespace you can [use the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)). If you exit your codespace without running the stop command (for example, closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue until a window of inactivity occurs, after which the codespace will stop. By default, the window of inactivity is 30 minutes.
+Your codespace will keep running while you are using it, but will time out after a period of inactivity. File changes from the editor and terminal output are counted as activity, so your codespace will not time out if terminal output is continuing. The default inactivity timeout period is 30 minutes. You can define your personal timeout setting for codespaces you create, but this may be overruled by an organization timeout policy. For more information, see "[Setting your timeout period for Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces)."
+
+If a codespace times out it will stop running, but you can restart it from the browser tab (if you were using the codespace in the browser), from within {% data variables.product.prodname_vscode_shortname %}, or from your list of codespaces at [https://github.com/codespaces](https://github.com/codespaces).
+
+To stop your codespace you can
+
+* In the browser: on your list of codespaces at [https://github.com/codespaces](https://github.com/codespaces), click the ellipsis (**...**) to the right of the codespace you want to stop and click **Stop codespace**.
+* In {% data variables.product.prodname_vscode_shortname %}: open [the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) - for example, by pressing Ctrl+Shift+Enter (Windows/Linux) or Shift+Command+P (Mac) - type `Codespaces: stop` then press Enter.
+* In the JetBrains client, click the stop button at the top of the {% data variables.product.prodname_github_codespaces %} tool window. For more information, see the "JetBrains IDEs" tab of "[Stopping and starting a codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace)."
+* In a terminal window: use the {% data variables.product.prodname_cli %} command `gh codespace stop`. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli#gh-commands-for-github-codespaces)."
+
+If you exit your codespace without running the stop command (for example, by closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue for the duration of the inactivity timeout period.
When you close or stop your codespace, all uncommitted changes are preserved until you connect to the codespace again.
-
## Running your application
Port forwarding gives you access to TCP ports running within your codespace. For example, if you're running a web application on port 4000 within your codespace, you can automatically forward that port to make the application accessible from your browser.
@@ -86,7 +107,7 @@ Port forwarding determines which ports are made accessible to you from the remot

-When an application running inside {% data variables.product.prodname_github_codespaces %} outputs a port to the console, {% data variables.product.prodname_github_codespaces %} detects the localhost URL pattern and automatically forwards the port. You can click on the URL in the terminal or in the toast message to open the port in a browser. By default, {% data variables.product.prodname_github_codespaces %} forwards the port using HTTP. For more information on port forwarding, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)."
+When an application running inside {% data variables.product.prodname_github_codespaces %} outputs a port to the console, {% data variables.product.prodname_github_codespaces %} detects the localhost URL pattern and automatically forwards the port. You can click on the URL in the terminal, or the link in the "toast" notification message that pops up at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, to open the port in a browser. By default, {% data variables.product.prodname_github_codespaces %} forwards the port using HTTP. For more information on port forwarding, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)."
While ports can be forwarded automatically, they are not publicly accessible to the internet. By default, all ports are private, but you can manually make a port available to your organization or public, and then share access through a URL. For more information, see "[Sharing a port](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace#sharing-a-port)."
@@ -94,13 +115,13 @@ Running your application when you first land in your codespace can make for a fa
## Committing and pushing your changes
-Git is available by default in your codespace and so you can rely on your existing Git workflow. You can work with Git in your codespace either via the Terminal or by using [{% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/editor/versioncontrol)'s source control UI. For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)"
+Git is installed by default in your codespace and so you can rely on your existing Git workflow. You can work with Git in your codespace either via the Terminal or by using the source control features of {% data variables.product.prodname_vscode_shortname %} or JetBrains.
-
+If you're working with an existing repository, you can create a codespace from any branch, commit, or pull request in the repository, or you can switch to a new or existing branch from within your active codespace. Because {% data variables.product.prodname_github_codespaces %} is designed to be ephemeral, you can use it as an isolated environment to experiment, check a teammate's pull request, or fix merge conflicts.
-You can create a codespace from any branch, commit, or pull request in your project, or you can switch to a new or existing branch from within your active codespace. Because {% data variables.product.prodname_github_codespaces %} is designed to be ephemeral, you can use it as an isolated environment to experiment, check a teammate's pull request, or fix merge conflicts.
+If you're working in a codespace created from a template, Git will be installed by default, but you will need to publish your codespace to a remote repository to persist your work and to share it with others. If you start from {% data variables.product.company_short %}'s blank template, you will first need to initialize your workspace as a Git repository (for example by entering `git init`) to start using source control within the codespace.
-You can create more than one codespace per repository or even per branch. However, there are limits to the number of codespaces you can create, and the number of codespaces you can run at the same time. If you reach the maximum number of codespaces and try to create another, a message is displayed telling you that you must remove an existing codespace before you can create a new one.
+For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)."
{% note %}
@@ -108,15 +129,31 @@ You can create more than one codespace per repository or even per branch. Howeve
{% endnote %}
-## Personalizing your codespace with extensions
+## Personalizing your codespace with extensions or plugins
-Using {% data variables.product.prodname_vscode_shortname %} in your codespace gives you access to the {% data variables.product.prodname_vscode_marketplace %} so that you can add any extensions you need. For information on how extensions run in {% data variables.product.prodname_github_codespaces %}, see [Supporting Remote Development and GitHub Codespaces](https://code.visualstudio.com/api/advanced-topics/remote-extensions) in the {% data variables.product.prodname_vscode_shortname %} documentation.
+You can add plugins and extensions within a codespace to personalize your experience in JetBrains and {% data variables.product.prodname_vscode_shortname %} respectively.
+
+### {% data variables.product.prodname_vscode_shortname %} extensions
+
+If you work on your codespaces in the {% data variables.product.prodname_vscode_shortname %} desktop application, or the web client, you can add any extensions you need from the {% data variables.product.prodname_vscode_marketplace %}. For information on how extensions run in {% data variables.product.prodname_github_codespaces %}, see [Supporting Remote Development and {% data variables.product.prodname_github_codespaces %}](https://code.visualstudio.com/api/advanced-topics/remote-extensions) in the {% data variables.product.prodname_vscode_shortname %} documentation.
If you already use {% data variables.product.prodname_vscode_shortname %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to automatically sync extensions, settings, themes, and keyboard shortcuts between your local instance and any codespaces you create.
+### JetBrains plugins
+
+If you work on your codespaces in a JetBrains IDE, you can add plugins from the JetBrains Marketplace.
+
+1. Click **JetBrains Client**, then click **Preferences**.
+1. In the Preferences dialog box, click either **Plugins On Host** to install a plugin in the full JetBrains IDE that's running remotely, or **Plugins** to install a plugin on the local client, for example to change the user interface theme.
+1. Click the **Marketplace** tab.
+
+ 
+
+1. Click **Install** beside the required plugin.
+
## Further reading
- "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)"
- "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)"
- "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)"
-- "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)"
+- "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)"
diff --git a/content/codespaces/getting-started/index.md b/content/codespaces/getting-started/index.md
index c081b6a63c..11960b51c4 100644
--- a/content/codespaces/getting-started/index.md
+++ b/content/codespaces/getting-started/index.md
@@ -2,7 +2,6 @@
title: 'Getting started with {% data variables.product.prodname_github_codespaces %}'
shortTitle: Getting started
intro: 'Learn how to get started with {% data variables.product.prodname_github_codespaces %}, including set up and configuration for specific languages.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/getting-started/quickstart.md b/content/codespaces/getting-started/quickstart.md
index ec2abfcbed..c432de015c 100644
--- a/content/codespaces/getting-started/quickstart.md
+++ b/content/codespaces/getting-started/quickstart.md
@@ -3,7 +3,6 @@ title: 'Quickstart for {% data variables.product.prodname_github_codespaces %}'
shortTitle: 'Quickstart for {% data variables.product.prodname_codespaces %}'
intro: 'Try out {% data variables.product.prodname_github_codespaces %} in 5 minutes.'
allowTitleToDifferFromFilename: true
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -16,82 +15,76 @@ redirect_from:
## Introduction
-In this guide, you'll create a codespace from a template repository and explore some of the essential features available to you within the codespace.
+In this guide, you'll create a codespace from a template repository and explore some of the essential features available to you within the codespace. You'll work in the browser version of {% data variables.product.prodname_vscode %}, which is initially the default editor for {% data variables.product.prodname_github_codespaces %}. After trying out this quickstart you can use {% data variables.product.prodname_codespaces %} in other editors, and you can change the default editor. Links are provided at the end of this guide.
-From this quickstart, you'll learn how to create a codespace, connect to a forwarded port to view your running application, use version control in a codespace, and personalize your setup with extensions.
+From this quickstart, you'll learn how to create a codespace, connect to a forwarded port to view your running application, publish your codespace to a new repository, and personalize your setup with extensions.
For more information on exactly how {% data variables.product.prodname_github_codespaces %} works, see the companion guide "[Deep dive into {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive)."
## Creating your codespace
-1. Navigate to the [template repository](https://github.com/github/haikus-for-codespaces) and select **Use this template**.
-{% data reusables.codespaces.open-codespace-from-template-repo %}
+1. Navigate to the [github/haikus-for-codespaces](https://github.com/github/haikus-for-codespaces) template repository.
+{% data reusables.codespaces.open-template-in-codespace-step %}
## Running the application
-Once your codespace is created, your repository will be automatically cloned into it. Now you can run the application and launch it in a browser.
+Once your codespace is created, the template repository will be automatically cloned into it. Now you can run the application and launch it in a browser.
-1. When the terminal becomes available, enter the command `npm run dev`. This example uses a Node.js project, and this command runs the script labeled "dev" in the _package.json_ file, which starts up the web application defined in the sample repository.
+1. When the terminal becomes available, enter the command `npm run dev`. This example uses a Node.js project, and this command runs the script labeled "dev" in the `package.json` file, which starts up the web application defined in the sample repository.

If you're following along with a different application type, enter the corresponding start command for that project.
-1. When your application starts, the codespace recognizes the port the application is running on and displays a prompt to let you know it has been forwarded.
+2. When your application starts, the codespace recognizes the port the application is running on and displays a prompt to let you know it has been forwarded.
- 
+ 
-1. Click **Open in Browser** to view your running application in a new tab.
+3. Click **Open in Browser** to view your running application in a new tab.
## Edit the application and view changes
-1. Switch back to your codespace and open the _haikus.json_ file by double-clicking it in the Explorer.
+1. Switch back to your codespace and open the `haikus.json` file by clicking it in the Explorer.
-1. Edit the `text` field of the first haiku to personalize the application with your own haiku.
+2. Edit the `text` field of the first haiku to personalize the application with your own haiku.
-1. Go back to the running application tab in your browser and refresh to see your changes.
+3. Go back to the running application tab in your browser and refresh to see your changes.
- {% octicon "light-bulb" aria-label="The lightbulb icon" %} If you've closed the tab, open the Ports panel and click the **Open in browser** icon for the running port.
+ {% octicon "light-bulb" aria-label="The lightbulb icon" %} If you've closed the tab, open the Ports panel and click the **Open in browser** icon for the running port.
- 
+ 
## Committing and pushing your changes
-Now that you've made a few changes, you can use the integrated terminal or the source view to commit and push the changes back to the remote.
+Now that you've made a few changes, you can use the integrated terminal or the source view to publish your work to a new repository.
{% data reusables.codespaces.source-control-display-dark %}
-1. To stage your changes, click **+** next to the file you've changed, or next to **Changes** if you've changed multiple files and you want to stage them all.
+1. To stage your changes, click **+** next to the `haikus.json` file, or next to **Changes** if you've changed multiple files and you want to stage them all.

-1. Type a commit message describing the change you've made.
+2. To commit your staged changes, type a commit message describing the change you've made, then click **Commit**.
- 
+ 
-1. To commit your staged changes, click the check mark at the top the source control side bar.
+3. Click **Publish Branch**.
+
+ 
- 
+4. In the "Repository Name" dropdown, type a name for your new repository, then select **Publish to {% data variables.product.company_short %} private repository** or **Publish to {% data variables.product.company_short %} public repository**.
+
+ 
- You can push the changes you've made. This applies those changes to the upstream branch on the remote repository. You might want to do this if you're not yet ready to create a pull request, or if you prefer to create a pull request on {% data variables.product.prodname_dotcom %}.
-1. At the top of the side bar, click the ellipsis (**...**).
-
- 
-
-1. In the drop-down menu, click **Push**.
-1. Go back to your new repository on {% data variables.product.prodname_dotcom %} and view the _haikus.json_ file. Check that the change you made in your codespace has been successfully pushed to the repository.
+ The owner of the new repository will be the {% data variables.product.prodname_dotcom %} account with which you created the codespace.
+5. In the pop-up that appears in the lower right corner of the editor, click **Open on {% data variables.product.company_short %}** to view the new repository on {% data variables.product.prodname_dotcom_the_website %}. In the new repository, view the `haikus.json` file and check that the change you made in your codespace has been successfully pushed to the repository.
+
+ 
## Personalizing with an extension
-Within a codespace, you have access to the {% data variables.product.prodname_vscode_marketplace %}. For this example, you'll install an extension that alters the theme, but you can install any extension that is useful for your workflow.
-
-{% note %}
-
-**Note**: If you have [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) turned on, any changes you make to your editor setup in the current codespace, such as changing your theme or keyboard bindings, are automatically synced to any other codespaces you open and any instances of {% data variables.product.prodname_vscode %} that are signed into your {% data variables.product.prodname_dotcom %} account.
-
-{% endnote %}
+When you connect to a codespace using the browser, or the {% data variables.product.prodname_vscode %} desktop application, you can access the Visual Studio Code Marketplace directly from the editor. For this example, you'll install a {% data variables.product.prodname_vscode_shortname %} extension that alters the theme, but you can install any extension that's useful for your workflow.
1. In the left sidebar, click the Extensions icon.
-
1. In the search bar, type `fairyfloss` and click **Install**.

@@ -100,14 +93,21 @@ Within a codespace, you have access to the {% data variables.product.prodname_vs

-## Next Steps
+If you are using a codespace in the browser, or in the {% data variables.product.prodname_vscode %} desktop application, and you have [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) turned on, any changes you make to your editor setup in the current codespace, such as changing your theme or keyboard bindings, are automatically synced to any instances of {% data variables.product.prodname_vscode %} that are signed into your {% data variables.product.prodname_dotcom %} account and to any other codespaces you create.
+
+## Next steps
You've successfully created, personalized, and run your first application within a codespace but there's so much more to explore! Here are some helpful resources for taking your next steps with {% data variables.product.prodname_github_codespaces %}.
- - "[Deep dive](/codespaces/getting-started/deep-dive)": This quickstart presented some of the features of {% data variables.product.prodname_github_codespaces %}. The deep dive looks at these areas from a technical standpoint.
- - "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)": These guides provide information on setting up your repository to use {% data variables.product.prodname_github_codespaces %} with specific languages.
- - "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)": This guide provides details on configuring a development container for your codespace.
+
+* "[Deep dive](/codespaces/getting-started/deep-dive)": This quickstart presented some of the features of {% data variables.product.prodname_github_codespaces %}. The deep dive looks at these areas from a technical standpoint.
+* "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)": These guides provide information on setting up your repository to use {% data variables.product.prodname_github_codespaces %} with specific languages.
+* "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)": This guide provides details on creating a custom configuration for {% data variables.product.prodname_codespaces %} for your project.
## Further reading
-- "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)"
-- "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)"
+* "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)"
+* "[Using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)"
+* "[Using {% data variables.product.prodname_github_codespaces %} in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)"
+* "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli)"
+* "[Setting your default editor for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)."
+* "[Managing the cost of {% data variables.product.prodname_github_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization)"
diff --git a/content/codespaces/guides.md b/content/codespaces/guides.md
index cb9038bcac..ffbb283b86 100644
--- a/content/codespaces/guides.md
+++ b/content/codespaces/guides.md
@@ -1,7 +1,6 @@
---
title: Codespaces guides
shortTitle: Guides
-product: '{% data reusables.gated-features.codespaces %}'
intro: Learn how to make the most of GitHub
allowTitleToDifferFromFilename: true
layout: product-guides
@@ -18,16 +17,18 @@ includeGuides:
- /codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines
- /codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository
- /codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge
- - /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project
+ - /codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers
- /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account
- - /codespaces/developing-in-codespaces/creating-a-codespace
+ - /codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository
+ - /codespaces/developing-in-codespaces/creating-a-codespace-from-a-template
- /codespaces/developing-in-codespaces/developing-in-a-codespace
- /codespaces/developing-in-codespaces/deleting-a-codespace
- /codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace
- /codespaces/developing-in-codespaces/opening-an-existing-codespace
- /codespaces/developing-in-codespaces/stopping-and-starting-a-codespace
- - /codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code
- - /codespaces/developing-in-codespaces/using-codespaces-with-github-cli
+ - /codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code
+ - /codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide
+ - /codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli
- /codespaces/developing-in-codespaces/using-source-control-in-your-codespace
- /codespaces/developing-in-codespaces/using-codespaces-for-pull-requests
- /codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace
diff --git a/content/codespaces/index.md b/content/codespaces/index.md
index 437c5cdeb7..87296d4009 100644
--- a/content/codespaces/index.md
+++ b/content/codespaces/index.md
@@ -8,16 +8,18 @@ introLinks:
featuredLinks:
guides:
- /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization
- - /codespaces/developing-in-codespaces/codespaces-lifecycle
+ - /codespaces/developing-in-codespaces/the-codespace-lifecycle
- /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project
- /codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces
- /billing/managing-billing-for-github-codespaces/about-billing-for-codespaces
guideCards:
- /codespaces/getting-started/deep-dive
- - /codespaces/developing-in-codespaces/creating-a-codespace
+ - /codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository
+ - /codespaces/developing-in-codespaces/creating-a-codespace-from-a-template
- /codespaces/developing-in-codespaces/opening-an-existing-codespace
- - /codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code
- /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account
+ - /codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code
+ - /codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide
popular:
- /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces
- /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces
diff --git a/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md
index 4564093716..914857fdef 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md
@@ -1,9 +1,8 @@
---
title: Enabling GitHub Codespaces for your organization
shortTitle: 'Enable {% data variables.product.prodname_codespaces %}'
-intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization''s expense.'
-product: '{% data reusables.gated-features.codespaces %}'
-permissions: 'To alter an organization''s billing settings, you must be an organization owner.'
+intro: "You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization's expense."
+permissions: "To alter an organization's billing settings, you must be an organization owner."
redirect_from:
- /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization
- /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization
@@ -19,9 +18,9 @@ topics:
## About enabling {% data variables.product.prodname_github_codespaces %} for your organization
-Organization owners can control which users in your organization can create and use codespaces at the organization's expense. For information about pricing, see "[About billing for GitHub Codespaces](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+Organization owners can control which users in your organization can create and use codespaces at the organization's expense. For information about pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
-Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must:
+Only people who can either push changes to a repository, or fork the repository, can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must:
- Ensure that users have at least write access to the repositories where they want to use a codespace. For more information, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)."
- Ensure that your organization does not have an IP address allow list enabled. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
@@ -34,7 +33,7 @@ To allow people to create codespaces for which your organization will be billed,
{% ifversion fpt %}
{% note %}
-**Note:** If you are a verified educator or a teacher, you must enable {% data variables.product.prodname_codespaces %} from a {% data variables.product.prodname_classroom %} to use your {% data variables.product.prodname_codespaces %} Education benefit. For more information, see "[Using GitHub Codespaces with GitHub Classroom](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom#about-the-codespaces-education-benefit-for-verified-teachers)."
+**Note:** If you are a verified educator or a teacher, you must enable {% data variables.product.prodname_github_codespaces %} from a {% data variables.product.prodname_classroom %} to use your {% data variables.product.prodname_codespaces %} Education benefit. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom#about-the-codespaces-education-benefit-for-verified-teachers)."
{% endnote %}
{% endif %}
diff --git a/content/codespaces/managing-codespaces-for-your-organization/index.md b/content/codespaces/managing-codespaces-for-your-organization/index.md
index d71e4021e0..05bf754d62 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/index.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/index.md
@@ -3,7 +3,6 @@ title: Managing GitHub Codespaces for your organization
allowTitleToDifferFromFilename: true
shortTitle: Managing your organization
intro: 'You can manage and review how users in your organization can use {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md
index 996b22f228..10e2e88b4e 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md
@@ -1,8 +1,7 @@
---
title: Listing the codespaces in your organization
shortTitle: List organization codespaces
-intro: You can list all of the currently active or stopped codespaces for your organization.
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'You can list all of the currently active or stopped codespaces for your organization.'
permissions: 'To list all of the current codespaces for your organization, you must be an organization owner.'
versions:
fpt: '*'
@@ -15,7 +14,7 @@ topics:
## Overview
-As an organization owner, you can list all of the currently active and stopped codespaces for your organization. You might want to do this to check how many codespaces users are creating, to make sure they aren't incurring unnecessary costs. For information about pricing, see "[About billing for GitHub Codespaces](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+As an organization owner, you can list all of the currently active and stopped codespaces for your organization. You might want to do this to check how many codespaces users are creating, to make sure they aren't incurring unnecessary costs. For information about pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
The easiest way to list the codespaces for an organization is by using {% data variables.product.prodname_cli %}. You can also use the REST API, which provides more information about each codespace.
diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md
index f2507b7be9..43595bbc4d 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Managing encrypted secrets for your repository and organization for GitHub Codespaces
shortTitle: Encrypted secrets
intro: 'Encrypted secrets allow you to store sensitive information in your organization, repository, or {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage secrets for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.'
versions:
fpt: '*'
diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md
index 5460d78ed6..639cc2acac 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md
@@ -2,7 +2,6 @@
title: Managing repository access for your organization's codespaces
shortTitle: Repository access
intro: 'You can manage the repositories in your organization that {% data variables.product.prodname_github_codespaces %} can access.'
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage access and security for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.'
versions:
fpt: '*'
@@ -26,15 +25,15 @@ redirect_from:
By default, a codespace can only access the repository where it was created. When you enable access and security for a repository owned by your organization, any codespaces that are created for that repository will also have read permissions to all other repositories the organization owns and the codespace creator has permissions to access. If you want to restrict the repositories a codespace can access, you can limit it to either the repository where the codespace was created, or to specific repositories. You should only enable access and security for repositories you trust.
-To manage which users in your organization can use {% data variables.product.prodname_github_codespaces %}, see "[Enabling GitHub Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)."
+To manage which users in your organization can use {% data variables.product.prodname_github_codespaces %}, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)."
{% data reusables.profile.access_org %}
{% data reusables.profile.org_settings %}
{% data reusables.organizations.click-codespaces %}
1. Under "Access and security", select the setting you want for your organization.

-1. If you chose "Selected repositories", select the drop-down menu, then click a repository to allow the repository's codespaces to access other repositories owned by your organization. Repeat for all repositories whose codespaces you want to access other repositories.
- 
+1. If you chose "Selected repositories", select the dropdown menu, then click a repository to allow the repository's codespaces to access other repositories owned by your organization. Repeat for all repositories whose codespaces you want to access other repositories.
+ 
## Further reading
diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md
index 27651a2bd3..d15eef99b6 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md
@@ -2,7 +2,6 @@
title: Managing the cost of GitHub Codespaces in your organization
shortTitle: Manage Codespaces costs
intro: 'You can check your {% data variables.product.prodname_github_codespaces %} usage and set usage limits.'
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage billing for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner or a billing manager.'
versions:
fpt: '*'
@@ -24,7 +23,7 @@ To learn about pricing for {% data variables.product.prodname_github_codespaces
## Spending limits
-You can set a spending limit for {% data variables.product.prodname_github_codespaces %} for your organization. This limit is applied to the total compute and storage cost for {% data variables.product.prodname_github_codespaces %}. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
+You can set a spending limit for {% data variables.product.prodname_github_codespaces %} for your organization. This limit is applied to the total compute and storage cost for {% data variables.product.prodname_github_codespaces %}. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)."
- **Compute usage:** This is the total time during which all {% data variables.product.prodname_github_codespaces %} instances ("codespaces") were active in a billing month.
@@ -34,7 +33,7 @@ You can check the compute and storage usage for {% data variables.product.prodna
{% note %}
-**Note**: Prebuilds for {% data variables.product.prodname_github_codespaces %} are created and updated using {% data variables.product.prodname_actions %}. This may incur billable costs for {% data variables.product.prodname_actions %}. You can set a spending limit for {% data variables.product.prodname_actions %}. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)" and "[Managing your spending limit for GitHub Actions](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)." Storage of the generated prebuilds is charged at the same rate as your codespaces, and is included in your {% data variables.product.prodname_github_codespaces %} spending limit.
+**Note**: Prebuilds for {% data variables.product.prodname_github_codespaces %} are created and updated using {% data variables.product.prodname_actions %}. This may incur billable costs for {% data variables.product.prodname_actions %}. You can set a spending limit for {% data variables.product.prodname_actions %}. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)" and "[Managing your spending limit for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)." Storage of the generated prebuilds is charged at the same rate as your codespaces, and is included in your {% data variables.product.prodname_github_codespaces %} spending limit.
{% endnote %}
@@ -52,7 +51,7 @@ You can set a maximum idle timeout constraint to limit the maximum timeout that
You can also restrict how long stopped codespaces can remain unused before they are automatically deleted. This can help to reduce storage costs for {% data variables.product.prodname_codespaces %}. For more information, see "[Restricting the retention period for codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)."
-Repository owners who set up prebuilds for their repository can reduce the storage costs of prebuilds by configuring these to be created only in selected regions. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+Repository owners who set up prebuilds for their repository can reduce the storage costs of prebuilds by configuring these to be created only in selected regions. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
## Deleting unused codespaces
diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md
index 7e52316c87..6d19604ad4 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md
@@ -2,7 +2,6 @@
title: Restricting access to machine types
shortTitle: Restrict machine types
intro: You can set constraints on the types of machines users can choose when they create codespaces in your organization.
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage access to machine types for the repositories in an organization, you must be an owner of the organization.'
versions:
fpt: '*'
@@ -14,7 +13,7 @@ topics:
## Overview
-Typically, when you create a codespace you are offered a choice of specifications for the machine that will run your codespace. You can choose the machine type that best suits your needs. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+Typically, when you create a codespace you are offered a choice of specifications for the machine that will run your codespace. You can choose the machine type that best suits your needs. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
If you pay for using {% data variables.product.prodname_github_codespaces %} then your choice of machine type will affect how much your are billed. The compute cost for a codespace is proportional to the number of processor cores in the machine type you choose. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine. For more information about pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
@@ -88,4 +87,4 @@ You can edit an existing policy. For example, you may want to add or remove cons
## Further reading
-- "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)"
+- "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)"
diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md
index c33fbe2090..066c79fa3c 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md
@@ -2,7 +2,6 @@
title: Restricting the base image for codespaces
shortTitle: Restrict base image
intro: You can specify which base images can be used for new codespaces created within your organization.
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage image constraints for an organization''s codespaces, you must be an owner of the organization.'
versions:
fpt: '*'
@@ -35,7 +34,7 @@ If the image specified in the dev container configuration does not match one of
{% note %}
**Notes**:
-* The base image policy is only applied when a codespace is created. It is currently not applied when you rebuild a container. This will change in a future release. For more information, see "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle#rebuilding-a-codespace)."
+* The base image policy is only applied when a codespace is created. It is currently not applied when you rebuild a container. This will change in a future release. For more information, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle#rebuilding-a-codespace)."
* The base image policy does not apply to the default image, or the image that's used to recover a codespace if an error is introduced into a dev container configuration which prevents the container from being rebuilt.
{% endnote %}
diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md
index db81c6347d..28aec3606f 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md
@@ -2,7 +2,6 @@
title: Restricting the idle timeout period
shortTitle: Restrict timeout periods
intro: You can set a maximum timeout period for any codespaces owned by your organization.
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage timeout constraints for an organization''s codespaces, you must be an owner of the organization.'
versions:
fpt: '*'
diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md
index f49dd49a4a..37668e6931 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md
@@ -2,7 +2,6 @@
title: Restricting the retention period for codespaces
shortTitle: Restrict the retention period
intro: You can set a maximum retention period for any codespaces owned by your organization.
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage retention constraints for an organization''s codespaces, you must be an owner of the organization.'
versions:
fpt: '*'
diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md
index 74c626756f..a6e15aa254 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md
@@ -2,7 +2,6 @@
title: Restricting the visibility of forwarded ports
shortTitle: Restrict port visibility
intro: You can set constraints on the visibility options users can choose when they forward ports from codespaces in your organization.
-product: '{% data reusables.gated-features.codespaces %}'
permissions: 'To manage access to port visibility constraints for the repositories in an organization, you must be an owner of the organization.'
versions:
fpt: '*'
diff --git a/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md
index 6425b661df..4dc53ccac7 100644
--- a/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md
+++ b/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Reviewing your organization's audit logs for GitHub Codespaces
shortTitle: Audit logs
intro: 'You can use the audit log to review all actions related to {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -26,3 +25,4 @@ The audit log includes details such as who performed the action, what the action
## Further reading
- "[Reviewing your security logs for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces)"
+- "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)"
diff --git a/content/codespaces/managing-your-codespaces/index.md b/content/codespaces/managing-your-codespaces/index.md
index a338dc190f..2f67f709f1 100644
--- a/content/codespaces/managing-your-codespaces/index.md
+++ b/content/codespaces/managing-your-codespaces/index.md
@@ -1,7 +1,6 @@
---
title: Managing your codespaces
intro: 'You can use {% data variables.product.prodname_github_codespaces %} settings to manage information that your codespace might need.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md
index 07be49175c..6a2cc72fd6 100644
--- a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md
+++ b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md
@@ -1,7 +1,6 @@
---
title: Managing encrypted secrets for your codespaces
intro: 'You can store sensitive information, like tokens, that you want to access in your codespaces via environment variables.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -24,12 +23,12 @@ shortTitle: Encrypted secrets
You can add encrypted secrets to your personal account that you want to use in your codespaces. For example, you may want to store and access the following sensitive information as encrypted secrets.
-- {% data variables.product.pat_generic %}s to cloud services
+- Access tokens to cloud services
- Service principals
- Subscription identifiers
- [Credentials for a private image registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry)
-You can choose which repositories should have access to each secret. Then, you can use the secret in any codespace you create for a repository that has access to the secret.
+You can choose which repositories should have access to each secret. Then, you can use the secret in any codespace you create for a repository that has access to the secret. To share a secret with a codespace created from a template, you will need to publish the codespace to a repository on {% data variables.product.prodname_dotcom %}, then give that repository access to the secret.
{% data reusables.codespaces.secrets-on-start %}
diff --git a/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md b/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md
index a9c7a80126..0e56df0843 100644
--- a/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md
+++ b/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md
@@ -1,7 +1,6 @@
---
title: Managing GPG verification for GitHub Codespaces
intro: 'You can allow {% data variables.product.company_short %} to automatically use GPG to sign commits you make in your codespaces, so other people can be confident that the changes come from a trusted source.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -27,8 +26,8 @@ Once you enable GPG verification, it will immediately take effect for all your c
{% data reusables.user-settings.codespaces-tab %}
1. Under "GPG verification", select the setting you want for GPG verification.

-1. If you chose "Selected repositories", select the drop-down menu, then click a repository you want enable GPG verification for. Repeat for all repositories you want to enable GPG verification for.
- 
+1. If you chose "Selected repositories", select the dropdown menu, then click a repository you want enable GPG verification for. Repeat for all repositories you want to enable GPG verification for.
+ 
{% note %}
diff --git a/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md
index 8dabed3b84..4519c40fd5 100644
--- a/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md
+++ b/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md
@@ -3,7 +3,6 @@ title: Managing access to other repositories within your codespace
allowTitleToDifferFromFilename: true
shortTitle: Repository access
intro: 'You can manage the repositories that {% data variables.product.prodname_github_codespaces %} can access.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -16,7 +15,7 @@ redirect_from:
## Overview
-By default, your codespace is assigned a token scoped to the repository from which it was created. For more information, see "[Security in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces#authentication)." If your project needs additional permissions for other repositories, you can configure this in the `devcontainer.json` file and ensure other collaborators have the right set of permissions.
+By default, your codespace is assigned a token scoped to the repository from which it was created. When you publish a codespace that you created from a template to a new repository on {% data variables.product.product_name %}, the codespace is assigned a token scoped to the new repository. For more information, see "[Security in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces#authentication)." If your project needs additional permissions for other repositories, you can configure this in the `devcontainer.json` file and ensure other collaborators have the right set of permissions.
When permissions are listed in the `devcontainer.json` file, you will be prompted to review and authorize the additional permissions as part of codespace creation for that repository. Once you've authorized the listed permissions, {% data variables.product.prodname_github_codespaces %} will remember your choice and will not prompt you for authorization unless the permissions in the `devcontainer.json` file change.
@@ -129,6 +128,6 @@ When you enable access and security for a repository owned by your personal acco

-1. If you chose "Selected repositories", select the drop-down menu, then click a repository to allow the repository's codespaces to access other repositories you own. Repeat for all repositories whose codespaces you want to access other repositories you own.
+1. If you chose "Selected repositories", select the dropdown menu, then click a repository to allow the repository's codespaces to access other repositories you own. Repeat for all repositories whose codespaces you want to access other repositories you own.
- 
+ 
diff --git a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md
index db6fc971b2..475292c833 100644
--- a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md
+++ b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md
@@ -2,7 +2,6 @@
title: Reviewing your security logs for GitHub Codespaces
shortTitle: Security logs
intro: 'You can use the security log to review all actions related to {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -27,3 +26,4 @@ The security log includes details on what action occurred and when you performed
## Further reading
- "[Reviewing your organization's audit logs for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces)"
+- "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)"
\ No newline at end of file
diff --git a/content/codespaces/overview.md b/content/codespaces/overview.md
index e0494d19cb..0476d49f1e 100644
--- a/content/codespaces/overview.md
+++ b/content/codespaces/overview.md
@@ -1,7 +1,6 @@
---
title: GitHub Codespaces overview
shortTitle: Overview
-product: '{% data reusables.gated-features.codespaces %}'
intro: 'This guide introduces {% data variables.product.prodname_github_codespaces %} and provides details on how it works and how to use it.'
allowTitleToDifferFromFilename: true
redirect_from:
@@ -20,28 +19,50 @@ topics:
## What is a codespace?
-A codespace is a development environment that's hosted in the cloud. You can customize your project for {% data variables.product.prodname_github_codespaces %} by committing [configuration files](/codespaces/customizing-your-codespace/configuring-codespaces-for-your-project) to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project.
+A codespace is a development environment that's hosted in the cloud. You can customize your project for {% data variables.product.prodname_github_codespaces %} by committing [configuration files](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project.
-{% data variables.product.prodname_github_codespaces %} run on a variety of VM-based compute options hosted by {% data variables.location.product_location %}, which you can configure from 2 core machines up to 32 core machines. You can connect to your codespaces from the browser or locally using {% data variables.product.prodname_vscode %}.
+Each codespace runs on a virtual machine hosted by {% data variables.product.prodname_dotcom %}. You can choose the type of machine you want to use, depending on the resources you need. Various types of machine are available, starting with a 2-core processor, 4 GB of RAM, and 32 GB of storage.
+
+You can connect to your codespaces from your browser, from {% data variables.product.prodname_vscode %}, from the JetBrains Gateway application, or by using {% data variables.product.prodname_cli %}.

## Using {% data variables.product.prodname_github_codespaces %}
-You can create a codespace from any branch or commit in your repository and begin developing using cloud-based compute resources. {% data reusables.codespaces.links-to-get-started %}
+To begin developing using cloud-based compute resources, you can create a codespace from a template or from any branch or commit in a repository. When you create a codespace from a template, you can start from a blank template or choose a template suitable for the work you're doing.
+
+{% data reusables.codespaces.links-to-get-started %}
+
+### Using codespaces owned by your personal account
+
+All personal {% data variables.product.prodname_dotcom_the_website %} accounts have a monthly quota of free use of {% data variables.product.prodname_github_codespaces %} included in the Free or Pro plan. You can get started using {% data variables.product.prodname_github_codespaces %} on your personal account without changing any settings or providing payment details.
+
+You can create and use a codespace for any repository you can clone. You can also use a template to create codespaces that are not initially associated with a repository. If you create a codespace from an organization-owned repository, use of the codespace will either be charged to the organization (if the organization is configured for this), or to your personal account. Codespaces created from templates are always charged to your personal account.
+
+{% data reusables.codespaces.codespaces-continue-by-paying %}
+
+### Using organization-owned codespaces
+
+Organization owners can enable use of {% data variables.product.prodname_github_codespaces %}, billable to the organization or enterprise account. This applies to codespaces created from repositories owned by the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." You can set a spending limit for use of {% data variables.product.prodname_github_codespaces %} on your organization or enterprise account. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)."
+
+If use of a codespace will be billed to an organization or enterprise, this is shown when the codespace is created. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." Codespaces that are billed to an organization, or its parent enterprise, are owned by the organization and can be deleted an organization owner. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization)."
+
+### Customizing {% data variables.product.prodname_github_codespaces %}
To customize the runtimes and tools in your codespace, you can create one or more dev container configurations for your repository. Adding dev container configurations to your repository allows you to define a choice of different development environments that are appropriate for the work people will do in your repository.
-If you don't add a dev container configuration, {% data variables.product.prodname_github_codespaces %} will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)".
+To customize the runtimes and tools in your codespace, you can create one or more dev container configurations. Adding dev container configurations to a repository allows you to define a choice of different development environments that are appropriate for the work people will do in the repository.
-You can also personalize aspects of your codespace environment by using a public [dotfiles](https://dotfiles.github.io/tutorials/) repository and [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync). Personalization can include shell preferences, additional tools, editor settings, and {% data variables.product.prodname_vscode_shortname %} extensions. For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)".
+If you create a codespace from a repository without any dev container configurations, {% data variables.product.prodname_github_codespaces %} will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. If you create a codespace from a template, you might start with some initial configuration on top of the default image. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
-## About billing for {% data variables.product.prodname_codespaces %}
+You can personalize aspects of your codespace environment by using a public [dotfiles](https://dotfiles.github.io/tutorials/) repository. You can use dotfiles to set shell aliases and preferences, or to install your personal preference of the tools you like to use. If you use {% data variables.product.prodname_github_codespaces %} in the browser, or in {% data variables.product.prodname_vscode %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to give your codespace editor the same settings, keyboard shortcuts, snippets, and extensions that you have set up in your local installation of {% data variables.product.prodname_vscode %}.
+
+For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)".
+
+## Billing for {% data variables.product.prodname_codespaces %}
For information on pricing, storage, and usage for {% data variables.product.prodname_github_codespaces %}, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
{% data reusables.codespaces.codespaces-spending-limit-requirement %}
{% data reusables.codespaces.codespaces-monthly-billing %} For information on how organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an organization, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
-
-You can see who will pay for a codespace before you create it. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
diff --git a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md
index 9bbee8317c..45f4bd4c6b 100644
--- a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md
+++ b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md
@@ -7,7 +7,6 @@ versions:
ghec: '*'
topics:
- Codespaces
-product: '{% data reusables.gated-features.codespaces %}'
redirect_from:
- /codespaces/prebuilding-your-codespaces/about-codespaces-prebuilds
---
@@ -20,23 +19,25 @@ If it currently takes more than 2 minutes to create a codespace for a repository
By default, whenever you push changes to your repository, {% data variables.product.prodname_github_codespaces %} uses {% data variables.product.prodname_actions %} to automatically update your prebuilds.
-When prebuilds are available for a particular branch of a repository, a particular dev container configuration file, and for your region, you'll see the "{% octicon "zap" aria-label="The zap icon" %} Prebuild ready" label in the list of machine type options when you create a codespace. If a prebuild is still being created, you will see the "{% octicon "history" aria-label="The history icon" %} Prebuild in progress" label. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+When prebuilds are available for a particular branch of a repository, a particular dev container configuration file, and for your region, you'll see the "{% octicon "zap" aria-label="The zap icon" %} Prebuild ready" label in the list of machine type options when you create a codespace. If a prebuild is still being created, you will see the "{% octicon "history" aria-label="The history icon" %} Prebuild in progress" label. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."

+When you create a codespace from a template on the "Your codespaces" page, {% data variables.product.prodname_dotcom %} may automatically use a prebuild to speed up creation time. For more information on templates, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
+
## The prebuild process
-To create a prebuild you set up a prebuild configuration. When you save the configuration, a {% data variables.product.prodname_actions %} workflow runs to create each of the required prebuilds; one workflow per prebuild. Workflows also run whenever the prebuilds for your configuration need to be updated. This can happen at scheduled intervals, on pushes to a prebuild-enabled repository, or when you change the dev container configuration. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+To create a prebuild you set up a prebuild configuration. When you save the configuration, a {% data variables.product.prodname_actions %} workflow runs to create each of the required prebuilds; one workflow per prebuild. Workflows also run whenever the prebuilds for your configuration need to be updated. This can happen at scheduled intervals, on pushes to a prebuild-enabled repository, or when you change the dev container configuration. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
When a prebuild configuration workflow runs, {% data variables.product.prodname_dotcom %} creates a temporary codespace, performing setup operations up to and including any `onCreateCommand` and `updateContentCommand` commands in the `devcontainer.json` file. No `postCreateCommand` commands are run during the creation of a prebuild. For more information about these commands, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation. A snapshot of the generated container is then taken and stored.
-As with other Actions workflows, running a prebuild configuration workflow will either consume some of the Actions minutes included with your account, if you have any, or it will incur charges for Actions minutes. Storage of codespace prebuilds is billed in the same way as storage of active or stopped codespaces. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)."
+As with other {% data variables.product.prodname_actions %} workflows, running a prebuild configuration workflow will either consume some of the {% data variables.product.prodname_actions %} minutes included with your account, if you have any, or it will incur charges for {% data variables.product.prodname_actions %} minutes. Storage of codespace prebuilds is billed in the same way as storage of active or stopped codespaces. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)."
When you create a codespace from a prebuild, {% data variables.product.prodname_dotcom %} downloads the existing container snapshot from storage and deploys it on a fresh virtual machine, completing the remaining commands specified in the dev container configuration. Since many operations have already been performed, such as cloning the repository, creating a codespace from a prebuild can be substantially quicker than creating one without a prebuild. This is true where the repository is large and/or `onCreateCommand` commands take a long time to run.
## About pushing changes to prebuild-enabled branches
-By default, each push to a branch that has a prebuild configuration results in a {% data variables.product.prodname_dotcom %}-managed Actions workflow run to update the prebuild. The prebuild workflow has a concurrency limit of one workflow run at a time for a given prebuild configuration, unless changes were made that affect the dev container configuration for the associated repository. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." If a run is already in progress, the workflow run that was queued most recently queued will run next, after the current run completes.
+By default, each push to a branch that has a prebuild configuration results in a {% data variables.product.prodname_dotcom %}-managed {% data variables.product.prodname_actions %} workflow run to update the prebuild. The prebuild workflow has a concurrency limit of one workflow run at a time for a given prebuild configuration, unless changes were made that affect the dev container configuration for the associated repository. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." If a run is already in progress, the workflow run that was queued most recently queued will run next, after the current run completes.
With the prebuild set to be updated on each push, it means that if there are very frequent pushes to your repository, prebuild updates will occur at least as often as it takes to run the prebuild workflow. That is, if your workflow run typically takes one hour to complete, prebuilds will be created for your repository roughly hourly, if the run succeeds, or more often if there were pushes that change the dev container configuration on the branch.
diff --git a/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md b/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md
index 0ef2d0b210..e390ff292c 100644
--- a/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md
+++ b/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md
@@ -9,7 +9,6 @@ type: how_to
topics:
- Codespaces
- Set up
-product: '{% data reusables.gated-features.codespaces %}'
permissions: People with admin access to a repository can configure prebuilds for the repository.
---
@@ -25,7 +24,7 @@ You can configure read access to other {% data variables.product.prodname_dotcom
{% endnote %}
-When you create or edit a prebuild configuration for a `devcontainer.json` file that sets up read access to other repositories with the same repository owner, you'll be prompted to grant these permissions when you click **Create** or **Update**. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+When you create or edit a prebuild configuration for a `devcontainer.json` file that sets up read access to other repositories with the same repository owner, you'll be prompted to grant these permissions when you click **Create** or **Update**. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
## Allowing a prebuild write access external resources
diff --git a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md
index 5f8d82217a..c7605e66fc 100644
--- a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md
+++ b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md
@@ -9,32 +9,29 @@ type: how_to
topics:
- Codespaces
- Set up
-product: '{% data reusables.gated-features.codespaces %}'
permissions: People with admin access to a repository can configure prebuilds for the repository.
---
You can set up a prebuild configuration for the combination of a specific branch of your repository with a specific dev container configuration file.
-Any branches created from a prebuild-enabled parent branch will typically also get prebuilds for the same dev container configuration. This is because the prebuild for child branches that use the same dev container configuration as the parent branch are, for the most part, identical, so developers can benefit from faster codespace creation times on those branches also. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+Any branches created from a prebuild-enabled parent branch will typically also get prebuilds for the same dev container configuration. This is because prebuilds for child branches that use the same dev container configuration as the parent branch are, for the most part, identical, so developers can benefit from faster codespace creation times on those branches also. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
Typically, when you configure prebuilds for a branch, prebuilds will be available for multiple machine types. However, if your repository is greater than 32 GB, prebuilds won't be available for 2-core and 4-core machine types, since the storage these provide is limited to 32 GB.
## Prerequisites
-Before you can configure prebuilds for your project the following must be true:
-* {% data variables.product.prodname_github_codespaces %} must be enabled for your organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)."
-* {% data variables.product.prodname_actions %} must be enabled for your repository. Each prebuild configuration needs to be able to trigger an associated Actions workflow. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)."
+Prebuilds are created using {% data variables.product.prodname_actions %}. As a result, {% data variables.product.prodname_actions %} must be enabled for the repository for which you are configuring prebuilds. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)."
-## Configuring a prebuild
+## Configuring prebuilds
{% data reusables.codespaces.accessing-prebuild-configuration %}
1. In the "Prebuild configuration" section of the page, click **Set up prebuild**.

-1. Choose the branch for which you want to set up a prebuild.
+1. Choose the branch for which you want to set up prebuilds.
- 
+ 
{% note %}
@@ -42,38 +39,42 @@ Before you can configure prebuilds for your project the following must be true:
{% endnote %}
-1. Optionally, in the **Configuration file** drop-down menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for this prebuild. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)."
+1. Optionally, in the **Configuration file** dropdown menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for your prebuilds. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)."
- 
+ 
-1. Choose how you want to automatically trigger updates of the prebuild.
+1. Choose how you want to automatically trigger prebuild updates.
- * **Every push** (the default setting) - With this setting, prebuild configurations will be updated on every push made to the given branch. This will ensure that codespaces generated from a prebuild always contain the latest codespace configuration, including any recently added or updated dependencies.
- * **On configuration change** - With this setting, prebuild configurations will be updated every time associated configuration files for a given repo and branch are updated. This ensures that changes to the dev container configuration files for the repository are used when a codespace is generated from a prebuild. The Actions workflow that updates the prebuild will run less often, so this option will use fewer Actions minutes. However, this option will not guarantee that codespaces always include recently added or updated dependencies, so these may have to be added or updated manually after a codespace has been created.
- * **Scheduled** - With this setting, you can have your prebuild configurations update on a custom schedule that's defined by you. This can reduce consumption of Actions minutes, however, with this option, codespaces may be created that do not use the latest dev container configuration changes.
+ * **Every push** (the default setting) - With this setting, prebuilds will be updated on every push made to the given branch. This will ensure that codespaces generated from a prebuild always contain the latest codespace configuration, including any recently added or updated dependencies.
+ * **On configuration change** - With this setting, prebuilds will be updated every time associated configuration files for a given repo and branch are updated. This ensures that changes to the dev container configuration files for the repository are used when a codespace is generated from a prebuild. The {% data variables.product.prodname_actions %} workflow that updates the prebuilds will run less often, so this option will use fewer {% data variables.product.prodname_actions %} minutes. However, this option will not guarantee that codespaces always include recently added or updated dependencies, so these may have to be added or updated manually after a codespace has been created.
+ * **Scheduled** - With this setting, you can have your prebuilds updated on a custom schedule that's defined by you. This can reduce consumption of {% data variables.product.prodname_actions %} minutes, however, with this option, codespaces may be created that do not use the latest dev container configuration changes.

-1. Optionally, select **Reduce prebuild available to only specific regions** to limit access to your prebuild, then select which regions you want it to be available in. Developers can only create codespaces from a prebuild if they are located in a region you select. By default, your prebuild is available to all regions where codespaces is available and storage costs apply for each region.
+1. Optionally, select **Reduce prebuild available to only specific regions** to create prebuilds only in specified regions. Select the regions in which you want prebuilds to be available.
+
+ By default, prebuilds are created in all of the available regions, incurring storage charges per prebuild.

{% note %}
**Notes**:
- * The prebuild for each region will incur individual charges. You should, therefore, only enable prebuilds for regions in which you know they'll be used. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)."
+ * The prebuild in each region incurs individual storage charges. You should, therefore, only enable prebuilds for regions in which you know they'll be used. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)."
* Developers can set their default region for {% data variables.product.prodname_github_codespaces %}, which can allow you to enable prebuilds for fewer regions. For more information, see "[Setting your default region for {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)."
{% endnote %}
-1. Optionally, set the number of prebuild versions to be retained. You can input any number between 1 and 5. The default number of saved versions is 2, which means that only the latest template version and the previous version are saved.
-
- Depending on your prebuild trigger settings, your prebuild could change with each push or on each dev container configuration change. Retaining older versions of prebuilds enables you to create a prebuild from an older commit with a different dev container configuration than the current prebuild. Since there is a storage cost associated with retaining prebuild versions, you can choose the number of versions to be retained based on the needs of your team. For more information on billing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)."
-
- If you set the number of prebuild versions to save to 1, {% data variables.product.prodname_github_codespaces %} will only save the latest version of the prebuild and will delete the older version each time the template is updated. This means you will not get a prebuilt codespace if you go back to an older dev container configuration.
+1. Optionally, under **Template history**, set the number of prebuild versions to be retained. You can input any number between 1 and 5. The default number of saved versions is 2, which means that only the latest prebuild and the previous version are saved.

+ Depending on your prebuild trigger settings, your prebuild could change with each push or on each dev container configuration change. Retaining older versions of prebuilds enables you to create a prebuild from an older commit with a different dev container configuration than the current prebuild. This setting allows you to set the number of retained versions to a level that is appropriate for your needs.
+
+ If you set the number of prebuild versions to save to 1, {% data variables.product.prodname_github_codespaces %} will only save the latest version of the prebuild and will delete the older version each time the template is updated. This means you will not get a prebuilt codespace if you go back to an older dev container configuration.
+
+ There is a storage cost associated with each prebuild version that's retained. For example, if you are generating prebuilds in 4 regions and retaining 2 versions, you will be charged for storage of up to 8 prebuilds. For more information on billing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)."
+
1. Optionally, add users or teams to notify when the prebuild workflow run fails for this configuration. You can begin typing a username, team name, or full name, then click the name once it appears to add them to the list. The users or teams you add will receive an email when prebuild failures occur, containing a link to the workflow run logs to help with further investigation.

@@ -106,7 +107,7 @@ Prebuilds cannot use any user-level secrets while building your environment, bec
You can use the `onCreateCommand` and `updateContentCommand` commands in your `devcontainer.json` to include time-consuming processes as part of the prebuild creation. For more information, see the {% data variables.product.prodname_vscode %} documentation, "[devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts)."
-`onCreateCommand` is run only once, when the prebuild is created, whereas `updateContentCommand` is run at template creation and at subsequent template updates. Incremental builds should be included in `updateContentCommand` since they represent the source of your project and need to be included for every prebuild update.
+`onCreateCommand` is run only once, when the prebuild is created, whereas `updateContentCommand` is run at creation of the prebuild and at subsequent updates to it. Incremental builds should be included in `updateContentCommand` since they represent the source of your project and need to be included for every prebuild update.
## Further reading
diff --git a/content/codespaces/prebuilding-your-codespaces/index.md b/content/codespaces/prebuilding-your-codespaces/index.md
index 97f148dee4..0ce011042e 100644
--- a/content/codespaces/prebuilding-your-codespaces/index.md
+++ b/content/codespaces/prebuilding-your-codespaces/index.md
@@ -1,7 +1,6 @@
---
title: Prebuilding your codespaces
intro: 'To speed up codespace creation, you can configure your project to prebuild codespaces for specific branches in specific regions.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md
index a99d72e538..d8302ff3d2 100644
--- a/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md
+++ b/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md
@@ -8,7 +8,6 @@ versions:
type: how_to
topics:
- Codespaces
-product: '{% data reusables.gated-features.codespaces %}'
miniTocMaxHeadingLevel: 3
---
@@ -24,7 +23,7 @@ Depending on the settings in a prebuild configuration, the workflow to update th
* A schedule that you've defined in the prebuild configuration
* Manually triggering the workflow
-The settings in the prebuild configuration determine which events automatically trigger an update of the prebuild. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+The settings in the prebuild configuration determine which events automatically trigger an update of the prebuild. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
People with admin access to a repository can check the progress of prebuilds, edit, and delete prebuild configurations.
@@ -41,7 +40,7 @@ This displays the output of the most recent run of the workflow in the **Actions
Alternatively, to view all prebuild workflow runs associated with the specified branch, click the ellipsis button and choose **View runs** from the dropdown menu.
-
+
This displays the workflow run history for prebuilds for the associated branch.
@@ -52,7 +51,7 @@ This displays the workflow run history for prebuilds for the associated branch.
1. On the {% data variables.product.prodname_codespaces %} page of your repository settings, click the ellipsis to the right of the prebuild configuration you want to edit.
1. In the dropdown menu, click **Edit**.
- 
+ 
1. Make the required changes to the prebuild configuration, then click **Update**.
@@ -63,12 +62,12 @@ This displays the workflow run history for prebuilds for the associated branch.
To pause the update of prebuilds for a configuration, you can disable workflow runs for the configuration. Disabling the workflow runs for a prebuild configuration does not delete any previously created prebuilds for that configuration and, as a result, codespaces will continue to be generated from an existing prebuild.
-Disabling the workflow runs for a prebuild configuration is useful if you need to investigate template creation failures.
+Disabling the workflow runs for a prebuild configuration is useful if you need to investigate prebuild creation failures.
1. On the {% data variables.product.prodname_codespaces %} page of your repository settings, click the ellipsis to the right of the prebuild configuration you want to disable.
1. In the dropdown menu, click **Disable runs**.
- 
+ 
1. To confirm that you want to disable this configuration, click **OK**.
@@ -81,7 +80,7 @@ After you delete a prebuild configuration, workflow runs for that configuration
1. On the {% data variables.product.prodname_codespaces %} page of your repository settings, click the ellipsis to the right of the prebuild configuration you want to delete.
1. In the dropdown menu, click **Delete**.
- 
+ 
1. Click **OK** to confirm the deletion.
@@ -92,7 +91,7 @@ It may be useful to manually trigger a workflow run for a prebuild configuration
1. On the {% data variables.product.prodname_codespaces %} page of your repository settings, click the ellipsis to the right of the prebuild configuration whose workflow you want to trigger.
1. In the dropdown menu, click **Manually trigger**.
- 
+ 
## Further reading
diff --git a/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md b/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md
index 62f6f5c055..11b834bce3 100644
--- a/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md
+++ b/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md
@@ -10,7 +10,6 @@ type: how_to
topics:
- Codespaces
- Set up
-product: '{% data reusables.gated-features.codespaces %}'
permissions: People with write permissions to a repository can create or edit the dev container configuration for a branch.
---
@@ -20,8 +19,7 @@ For more information, see "[Introduction to dev containers](/codespaces/setting-
## Testing changes to the dev container configuration
-1. Create a codespace from the prebuild-enabled branch whose dev container you want to change. For more information, see "[Creating a codespace
-](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+1. Create a codespace from the prebuild-enabled branch whose dev container you want to change. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
1. In the codespace, check out a test branch. For more information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#creating-or-switching-branches)."
1. Make the required changes to the dev container configuration.
1. Apply the changes by rebuilding the container. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md
index 31e6d43b12..36e4e0ae51 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md
@@ -10,7 +10,6 @@ type: how_to
topics:
- Codespaces
- Set up
-product: '{% data reusables.gated-features.codespaces %}'
---
## Overview
@@ -21,30 +20,24 @@ Adding an "Open in {% data variables.product.prodname_github_codespaces %}" badg
When you create a badge you can choose specific configuration options for the codespace that the badge will create.
-When people click the badge they'll be taken to the advanced options page for codespace creation, with the options you chose preselected. For more information about the advanced options page, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+When people click the badge they'll be taken to the advanced options page for codespace creation, with the options you chose preselected. For more information about the advanced options page, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
From the advanced options page, users can change the preselected settings if required, then click **Create codespace**.
-{% note %}
-
-**Note**: Be aware that people who don't yet have access to {% data variables.product.prodname_github_codespaces %} will see a 404 message if they click this badge.
-
-{% endnote %}
-
## Creating an "Open in {% data variables.product.prodname_github_codespaces %}" badge
{% data reusables.repositories.navigate-to-repo %}
-1. Under the repository name, use the "Branch" drop-down menu, and select the branch you want to create the badge for.
+1. Under the repository name, use the "Branch" dropdown menu, and select the branch you want to create the badge for.
- 
+ 
1. Click the **{% octicon "code" aria-label="The code icon" %} Code** button, then click the **Codespaces** tab.

-1. Click the down arrow at the side of the **Create codespace on BRANCH** button, click **Configure and create codespace**, then click the **Configure and create codespace** button.
+1. Click the ellipsis (**...**) at the top right of the **Codespaces** tab, then click **New with options**.
- 
+ 
1. On the advanced options page for codespace creation, select the values you want to be preselected in each field.
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md
new file mode 100644
index 0000000000..f07ea6b61d
--- /dev/null
+++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md
@@ -0,0 +1,79 @@
+---
+title: Adding features to a devcontainer.json file
+shortTitle: Adding features
+intro: With features, you can quickly add tools, runtimes, or libraries to your dev container configuration.
+allowTitleToDifferFromFilename: true
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+topics:
+ - Codespaces
+ - Set up
+---
+
+{% data reusables.codespaces.about-features %} Use the tabs in this article to display instructions for each of these ways of adding features.
+
+## Adding features to a `devcontainer.json` file
+
+{% webui %}
+
+1. Navigate to your repository on {% data variables.product.prodname_dotcom_the_website %}, find your `devcontainer.json` file, and click {% octicon "pencil" aria-label="The edit icon" %} to edit the file.
+
+ If you don't already have a `devcontainer.json` file, you can create one now. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)."
+1. To the right of the file editor, in the **Marketplace** tab, browse or search for the feature you want to add, then click the name of the feature.
+
+ 
+3. Under "Installation," click the code snippet to copy it to your clipboard, then paste the snippet into the `features` object in your `devcontainer.json` file.
+
+ 
+
+ ```JSON
+ "features": {
+ ...
+ "ghcr.io/devcontainers/features/terraform:1": {},
+ ...
+ }
+ ```
+1. By default, the latest version of the feature will be used. To choose a different version, or configure other options for the feature, expand the properties listed under "Options" to view the available values, then add the options by manually editing the object in your `devcontainer.json` file.
+
+ 
+
+ ```JSON
+ "features": {
+ ...
+ "ghcr.io/devcontainers/features/terraform:1": {
+ "version": "1.1",
+ "tflint": "latest"
+ },
+ ...
+ }
+ ```
+1. Commit the changes to your `devcontainer.json` file.
+
+The configuration changes will take effect in new codespaces created from the repository. To make the changes take effect in existing codespaces, you will need to pull the updates to the `devcontainer.json` file into your codespace, then rebuild the container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
+
+{% endwebui %}
+
+{% vscode %}
+
+{% note %}
+
+To add features in {% data variables.product.prodname_vscode_shortname %} while you are working locally, and not connected to a codespace, you must have the "Dev Containers" extension installed and enabled. For more information about this extension, see the [{% data variables.product.prodname_vs_marketplace_shortname %}](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).
+
+{% endnote %}
+
+1. In {% data variables.product.prodname_vscode_shortname %}, open the Command Palette with Command+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux).
+2. Start typing "Configure" and select **Codespaces: Configure Dev Container Features**.
+
+ 
+
+3. Update your feature selections, then click **OK**.
+
+ 
+
+4. If you're working in a codespace, a prompt will appear in the lower-right corner. To rebuild the container and apply the changes to the codespace you're working in, click **Rebuild Now**.
+
+ 
+
+{% endvscode %}
\ No newline at end of file
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/index.md b/content/codespaces/setting-up-your-project-for-codespaces/index.md
index 1f56d69b82..c4390d7e05 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/index.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/index.md
@@ -3,7 +3,6 @@ title: 'Setting up your repository for {% data variables.product.prodname_github
shortTitle: Setting up your repository
allowTitleToDifferFromFilename: true
intro: 'Learn how to get started with {% data variables.product.prodname_github_codespaces %}, including set up and configuration for specific languages.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -17,7 +16,9 @@ children:
- /setting-up-your-java-project-for-codespaces
- /setting-up-your-python-project-for-codespaces
- /setting-a-minimum-specification-for-codespace-machines
+ - /adding-features-to-a-devcontainer-file
- /automatically-opening-files-in-the-codespaces-for-a-repository
- /adding-a-codespaces-badge
+ - /setting-up-a-template-repository-for-github-codespaces
---
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md
index 7e4d85e0b7..70f431a081 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md
@@ -16,12 +16,11 @@ topics:
- Codespaces
- Set up
- Fundamentals
-product: '{% data reusables.gated-features.codespaces %}'
---
## About dev containers
-Development containers, or dev containers, are Docker containers that are specifically configured to provide a full-featured development environment. Whenever you work in a codespace, you are using a dev container on a virtual machine.
+Development containers, or dev containers, are Docker containers that are specifically configured to provide a fully featured development environment. Whenever you work in a codespace, you are using a dev container on a virtual machine.
You can configure the dev container for a repository so that codespaces created for that repository give you a tailored development environment, complete with all the tools and runtimes you need to work on a specific project. If you don't define a configuration in the repository then {% data variables.product.prodname_github_codespaces %} uses a default configuration, which contains many of the common tools that your team might need for development with your project. For more information, see "[Using the default dev container configuration](#using-the-default-dev-container-configuration)."
@@ -31,11 +30,13 @@ Alternatively, you can add your own custom configuration files. For more informa
You can define a single dev container configuration for a repository, different configurations for different branches, or multiple configurations. When multiple configurations are available, users can choose their preferred configuration when they create a codespace. This is particularly useful for large repositories that contain source code in different programming languages or for different projects. You can create a choice of configurations that allow different teams to work in a codespace that's set up appropriately for the work they are doing.
+When you create a codespace from a template, you might start with one or more dev container configuration files in your workspace. To configure your environment further, you can add or remove settings from these files and rebuild the container to apply the changes to the codespace you're working in. If you publish your codespace to a repository on {% data variables.product.product_name %}, then any codespaces created from that repository will share the configuration you've defined. For more information, see "[Applying configuration changes to a codespace](#applying-configuration-changes-to-a-codespace)" and "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-to-a-remote-repository)."
+
### devcontainer.json
The primary file in a dev container configuration is the `devcontainer.json` file. You can use this file to determine the environment of codespaces created for your repository. The contents of this file define a dev container that can include frameworks, tools, extensions, and port forwarding. The `devcontainer.json` file usually contains a reference to a Dockerfile, which is typically located alongside the `devcontainer.json` file.
-If you don't add a `devcontainer.json` file to your repository, the default dev container configuration is used. For more information, see "[Using the default dev container configuration](#using-the-default-dev-container-configuration)."
+If you create a codespace from a repository without a `devcontainer.json` file, or if you start from {% data variables.product.company_short %}'s blank template, the default dev container configuration is used. For more information, see "[Using the default dev container configuration](#using-the-default-dev-container-configuration)."
The `devcontainer.json` file is usually located in the `.devcontainer` directory of your repository. Alternatively, you can locate it directly in the root of the repository, in which case the file name must begin with a period: `.devcontainer.json`.
@@ -45,7 +46,7 @@ If you want to have a choice of dev container configurations in your repository,
When you have multiple `devcontainer.json` files in your repository, each codespace is created from only one of the configurations. Settings cannot be imported or inherited between `devcontainer.json` files. If a `devcontainer.json` file in a custom subdirectory has dependent files, such as the Dockerfile or scripts that are run by commands in the `devcontainer.json` file, it's recommended that you co-locate these files in the same subdirectory.
-For information about how to choose your preferred dev container configuration when you create a codespace, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+For information about how to choose your preferred dev container configuration when you create a codespace, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
{% data reusables.codespaces.more-info-devcontainer %}
@@ -122,7 +123,7 @@ The default configuration is a good option if you're working on a small project
## Using a predefined dev container configuration
-You can choose from a list of predefined configurations to create a dev container configuration for your repository. These configurations provide common setups for particular project types, and can help you quickly get started with a configuration that already has the appropriate container options, {% data variables.product.prodname_vscode_shortname %} settings, and {% data variables.product.prodname_vscode_shortname %} extensions that should be installed.
+If you use {% data variables.product.prodname_codespaces %} in {% data variables.product.prodname_vscode %}, or in a web browser, you can create a dev container configuration for your repository by choosing from a list of predefined configurations. These configurations provide common setups for particular project types, and can help you quickly get started with a configuration that already has the appropriate container options, {% data variables.product.prodname_vscode %} settings, and {% data variables.product.prodname_vscode %} extensions that should be installed.
Using a predefined configuration is a great idea if you need some additional extensibility. You can also start with a predefined configuration and amend it as needed for your project. For more information about the definitions of predefined dev containers, see the [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src) repository.
@@ -131,41 +132,20 @@ You can add a predefined dev container configuration either while working in a c
{% data reusables.codespaces.command-palette-container %}
1. Click the definition you want to use.
- 
+ 
1. Follow the prompts to customize your definition. For more information on the options to customize your definition, see "[Adding additional features to your `devcontainer.json` file](#adding-additional-features-to-your-devcontainerjson-file)."
1. Click **OK**.
- 
+ 
1. If you are working in a codespace, apply your changes, by clicking **Rebuild now** in the message at the bottom right of the window. For more information about rebuilding your container, see "[Applying changes to your configuration](#applying-configuration-changes-to-a-codespace)."
- 
+ 
### Adding additional features to your `devcontainer.json` file
-{% note %}
-
-**Note:** This feature is in beta and subject to change.
-
-{% endnote %}
-
-You can add features to your predefined container configuration to customize which tools are available and extend the functionality of your workspace without having to create a custom dev container configuration from scratch. For example, you could use a predefined container configuration and add the {% data variables.product.prodname_cli %}. You can make these additional features available for your project by adding the features to your `devcontainer.json` file when you set up your container configuration.
-
-You can add some of the most common features by selecting them when configuring your predefined container. For more information about `features`, see the [`devcontainers/features`](https://github.com/devcontainers/features) repository.
-
-
-1. Access the Command Palette (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "configure". Select **Codespaces: Configure Devcontainer Features**.
-
- 
-
-1. Update your feature selections, then click **OK**.
-
- 
-
-1. To apply the changes, in the bottom right corner of the screen, click **Rebuild now**. For more information about rebuilding your container, see "[Applying changes to your configuration](#applying-configuration-changes-to-a-codespace)."
-
- 
+{% data reusables.codespaces.about-features %} For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=vscode)."
## Creating a custom dev container configuration
@@ -176,19 +156,33 @@ If none of the predefined configurations meets your needs, you can create a cust
{% note %}
- **Note**: You can't locate your `devcontainer.json` files in directories more than one level below `.devcontainer`. For example, a file at `.devcontainer/teamA/devcontainer.json` will work, but `.devcontainer/teamA/testing/devcontainer.json` will not.
+ **Notes**:
+ - You can't locate your `devcontainer.json` files in directories more than one level below `.devcontainer`. For example, a file at `.devcontainer/teamA/devcontainer.json` will work, but `.devcontainer/teamA/testing/devcontainer.json` will not.
+ - {% data reusables.codespaces.configuration-choice-templates %} For more information, see "[Setting up a template repository for {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces)."
{% endnote %}
- If multiple `devcontainer.json` files are found in the repository, they are listed in the codespace creation options page. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+ If multiple `devcontainer.json` files are found in the repository, they are listed in the codespace creation options page. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
- 
+ 
+
+### Adding a `devcontainer.json` file
+
+If you don't already have a `devcontainer.json` file in your repository, you can quickly add one from {% data variables.product.prodname_dotcom_the_website %}.
+1. Navigate to your repository and click the **{% octicon "code" aria-label="The code icon" %} Code** dropdown.
+1. In the **Codespaces** tab, click the ellipsis (**...**), then select **Configure dev container**.
+
+ 
+
+A new `.devcontainer/devcontainer.json` file will open in the editor. The file will contain some initial properties, including a `features` object to which you can add new tools, libraries, or runtimes. For more information, see "[Adding features to a `devcontainer.json` file](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=webui)."
+
+If your repository already contains one or more `devcontainer.json` files, then clicking **Configure dev container** will open the existing `devcontainer.json` file with the highest precedence according to the [specification](https://containers.dev/implementors/spec/#devcontainerjson) on containers.dev.
### Default configuration selection during codespace creation
If `.devcontainer/devcontainer.json` or `.devcontainer.json` exists, it will be the default selection in the list of available configuration files when you create a codespace. If neither file exists, the default dev container configuration will be selected by default.
-
+
### Editing the devcontainer.json file
@@ -202,28 +196,45 @@ The `devcontainer.json` file is written using the JSONC (JSON with comments) for
{% endnote %}
-### Editor settings for {% data variables.product.prodname_vscode_shortname %}
+### Interface settings for {% data variables.product.prodname_vscode_shortname %}
-{% data reusables.codespaces.vscode-settings-order %}
+You can configure the interface settings for {% data variables.product.prodname_vscode_shortname %}, with three scopes: Workspace, Remote [Codespaces], and User. You can view these scopes in the {% data variables.product.prodname_vscode_shortname %} Settings editor.
-You can define default editor settings for {% data variables.product.prodname_vscode_shortname %} in two places.
+
-* Editor settings defined in the `.vscode/settings.json` file in your repository are applied as _Workspace_-scoped settings in the codespace.
-* Editor settings defined in the `settings` key in the `devcontainer.json` file are applied as _Remote [Codespaces]_-scoped settings in the codespace.
+If a setting is defined in multiple scopes, Workspace settings take priority, then Remote [Codespaces], then User.
+
+You can define default interface settings for {% data variables.product.prodname_vscode_shortname %} in two places.
+
+* Interface settings defined in the `.vscode/settings.json` file in your repository are applied as Workspace-scoped settings in the codespace.
+* Interface settings defined in the `settings` key in the `devcontainer.json` file are applied as Remote [Codespaces]-scoped settings in the codespace.
## Applying configuration changes to a codespace
-{% data reusables.codespaces.apply-devcontainer-changes %}
+Changes to a configuration will be applied the next time you create a codespace. However, if you're using a codespace in a web browser, in {% data variables.product.prodname_vscode_shortname %}, or in a JetBrains IDE, you can apply configuration changes to the current codespace by rebuilding the container.
+
+### Rebuilding the dev container in the {% data variables.product.prodname_vscode_shortname %} web client or desktop application
{% data reusables.codespaces.rebuild-command %}
-1. {% data reusables.codespaces.recovery-mode %} Fix the errors in the configuration.
+1. {% data reusables.codespaces.recovery-mode %}
- 
+ 
- To diagnose the error by reviewing the creation logs, click **View creation log**.
- To fix the errors identified in the logs, update your `devcontainer.json` file.
- To apply the changes, rebuild your container.
+### Rebuilding the dev container in a JetBrains IDE
+
+{% data reusables.codespaces.jetbrains-open-codespace-plugin %}
+1. In the {% data variables.product.prodname_github_codespaces %} tool window, click the rebuild icon.
+
+ 
+
+1. Click **Rebuild** when prompted to confirm that you want to rebuild the dev container.
+1. Reopen the codespace in your JetBrains IDE.
+
+
## Further reading
- "[Prebuilding your codespaces](/codespaces/prebuilding-your-codespaces)"
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md
index 9bd36a5a2a..e5659b2dc7 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md
@@ -10,15 +10,16 @@ type: how_to
topics:
- Codespaces
- Set up
-product: '{% data reusables.gated-features.codespaces %}'
---
## Overview
-Each codespace that you create is hosted on a separate virtual machine, and you can usually choose from different types of virtual machines. Each machine type has different resources (processor cores, memory, storage) and, by default, the machine type with the least resources is used. For more information, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)."
+Each codespace that you create is hosted on a separate virtual machine. When you create a codespace from a repository, you can usually choose from different types of virtual machines. Each machine type has different resources (processor cores, memory, storage) and, by default, the machine type with the least resources is used. For more information, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)."
If your project needs a certain level of compute power, you can configure {% data variables.product.prodname_github_codespaces %} so that only machine types that meet these requirements can be used by default, or selected by users. You configure this in a `devcontainer.json` file.
+{% data reusables.codespaces.machine-types-for-unpublished-codespaces %}
+
{% note %}
**Important:** Access to some machine types may be restricted at the organization level. Typically this is done to prevent people choosing higher resourced machines that are billed at a higher rate. If your repository is affected by an organization-level policy for machine types you should make sure you don't set a minimum specification that would leave no available machine types for people to choose. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)."
@@ -40,7 +41,7 @@ If your project needs a certain level of compute power, you can configure {% dat
You can specify any or all of the options: `cpus`, `memory`, and `storage`.
- To check the specifications of the {% data variables.product.prodname_github_codespaces %} machine types that are currently available for your repository, step through the process of creating a codespace until you see the choice of machine types. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+ To check the specifications of the {% data variables.product.prodname_github_codespaces %} machine types that are currently available for your repository, step through the process of creating a codespace until you see the choice of machine types. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."
1. Save the file and commit your changes to the required branch of the repository.
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md
new file mode 100644
index 0000000000..e985569a15
--- /dev/null
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md
@@ -0,0 +1,84 @@
+---
+title: Setting up a template repository for GitHub Codespaces
+shortTitle: Set up a template repo
+intro: 'You can help people get started with a project by setting up a template repository for use with {% data variables.product.prodname_github_codespaces %}.'
+versions:
+ fpt: '*'
+ ghec: '*'
+type: how_to
+topics:
+ - Codespaces
+ - Set up
+---
+
+## Introduction
+
+By setting up a template repository, you can help people get started with your framework, library, or other project in {% data variables.product.prodname_github_codespaces %}. Users will be able to start working with your template files immediately in a cloud-based development environment, without having to worry about cloning your repository or installing tools or other dependencies. With some configuration, you will be able to set users up in a codespace with important files already open for editing, and with an application already running in a preview browser tab within the {% data variables.product.prodname_vscode_shortname %} web editor.
+
+Anyone with read access to your template repository can create a codespace from the repository's page on {% data variables.product.product_name %}. You can turn any existing repository into a template, and you do not have to change any settings to allow users to create a codespace from your template repository. For more information on turning a repository into a template, see "[Creating a template repository](/repositories/creating-and-managing-repositories/creating-a-template-repository)."
+
+You can provide a link in the format `https://github.com/codespaces/new?template_repository=OWNER/TEMPLATE-REPO` to take users directly to a "Create a new codespace" page for your template.
+
+
+
+For example, you could provide this link in a tutorial for getting started with your framework. In your link, replace `OWNER/TEMPLATE-REPO` with the name of your template repository, for example `monalisa/octo-template`.
+
+When someone creates a codespace from your template, the contents of your template repository will be cloned into their codespace. When the user is ready, they will be able to publish their work to a new repository on {% data variables.product.product_name %} belonging to their personal account. Any usage charges for the codespace will be billed to the user who created it. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
+
+## Describe your template
+
+If you don't have one, create a README for your template repository to describe the purpose of your template and how to get started with it. For more information, see "[About READMEs](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)."
+
+A short description of your template is displayed on the "Create a new codespace" page that users land on when they follow the `https://github.com/codespaces/new?template_repository=OWNER/TEMPLATE-REPO` link. This description is taken from the **Description** field that you can set when you create a repository. You can edit this description at any time by navigating to the repository's page and clicking **{% octicon "gear" aria-label="The Settings gear" %}** next to the **About** section on the right of the page.
+
+
+
+## Add starter files
+
+Template repositories typically contain starter files with boilerplate code so users can quickly get started with a library, framework, or other technology.
+
+For guidance on the kinds of files to include, you can look at the starter files included in the official {% data variables.product.company_short %} templates for {% data variables.product.prodname_github_codespaces %}, as follows.
+
+{% data reusables.codespaces.your-codespaces-procedure-step %}
+{% data reusables.codespaces.view-all-templates-step %}
+1. To view the template repository that contains the files for the template, click the name of the template.
+
+ 
+
+## Configure the container image
+
+You can add dev container configuration files to your template repository to customize the development environment for people using your template with {% data variables.product.prodname_github_codespaces %}. You can choose from a list of predefined configuration settings in {% data variables.product.prodname_vscode %}, or you can create a custom configuration by writing your own `devcontainer.json` file. If you don't add configuration files, the default container image will be used. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)" and "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)."
+
+{% note %}
+
+**Note:** {% data reusables.codespaces.configuration-choice-templates %}
+
+{% endnote %}
+
+You should configure your dev container with the tools and customization to give users the best experience with your template. For example, in your `devcontainer.json` file:
+- You can use the `openFiles` property to define a list of files to be opened automatically in the {% data variables.product.prodname_vscode_shortname %} web client when a codespace is created from your template.
+- If your template contains files for a web application, you can make the application run automatically in the user's codespace. You can do this by using the `postAttachCommand` property to run a script that starts the application on a local server as soon as the {% data variables.product.prodname_vscode_shortname %} web client connects to the codespace, and by setting the `onAutoForward` property of a port to `openPreview` to display the application running on that port in a simple browser embedded in the {% data variables.product.prodname_vscode_shortname %} web client.
+
+The following configuration settings for a React template will open the `app.js` file in the user's editor, run `npm start` (defined in a `package.json` file) to start a local server, and forward port `3000` to a preview browser tab in the codespace.
+
+```JSON
+{
+ "postAttachCommand": {
+ "server": "npm start",
+ },
+
+ "portsAttributes": {
+ "3000": {
+ "label": "Application",
+ "onAutoForward": "openPreview"
+ }
+ },
+
+ "customizations": {
+ "codespaces": {
+ "openFiles": ["src/App.js"]
+ }
+ }
+}
+```
+For more information, see "[Automatically opening files in the codespaces for a repository](/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository)" and the [dev containers specification](https://containers.dev/implementors/json_reference/#general-properties) on containers.dev.
\ No newline at end of file
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md
index 1d0c70d64c..43cbbf8871 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md
@@ -2,7 +2,6 @@
title: Setting up your C# (.NET) project for GitHub Codespaces
shortTitle: Setting up your C# (.NET) project
allowTitleToDifferFromFilename: true
-product: '{% data reusables.gated-features.codespaces %}'
intro: 'Get started with your C# (.NET) project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.'
redirect_from:
- /codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project
@@ -17,7 +16,7 @@ hidden: true
## Introduction
-This guide shows you how to set up your C# (.NET) project in {% data variables.product.prodname_github_codespaces %}. It will take you through an example of opening your project in a codespace, and adding and modifying a dev container configuration from a template.
+This guide shows you how to set up your C# (.NET) project {% data reusables.codespaces.setting-up-project-intro %}
### Prerequisites
@@ -26,12 +25,10 @@ This guide shows you how to set up your C# (.NET) project in {% data variables.p
## Step 1: Open your project in a codespace
-1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on main**.
+1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}).

- If you don’t see this option, {% data variables.product.prodname_github_codespaces %} isn't available for your project. See [Access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces) for more information.
-
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including .NET. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
{% data reusables.codespaces.customize-vcpus-and-ram %}
@@ -200,9 +197,9 @@ In the previous section, you used the `postCreateCommand` to install a set of pa
1. Run your application by pressing `F5` or entering `dotnet watch run` in your terminal.
-2. When your project starts, you should see a toast in the bottom right corner with a prompt to connect to the port your project uses.
+2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses.
- 
+ 
## Step 5: Commit your changes
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md
index c5f6b582f0..954d74025b 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md
@@ -3,7 +3,6 @@ title: Setting up your Java project for GitHub Codespaces
allowTitleToDifferFromFilename: true
shortTitle: Setting up with your Java project
intro: 'Get started with your Java project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.'
-product: '{% data reusables.gated-features.codespaces %}'
redirect_from:
- /codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces
versions:
@@ -17,7 +16,7 @@ hidden: true
## Introduction
-This guide shows you how to set up your Java project in {% data variables.product.prodname_github_codespaces %}. It will take you through an example of opening your project in a codespace, and adding and modifying a dev container configuration from a template.
+This guide shows you how to set up your Java project {% data reusables.codespaces.setting-up-project-intro %}
### Prerequisites
@@ -26,12 +25,10 @@ This guide shows you how to set up your Java project in {% data variables.produc
## Step 1: Open your project in a codespace
-1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on main**.
+1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}).

- If you don’t see this option, {% data variables.product.prodname_github_codespaces %} isn't available for your project. See [Access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces) for more information.
-
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Java, nvm, npm, and Yarn. It also includes a set of commonly used tools such as git, wget, rsync, openssh, and nano.
{% data reusables.codespaces.customize-vcpus-and-ram %}
@@ -171,9 +168,9 @@ In the previous section, you used the `postCreateCommand` to install a set of pa
1. Run your application by pressing `F5`.
-2. When your project starts, you should see a toast in the bottom right corner with a prompt to connect to the port your project uses.
+2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses.
- 
+ 
## Step 5: Commit your changes
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md
index 42190cf5be..b46287cc47 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md
@@ -3,7 +3,6 @@ title: Setting up your Node.js project for GitHub Codespaces
allowTitleToDifferFromFilename: true
shortTitle: Setting up your Node.js project
intro: 'Get started with your JavaScript, Node.js, or TypeScript project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -23,7 +22,7 @@ hidden: true
## Introduction
-This guide shows you how to set up your JavaScript, Node.js, or TypeScript project in {% data variables.product.prodname_github_codespaces %}. It will take you through an example of opening your project in a codespace, and adding and modifying a dev container configuration from a template.
+This guide shows you how to set up your JavaScript, Node.js, or TypeScript project {% data reusables.codespaces.setting-up-project-intro %}
### Prerequisites
@@ -32,20 +31,17 @@ This guide shows you how to set up your JavaScript, Node.js, or TypeScript proje
## Step 1: Open your project in a codespace
-1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on main**.
+1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}).

- If you don’t see this option, {% data variables.product.prodname_github_codespaces %} isn't available for your project. See [Access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces) for more information.
-
-
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
{% data reusables.codespaces.customize-vcpus-and-ram %}
## Step 2: Add a dev container configuration to your repository from a template
-The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} will support running Node.js projects like [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node) out of the box. However, we recommend that you configure your own dev container, as this allows you to define any particular tools and scripts your project needs. This will ensure a fully reproducible environment for all GitHub Codespaces users in your repository.
+The default development container, or "dev container," for {% data variables.product.prodname_github_codespaces %} will support running Node.js projects like [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node) out of the box. However, we recommend that you configure your own dev container, as this allows you to define any particular tools and scripts your project needs. This will ensure a fully reproducible environment for all {% data variables.product.prodname_github_codespaces %} users in your repository.
{% data reusables.codespaces.setup-custom-devcontainer %}
@@ -166,9 +162,9 @@ In the previous section, you used the `postCreateCommand` to installing a set of

-2. When your project starts, you should see a toast in the bottom right corner with a prompt to connect to the port your project uses.
+2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses.
- 
+ 
## Step 5: Commit your changes
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md
index fdfe0e57ca..25a83bbff6 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md
@@ -3,7 +3,6 @@ title: Adding a dev container to your repository
shortTitle: Add a dev container to your repository
allowTitleToDifferFromFilename: true
intro: 'Get started with your Node.js, Python, .NET, or Java project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md
index 66c52ad29d..6b6e352488 100644
--- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md
+++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md
@@ -3,7 +3,6 @@ title: Setting up your Python project for GitHub Codespaces
allowTitleToDifferFromFilename: true
shortTitle: Setting up your Python project
intro: 'Get started with your Python project in {% data variables.product.prodname_github_codespaces %} by creating a custom dev container.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -20,7 +19,7 @@ hidden: true
## Introduction
-This guide shows you how to set up your Python project in {% data variables.product.prodname_github_codespaces %}. It will take you through an example of opening your project in a codespace, and adding and modifying a dev container configuration from a template.
+This guide shows you how to set up your Python project {% data reusables.codespaces.setting-up-project-intro %}
### Prerequisites
@@ -29,12 +28,10 @@ This guide shows you how to set up your Python project in {% data variables.prod
## Step 1: Open your project in a codespace
-1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on main**.
+1. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** dropdown menu, and in the **Codespaces** tab, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}).

- If you don’t see this option, {% data variables.product.prodname_github_codespaces %} isn't available for your project. See [Access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces) for more information.
-
When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Node.js, JavaScript, Typescript, nvm, npm, and yarn. It also includes a common set of tools like git, wget, rsync, openssh, and nano.
{% data reusables.codespaces.customize-vcpus-and-ram %}
@@ -192,9 +189,9 @@ In the previous section, you used the `postCreateCommand` to install a set of pa
1. Run your application by pressing `F5` or entering `python -m flask run` in the codespace terminal.
-2. When your project starts, you should see a toast in the bottom right corner with a prompt to connect to the port your project uses.
+2. When your project starts, you should see a "toast" notification message at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, containing a prompt to connect to the port your project uses.
- 
+ 
## Step 5: Commit your changes
diff --git a/content/codespaces/the-githubdev-web-based-editor.md b/content/codespaces/the-githubdev-web-based-editor.md
index 5b85af4092..7d8dbe723a 100644
--- a/content/codespaces/the-githubdev-web-based-editor.md
+++ b/content/codespaces/the-githubdev-web-based-editor.md
@@ -53,14 +53,14 @@ Both the {% data variables.product.prodname_serverless %} and {% data variables.
|-|----------------|---------|
| **Cost** | Free. | Costs for compute and storage. For information on pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#github-codespaces-pricing)."|
| **Availability** | Available to everyone on GitHub.com. | Available for organizations using GitHub Team or GitHub Enterprise Cloud. |
-| **Start up** | The {% data variables.product.prodname_serverless %} opens instantly with a key-press and you can start using it right away, without having to wait for additional configuration or installation. | When you create or resume a codespace, the codespace is assigned a VM and the container is configured based on the contents of a `devcontainer.json` file. This set up may take a few minutes to create the environment. For more information, see "[Creating a Codespace](/codespaces/developing-in-codespaces/creating-a-codespace)." |
+| **Start up** | The {% data variables.product.prodname_serverless %} opens instantly with a key-press and you can start using it right away, without having to wait for additional configuration or installation. | When you create or resume a codespace, the codespace is assigned a VM and the container is configured based on the contents of a `devcontainer.json` file. This set up may take a few minutes to create the environment. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)." |
| **Compute** | There is no associated compute, so you won’t be able to build and run your code or use the integrated terminal. | With {% data variables.product.prodname_github_codespaces %}, you get the power of dedicated VM on which you can run and debug your application.|
| **Terminal access** | None. | {% data variables.product.prodname_github_codespaces %} provides a common set of tools by default, meaning that you can use the Terminal exactly as you would in your local environment.|
| **Extensions** | Only a subset of extensions that can run in the web will appear in the Extensions View and can be installed. For more information, see "[Using extensions](#using-extensions)."| With {% data variables.product.prodname_github_codespaces %}, you can use most extensions from the {% data variables.product.prodname_vscode_marketplace %}.|
### Continue working on {% data variables.product.prodname_codespaces %}
-You can start your workflow in the {% data variables.product.prodname_serverless %} and continue working on a codespace, provided you have [access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces). If you try to access the Run and Debug View or the Terminal, you'll be notified that they are not available in the {% data variables.product.prodname_serverless %}.
+You can start your workflow in the {% data variables.product.prodname_serverless %} and continue working on a codespace, provided you have [access to {% data variables.product.prodname_github_codespaces %}](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces). If you try to access the Run and Debug View or the Terminal, you'll be notified that they are not available in the {% data variables.product.prodname_serverless %}.
To continue your work in a codespace, click **Continue Working on…** and select **Create New Codespace** to create a codespace on your current branch. Before you choose this option, you must commit any changes.
diff --git a/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md b/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md
index c17e6ae342..d8f3a8ecd5 100644
--- a/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md
+++ b/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md
@@ -1,7 +1,6 @@
---
title: Exporting changes to a branch
intro: This article provides steps for exporting your codespace changes to a branch.
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -13,15 +12,15 @@ shortTitle: Exporting changes
## Exporting changes to a branch
-While using {% data variables.product.prodname_github_codespaces %}, you may want to export your changes to a branch without launching your codespace.
+While using {% data variables.product.prodname_github_codespaces %}, you may want to export your changes to a branch without launching your codespace. This can be useful when you have hit a [spending limit](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) or have a general issue accessing your codespace.
-This can be useful when you have hit a [spending limit](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) or have a general issue accessing your codespace.
+If your codespace is unpublished (created from a template and not associated with a repository on {% data variables.product.product_name %}), then you won't be able to export changes to a branch, but you can publish the codespace to a new repository without launching the codespace. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-from-githubcom)."
-To export your changes:
+To export your changes to a branch:
{% data reusables.codespaces.your-codespaces-procedure-step %} Or, for an individual repository, click the **{% octicon "code" aria-label="The code icon" %} Code** menu.
1. Click the ellipsis (**...**) to the right of the codespace you want to export from.
-1. Select **{% octicon "git-branch" aria-label="The git branch icon" %} Export changes to branch**.
+2. Select **{% octicon "git-branch" aria-label="The git branch icon" %} Export changes to branch**.

diff --git a/content/codespaces/troubleshooting/github-codespaces-logs.md b/content/codespaces/troubleshooting/github-codespaces-logs.md
index e284ac853a..e5acb48518 100644
--- a/content/codespaces/troubleshooting/github-codespaces-logs.md
+++ b/content/codespaces/troubleshooting/github-codespaces-logs.md
@@ -1,7 +1,6 @@
---
title: GitHub Codespaces logs
-intro: 'Overview of the logging locations used by {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
+intro: 'Overview of the logs used by {% data variables.product.prodname_github_codespaces %}.'
versions:
fpt: '*'
ghec: '*'
@@ -14,19 +13,55 @@ redirect_from:
- /codespaces/troubleshooting/codespaces-logs
---
+{% jetbrains %}
-Information on {% data variables.product.prodname_github_codespaces %} is output to three different logs:
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
+
+Information on {% data variables.product.prodname_github_codespaces %} is output to various logs:
+
+{% webui %}
- Codespace logs
- Creation logs
-- Extension logs ({% data variables.product.prodname_vscode %} desktop) or Browser console logs ({% data variables.product.prodname_vscode %} in the web)
+- Browser console logs (for the {% data variables.product.prodname_vscode_shortname %} web client)
-## Codespace logs
+Extension logs are available if you are using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode_shortname %}. Click the "{% data variables.product.prodname_vscode %}" tab above for details.
-These logs contain detailed information about the codespace, the container, the session, and the {% data variables.product.prodname_vscode %} environment. They are useful for diagnosing connection issues and other unexpected behavior. For example, the codespace freezes but the "Reload Windows" option unfreezes it for a few minutes, or you are randomly disconnected from the codespace but able to reconnect immediately.
+{% endwebui %}
+
+{% vscode %}
+
+- Codespace logs
+- Creation logs
+- Extension logs (for the {% data variables.product.prodname_vscode_shortname %} desktop application)
+
+Browser logs are available if you are using {% data variables.product.prodname_github_codespaces %} in your browser. Click the "Web browser" tab above for details.
+
+{% endvscode %}
+
+{% cli %}
+
+- Codespace logs
+- Creation logs
+
+Other logs are available if you are using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode_shortname %} or in your web browser. Click the tabs above for details.
+
+{% endcli %}
+
+{% jetbrains %}
+
+- Creation logs
+
+Other logs are available if you are using {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_vscode_shortname %} or in your web browser. Click the tabs above for details.
+
+{% endjetbrains %}
{% webui %}
+{% data reusables.codespaces.codespace-logs %}
+
1. If you are using {% data variables.product.prodname_github_codespaces %} in the browser, ensure that you are connected to the codespace you want to debug.
1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs.
1. Define where to save the zip archive of logs then click **Save** (desktop) or click **OK** (web).
@@ -36,6 +71,8 @@ These logs contain detailed information about the codespace, the container, the
{% vscode %}
+{% data reusables.codespaces.codespace-logs %}
+
1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs.
1. Define where to save the zip archive of logs then click **Save** (desktop) or click **OK** (web).
@@ -43,7 +80,9 @@ These logs contain detailed information about the codespace, the container, the
{% cli %}
-Currently you can't use {% data variables.product.prodname_cli %} to access these logs. To access them, open your codespace in {% data variables.product.prodname_vscode %} or in a browser.
+{% data reusables.codespaces.codespace-logs %}
+
+Currently you can't use {% data variables.product.prodname_cli %} to access these logs. To access them, open your codespace in {% data variables.product.prodname_vscode_shortname %} or in a browser.
{% endcli %}
@@ -51,7 +90,6 @@ Currently you can't use {% data variables.product.prodname_cli %} to access thes
These logs contain information about the container, dev container, and their configuration. They are useful for debugging configuration and setup problems.
-
{% webui %}
1. Connect to the codespace you want to debug.
@@ -89,20 +127,46 @@ gh codespace logs -c > /path/to/logs.txt
{% endcli %}
+{% vscode %}
+
## Extension logs
-These logs are available for {% data variables.product.prodname_vscode %} desktop users only. They are useful if it seems like the {% data variables.product.prodname_github_codespaces %} extension or {% data variables.product.prodname_vscode %} editor are having issues that prevent creation or connection.
+These logs are available for {% data variables.product.prodname_vscode_shortname %} desktop users only. They are useful if it seems like the {% data variables.product.prodname_github_codespaces %} extension or {% data variables.product.prodname_vscode_shortname %} editor are having issues that prevent creation or connection.
-1. In {% data variables.product.prodname_vscode %}, open the Command Palette.
+1. In {% data variables.product.prodname_vscode_shortname %}, open the Command Palette.
1. Type **Logs** and select **Developer: Open Extension Logs Folder** from the list to open the extension log folder in your system's file explorer.
-From this view, you can access logs generated by the various extensions that you use in {% data variables.product.prodname_vscode %}. You will see logs for GitHub Codespaces, GitHub Authentication, and Git, in addition to any other extensions you have enabled.
+From this view, you can access logs generated by the various extensions that you use in {% data variables.product.prodname_vscode_shortname %}. You will see logs for {% data variables.product.prodname_github_codespaces %}, {% data variables.product.prodname_dotcom %} Authentication, and Git, in addition to any other extensions you have enabled.
+
+{% endvscode %}
+
+{% webui %}
## Browser console logs
These logs are useful only if you want to debug problems with using {% data variables.product.prodname_github_codespaces %} in the browser. They are useful for debugging problems creating and connecting to {% data variables.product.prodname_github_codespaces %}.
1. In the browser window for the codespace you want to debug, open the developer tools window.
-1. Display the "Console" tab and click **errors** in the left side bar to show only the errors.
+1. Display the "Console" tab and click **errors** in the left sidebar to show only the errors.
1. In the log area on the right, right-click and select **Save as** to save a copy of the errors to your local machine.

+
+{% endwebui %}
+
+{% jetbrains %}
+
+{% data reusables.codespaces.jetbrains-open-codespace-plugin %}
+1. In the {% data variables.product.prodname_github_codespaces %} tool window, click the log icon.
+
+ 
+
+## JetBrains logs
+
+You can download logs for the remote JetBrains IDE and the local client application by going to the **Help** menu in the JetBrains client application and clicking **Collect Host and Client Logs**.
+
+{% endjetbrains %}
+
+## Further reading
+
+- "[Reviewing your organization's audit logs for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces)"
+- "[Reviewing your security logs for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces)"
\ No newline at end of file
diff --git a/content/codespaces/troubleshooting/index.md b/content/codespaces/troubleshooting/index.md
index 5b89ed78db..2aeca351eb 100644
--- a/content/codespaces/troubleshooting/index.md
+++ b/content/codespaces/troubleshooting/index.md
@@ -1,7 +1,6 @@
---
title: Troubleshooting GitHub Codespaces
shortTitle: Troubleshooting
-product: '{% data reusables.gated-features.codespaces %}'
intro: 'These guides provide information for troubleshooting {% data variables.product.prodname_github_codespaces %}'
versions:
fpt: '*'
@@ -19,7 +18,7 @@ children:
- /troubleshooting-prebuilds
- /troubleshooting-dotfiles-for-codespaces
- /troubleshooting-port-forwarding-for-github-codespaces
- - /troubleshooting-codespaces-clients
+ - /troubleshooting-github-codespaces-clients
- /working-with-support-for-github-codespaces
---
diff --git a/content/codespaces/troubleshooting/troubleshooting-codespaces-clients.md b/content/codespaces/troubleshooting/troubleshooting-codespaces-clients.md
deleted file mode 100644
index 622668a4b2..0000000000
--- a/content/codespaces/troubleshooting/troubleshooting-codespaces-clients.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Troubleshooting GitHub Codespaces clients
-allowTitleToDifferFromFilename: true
-intro: 'You can use {% data variables.product.prodname_github_codespaces %} in your browser or through {% data variables.product.prodname_vscode %}. This article provides troubleshooting steps for common client issues.'
-product: '{% data reusables.gated-features.codespaces %}'
-versions:
- fpt: '*'
- ghec: '*'
-type: reference
-topics:
- - Codespaces
-shortTitle: Codespaces clients
----
-
-## {% data variables.product.prodname_vscode %} troubleshooting
-
-When you connect a desktop version of {% data variables.product.prodname_vscode %} to a codespace, you will notice few differences compared with working in a normal workspace but the experience will be fairly similar.
-
-When you open a codespace in your browser using {% data variables.product.prodname_vscode %} in the web, you will notice more differences. For example, some key bindings will be different or missing, and some extensions may behave differently. For a summary, see: "[Known limitations and adaptions](https://code.visualstudio.com/docs/remote/codespaces#_known-limitations-and-adaptations)" in the {% data variables.product.prodname_vscode %} docs.
-
-You can check for known issues and log new issues with the {% data variables.product.prodname_vscode %} experience in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) repository.
-
-### {% data variables.product.prodname_vscode %} Insiders
-
-{% data variables.product.prodname_vscode %} Insiders is the most frequent release of {% data variables.product.prodname_vscode %}. It has all the latest features and bug fixes, but may also occasionally contain new issues that result in a broken build.
-
-If you are using an Insiders build and notice broken behavior, we recommend switching to {% data variables.product.prodname_vscode %} Stable and trying again.
-
-On the desktop version of {% data variables.product.prodname_vscode %}, you can switch to Stable by closing the {% data variables.product.prodname_vscode %} Insiders application, opening the {% data variables.product.prodname_vscode %} Stable application, and re-opening your codespace.
-
-On the web version of {% data variables.product.prodname_vscode %}, you can click {% octicon "gear" aria-label="The manage icon" %} in the bottom left of the editor and select **Switch to Stable Version...**. If the web version doesn't load or the {% octicon "gear" aria-label="The manage icon" %} icon isn't available, you can force switching to {% data variables.product.prodname_vscode %} Stable by appending `?vscodeChannel=stable` to your codespace URL and loading the codespace at that URL.
-
-If the problem isn't fixed in {% data variables.product.prodname_vscode %} Stable, please follow the above troubleshooting instructions.
-
-## Browser troubleshooting
-
-If you encounter issues using codespaces in a browser that is not Chromium-based, try switching to a Chromium-based browser, or check for known issues with your browser in the `microsoft/vscode` repository by searching for issues labeled with the name of your browser, such as [`firefox`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+label%3Afirefox) or [`safari`](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Asafari).
-
-If you encounter issues using codespaces in a Chromium-based browser, you can check if you're experiencing another known issue with {% data variables.product.prodname_vscode %} in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues) repository.
diff --git a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md
index e029c962f6..e9c7c4560c 100644
--- a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md
+++ b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md
@@ -1,7 +1,6 @@
---
title: Troubleshooting creation and deletion of codespaces
intro: 'This article provides troubleshooting steps for common issues you may experience when creating or deleting a codespace, including storage and configuration issues.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -14,11 +13,11 @@ shortTitle: Creation and deletion
## Creating codespaces
### No access to create a codespace
-{% data variables.product.prodname_github_codespaces %} is not available for all repositories. If the "Open with Codespaces" button is missing, {% data variables.product.prodname_github_codespaces %} may not be available for that repository. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces)."
+{% data variables.product.prodname_github_codespaces %} is not available for all repositories. If the options for creating a codespace are not displayed, {% data variables.product.prodname_github_codespaces %} may not be available for that repository. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces)."
-You can't create a codespace for a private repository that's owned by an organization, unless you have write access to the repository or the organization has enabled forking for it.
+Provided you have remaining monthly included usage of {% data variables.product.prodname_github_codespaces %} on your personal account, or you have set up a payment method and a spending limit, you will be able to create codespaces for public repositories. However, you can only create a codespace for a private repository if you can push changes to the repository, or you can fork the repository.
-If you believe your organization has [enabled {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#about-enabling-github-codespaces-for-your-organization), make sure that an organization owner or billing manager has set the spending limit for {% data variables.product.prodname_github_codespaces %}. For more information, see "[Managing your spending limit for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
+For more information about included usage for personal accounts, and setting a spending limit, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)" and "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)."
### Codespace does not open when created
@@ -60,13 +59,16 @@ If you create a codespace and the creation fails:

{% endnote %}
-2. If you have a container that takes a long time to build, consider using prebuilds to speed up codespace creations. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+2. If you have a container that takes a long time to build, consider using prebuilds to speed up codespace creations. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
## Deleting codespaces
-The owner of a codespace has full control over it and only they can delete their codespaces. You cannot delete a codespace created by another user.
+A codespace can only be deleted by:
+* The person who created the codespace.
+* An organization owner for an organization-owned codespace.
+* Automatic deletion at the end of a retention period.
-You can delete your codespaces in the browser, in {% data variables.product.prodname_vscode %}, or by using {% data variables.product.prodname_cli %}. {% data variables.product.prodname_cli %} also allows you to bulk delete codespaces. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)."
+For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)" and "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)."
## Container storage
@@ -89,5 +91,6 @@ Some more destructive options:
```
This codespace is currently running in recovery mode due to a container error.
```
+Review the creation logs and update the dev container configuration as needed. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)."
-Review the creation logs, update the dev container configuration as needed, and run **Codespaces: Rebuild Container** in the {% data variables.product.prodname_vscode_command_palette %} to retry. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)" and "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+You can then try restarting the codespace, or rebuilding the container. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
diff --git a/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md
index 476e7fe0ae..592d694593 100644
--- a/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md
+++ b/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md
@@ -2,7 +2,6 @@
title: Troubleshooting dotfiles for GitHub Codespaces
allowTitleToDifferFromFilename: true
intro: Troubleshooting steps for common dotfiles issues.
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md b/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md
new file mode 100644
index 0000000000..8f35f3e91e
--- /dev/null
+++ b/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md
@@ -0,0 +1,113 @@
+---
+title: Troubleshooting GitHub Codespaces clients
+shortTitle: Codespaces clients
+intro: 'This article provides troubleshooting information for issues you may encounter with the client you use for {% data variables.product.prodname_github_codespaces %}.'
+miniTocMaxHeadingLevel: 3
+versions:
+ fpt: '*'
+ ghec: '*'
+type: reference
+topics:
+ - Codespaces
+redirect_from:
+ - /codespaces/troubleshooting/troubleshooting-codespaces-clients
+---
+
+{% jetbrains %}
+
+{% data reusables.codespaces.codespaces-jetbrains-beta-note %}
+
+{% endjetbrains %}
+
+{% webui %}
+
+## Troubleshooting the {% data variables.product.prodname_vscode %} web client
+
+If you encounter issues using {% data variables.product.prodname_github_codespaces %} in a browser that is not Chromium-based, try switching to a Chromium-based browser, such as Google Chrome or Microsoft Edge. Alternatively, check for known issues with your browser in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen) repository by searching for issues labeled with the name of your browser, such as [`firefox`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+label%3Afirefox) or [`safari`](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Asafari).
+
+If you encounter issues using {% data variables.product.prodname_github_codespaces %} in a Chromium-based browser, you can check if you're experiencing another known issue with {% data variables.product.prodname_vscode_shortname %} in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen) repository.
+
+### Differences from working in {% data variables.product.prodname_vscode_shortname %} locally
+
+When you open a codespace in your browser, using the {% data variables.product.prodname_vscode_shortname %} web client, you will notice some differences from working in a local workspace in the {% data variables.product.prodname_vscode_shortname %} desktop application. For example, some key bindings will be different or missing, and some extensions may behave differently. For a summary, see: "[Known limitations and adaptions](https://code.visualstudio.com/docs/remote/codespaces#_known-limitations-and-adaptations)" in the {% data variables.product.prodname_vscode_shortname %} docs.
+
+You can check for known issues and log new issues with the {% data variables.product.prodname_vscode_shortname %} experience in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) repository.
+
+### {% data variables.product.prodname_vscode %} Insiders
+
+{% data variables.product.prodname_vscode %} Insiders is the most frequent release of {% data variables.product.prodname_vscode_shortname %}. It has all the latest features and bug fixes, but may also occasionally contain new issues that result in a broken build.
+
+If you are using an Insiders build and notice broken behavior, we recommend switching to {% data variables.product.prodname_vscode %} Stable and trying again.
+
+Click {% octicon "gear" aria-label="The manage icon" %} in the bottom left of the editor and select **Switch to Stable Version...**. If the {% data variables.product.prodname_vscode_shortname %} web client doesn't load, or the {% octicon "gear" aria-label="The manage icon" %} icon isn't available, you can force switching to {% data variables.product.prodname_vscode %} Stable by appending `?vscodeChannel=stable` to your codespace URL and loading the codespace at that URL.
+
+If the problem isn't fixed in {% data variables.product.prodname_vscode %} Stable, check for known issues and, if required, log a new issue with the {% data variables.product.prodname_vscode_shortname %} experience, in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) repository.
+
+{% endwebui %}
+
+{% vscode %}
+
+## {% data variables.product.prodname_vscode_shortname %} troubleshooting
+
+When you open a codespace in the {% data variables.product.prodname_vscode_shortname %} desktop application, you may notice a few differences compared with working in a local workspace, but the experience should be similar.
+
+If you encounter problems, you can check for known issues and log new issues with the {% data variables.product.prodname_vscode_shortname %} experience in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) repository.
+
+### {% data variables.product.prodname_vscode %} Insiders
+
+{% data variables.product.prodname_vscode %} Insiders is the most frequent release of {% data variables.product.prodname_vscode_shortname %}. It has all the latest features and bug fixes, but may also occasionally contain new issues that result in a broken build.
+
+If you are using an Insiders build and notice broken behavior, we recommend switching to {% data variables.product.prodname_vscode %} Stable and trying again.
+
+To switch to {% data variables.product.prodname_vscode %} Stable, close the {% data variables.product.prodname_vscode %} Insiders application, open the {% data variables.product.prodname_vscode %} Stable application, and re-open your codespace.
+
+If the problem isn't fixed in {% data variables.product.prodname_vscode %} Stable, check for known issues and, if required, log a new issue with the {% data variables.product.prodname_vscode_shortname %} experience, in the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) repository.
+
+{% endvscode %}
+
+{% jetbrains %}
+
+## Troubleshooting JetBrains IDEs
+
+### Performance issues
+
+A {% data variables.product.prodname_github_codespaces %} machine type with at least 4 cores is recommended for running any of the JetBrains IDEs. For more information, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)."
+
+If you are using a machine with 4 or more cores and the performance you are experiencing in JetBrains feels a little sluggish, you may need to increase the maximum Java heap size.
+
+We recommend setting the maximum heap size to somewhere between 2862 MiB (3 GB) and 60% of the remote host's RAM.
+
+The following provides some guidance as an initial starting point, which you can adjust based on the size of the codebase and the memory needed to run your application. For example, if you have a large or complicated codebase you may need to increase the heap size further. If you have a larger application, you can set a lower heap size to allow the application more memory.
+
+| Machine type | Maximum heap size |
+| -------------- | ----------------- |
+| 4 core | 3 GB |
+| 8 core | 4 GB |
+| 16 or 32 cores | 8 GB |
+
+1. On the left of the navigation bar, at the top of the application window, click the name of the codespace.
+
+ 
+
+1. In the Performance tab, note the CPU Load and Memory details. These will indicate whether the machine is overloaded.
+
+ 
+
+1. Click the Settings tab and edit the heap size, increasing it to no more than 60% of the available memory for your codespace.
+
+ 
+
+1. Click **Save and restart**.
+
+### SSH connection issues
+
+To connect via the SSH server running in your codespace, you must have an SSH key in your `~/.ssh` directory (MacOS and Linux) or `%HOMEPATH%\.ssh` directory (Windows) that has already been added to your {% data variables.product.prodname_dotcom %} account. If you do not have any keys in this directory, {% data variables.product.prodname_cli %} will generate keys for you. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account?platform=windows&tool=webui)."
+
+If you encounter problems with key validation, try upgrading your version of {% data variables.product.prodname_cli %}. For information, see the [upgrade instructions](https://github.com/cli/cli#installation) in the README for {% data variables.product.prodname_cli %}.
+
+### JetBrains IDE issues
+
+For help with issues specific to the JetBrains IDE you are using, or the JetBrains Gateway application, see "[Product Support](https://www.jetbrains.com/support/)" on the JetBrains website.
+
+{% endjetbrains %}
+
diff --git a/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md
index 882d706aba..2264e6432e 100644
--- a/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md
+++ b/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md
@@ -1,7 +1,6 @@
---
title: Troubleshooting port forwarding for GitHub Codespaces
intro: Troubleshooting steps for common port forwarding issues.
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -19,7 +18,7 @@ If a port is not automatically forwarded, you can forward it manually. For more
If port forwarding is set up, check the following:
-- Use the notification toast or click the URL in Terminal to open the forwarded port. Typing in `localhost:8000` (as an example) to your local machine will not work if you're connected to the codespace via the browser.
+- Use the link in the notification "toast" message, that pops up in the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, or click the URL in Terminal, to open the forwarded port. Typing in `localhost:8000` (as an example) to your local machine will not work if you're connected to the codespace via the browser.
- Make sure to check that your application is still running from within your codespace. If your codespace has stopped after a period of inactivity, you'll need to ensure to restart your application once the codespace has restarted.
Typically, you can make a forwarded port accessible publicly, or within the organization that owns a repository. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." If either, or both, of the options for public or organization visibility are not available, this indicates that an organization-level policy has been configured. For more information, see "[Restricting the visibility of forwarded ports](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)."
diff --git a/content/codespaces/troubleshooting/troubleshooting-prebuilds.md b/content/codespaces/troubleshooting/troubleshooting-prebuilds.md
index 45f62d023a..25a547449e 100644
--- a/content/codespaces/troubleshooting/troubleshooting-prebuilds.md
+++ b/content/codespaces/troubleshooting/troubleshooting-prebuilds.md
@@ -8,7 +8,6 @@ versions:
type: reference
topics:
- Codespaces
-product: '{% data reusables.gated-features.codespaces %}'
miniTocMaxHeadingLevel: 3
---
@@ -44,7 +43,7 @@ cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME
You may notice that sometimes, when you create a new codespace from a prebuild-enabled branch, the "{% octicon "zap" aria-label="The zap icon" %} Prebuild Ready" label is not displayed in the dialog box for choosing a machine type. This means that prebuilds are not currently available.
-By default, each time you push to a prebuild-enabled branch, the prebuild is updated. If the push involves a change to the dev container configuration then, while the update is in progress, the "{% octicon "zap" aria-label="The zap icon" %} Prebuild Ready" label is removed from the list of machine types. During this time you can still create codespaces without a prebuild. If required, you can reduce the occasions on which prebuilds are unavailable for a repository by setting the prebuild to be updated only when you make a change to your dev container configuration files, or only on a custom schedule. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
+By default, each time you push to a prebuild-enabled branch, the prebuild is updated. If the push involves a change to the dev container configuration then, while the update is in progress, the "{% octicon "zap" aria-label="The zap icon" %} Prebuild Ready" label is removed from the list of machine types. During this time you can still create codespaces without a prebuild. If required, you can reduce the occasions on which prebuilds are unavailable for a repository by setting the prebuild to be updated only when you make a change to your dev container configuration files, or only on a custom schedule. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds)."
If your branch is not specifically enabled for prebuilds it may still benefit from prebuilds if it was branched from a prebuild-enabled branch. However, if the dev container configuration is changed on your branch, so that it's not the same as the configuration on the base branch, prebuilds will no longer be available on your branch.
@@ -61,6 +60,12 @@ If the `devcontainer.json` configuration file for a prebuild configuration speci
## Troubleshooting failed workflow runs for prebuilds
+### Increasing the {% data variables.product.prodname_actions %} spending limit
+
+Prebuilds are created and updated using {% data variables.product.prodname_actions %}. Your prebuild workflows will fail if you have used all of your {% data variables.product.prodname_actions %} minutes and have reached your spending limit. If this occurs you can increase your {% data variables.product.prodname_actions %} spending limit to allow the workflows to run. For more information, see "[Managing your spending limit for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)."
+
+### Authorizing access permissions
+
If the `devcontainer.json` configuration file for a prebuild configuration is updated to specify that permissions for access to other repositories are required, and a repository administrator has not been prompted to authorize these permissions for the prebuild configuration, then the prebuild workflow may fail. Try updating the prebuild configuration, without making any changes. If, when you click **Update**, the authorization page is displayed, check that the requested permissions are appropriate and, if so, authorize the request. For more information, see "[Managing prebuilds](/codespaces/prebuilding-your-codespaces/managing-prebuilds#editing-a-prebuild-configuration)" and "[Managing access to other repositories within your codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces#setting-additional-repository-permissions)."
If the workflow runs for a prebuild configuration are failing, you can temporarily disable the prebuild configuration while you investigate. For more information, see "[Managing prebuilds](/codespaces/prebuilding-your-codespaces/managing-prebuilds#disabling-a-prebuild-configuration)."
diff --git a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md
index b487cb84c9..c403cf9f6c 100644
--- a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md
+++ b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md
@@ -1,7 +1,6 @@
---
title: Troubleshooting your connection to GitHub Codespaces
intro: 'Troubleshooting help for connecting to {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -31,6 +30,16 @@ Your company network may be blocking the connection. If possible, check any logg
If you still cannot connect, {% data reusables.codespaces.contact-support %}
+## Unable to connect to your codespace in JupyterLab
+
+To be able to use a codespace in JupyterLab, you must ensure that your codespace has it installed. The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes JupyterLab, but if you have customized your dev container configuration you will have to manually install JupyterLab.
+
+If your codespace uses a Debian-based image, you can install JupyterLab in the dev container by adding the `python` feature to your `devcontainer.json` file, with the `installJupyterlab` option set to `true`. Otherwise, install it directly in your Dockerfile. For installation instructions, see "[Installation](https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)" in the JupyterLab documentation.
+
+For more information about the `python` feature, see the README page in the [`devcontainers/features` repository](https://github.com/devcontainers/features/tree/main/src/python). For more information about the `devcontainer.json` file and the Dockerfile, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)."
+
+If you still cannot connect, {% data reusables.codespaces.contact-support %}
+
## {% data variables.product.prodname_github_codespaces %} extension for {% data variables.product.prodname_vscode %} cannot connect
If you cannot connect to a codespace from {% data variables.product.prodname_vscode %} desktop, use the following troubleshooting steps.
diff --git a/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md
index 8f967156cf..c75eb6ab59 100644
--- a/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md
+++ b/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md
@@ -1,7 +1,6 @@
---
title: Working with support for GitHub Codespaces
intro: 'Tips on getting the best help from support for {% data variables.product.prodname_github_codespaces %}.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
@@ -13,16 +12,16 @@ redirect_from:
- /codespaces/troubleshooting/working-with-support-for-codespaces
---
-Before support can help you with problems with codespaces, you need to know the name of the codespace and its codespaces ID (identifier). In addition, support may ask you to share some logs with them. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)" and "[About GitHub Support](/github/working-with-github-support/about-github-support)."
+Before support can help you with problems with codespaces, you need to know the permanent name of the codespace and its codespaces ID (identifier). In addition, support may ask you to share some logs with them. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)" and "[About GitHub Support](/github/working-with-github-support/about-github-support)."
## Codespace names
-Each codespace has a unique name that is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. The additional characters allow you to have codespaces for different branches in the same repository. For example: `octocat-myrepo-gmc7`.
+Each codespace has a unique name that is a combination of your {% data variables.product.company_short %} handle, two or three automatically generated words, and some random characters. For example: `octocat-literate-space-parakeet-mld5`. The two or three automatically generated words also form the initial display name of your codespace, in this case, `literate-space-parakeet`. You can change the display name for a codespace, but this will not affect the permanent name. For more information, see "[Renaming a codespace](/codespaces/customizing-your-codespace/renaming-a-codespace)."
To find the name of a codespace:
-- Open the codespace in the browser. The subdomain of the URL is the name of the codespace. For example: `https://octocat-myrepo-gmc7.github.dev` is the URL for the `octocat-myrepo-gmc7` codespace.
-- If you cannot open a codespace, you can access the name in {% data variables.product.product_name %} on https://github.com/codespaces. The name is shown in a pop-up when you hover over the **Open in browser** option on https://github.com/codespaces.
+- Open the codespace in the browser. The subdomain of the URL is the name of the codespace. For example: `https://octocat-literate-space-parakeet-mld5.github.dev` is the URL for the `octocat-literate-space-parakeet-mld5` codespace.
+- If you cannot open a codespace, you can access the name in {% data variables.product.product_name %} on https://github.com/codespaces. The name is shown in a pop-up when you hover over the display name of a codespace on https://github.com/codespaces.

The name the codespace is also included in many of the log files. For example, in the codespace logs as the value of `friendlyName`, in the {% data variables.product.prodname_github_codespaces %} extension log after `making GET request for`, and in the browser console log after `clientUrl`. For more information, see "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)."
diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md
index e8e3df15fd..acf04c777a 100644
--- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md
+++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md
@@ -33,6 +33,15 @@ Once you are a verified {% data variables.product.prodname_global_campus %} stud
- Stay in the know on what the community is interested in by rewatching recent [Campus TV](https://www.twitch.tv/githubeducation) episodes. Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand.
- Discover student-created repositories from GitHub Community Exchange. For more information, see "[About GitHub Community Exchange](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange)."
+A free subscription for {% data variables.product.prodname_copilot %} is available to verified students with {% data variables.product.prodname_education %}. You will be automatically notified about the free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page in your account settings. For more information about subscribing to and using {% data variables.product.prodname_copilot %}, see "[Managing your {% data variables.product.prodname_copilot %} subscription](/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription#setting-up-a-trial-of-github-copilot)" and "[About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot)."
+
+{% data reusables.education.student-codespaces-benefit %} For more information on getting started with {% data variables.product.prodname_github_codespaces %}, see "[{% data variables.product.prodname_github_codespaces %} overview](/codespaces/overview)."
+
+{% note %}
+
+**Note:** {% data reusables.education.note-on-student-codespaces-usage %} For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom)."
+
+{% endnote %}
## Further reading
- "[About {% data variables.product.prodname_global_campus %} for teachers](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers)"
diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md
index f9150a48d7..dc7a203cd0 100644
--- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md
+++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md
@@ -30,6 +30,8 @@ Before applying for an individual discount, check if your learning community is
- Stay in the know on what the student community is interested in by rewatching recent [Campus TV](https://www.twitch.tv/githubeducation) episodes. Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand.
- Request a {% data variables.product.prodname_dotcom %} swag bag with educational materials and goodies for your students.
+A free subscription for {% data variables.product.prodname_copilot %} is available to verified teachers with {% data variables.product.prodname_education %}. You will be automatically notified about the free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page in your account settings. For more information about subscribing to and using {% data variables.product.prodname_copilot %}, see "[Managing your {% data variables.product.prodname_copilot %} subscription](/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription#setting-up-a-trial-of-github-copilot)" and "[About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot)."
+
## Further reading
- "[About {% data variables.product.prodname_global_campus %} for students](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students)"
diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md
index d2d9a09f01..34a57ee0e7 100644
--- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md
+++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md
@@ -11,7 +11,9 @@ permissions: 'Organization owners who are admins for a classroom can enable {% d
{% data variables.product.prodname_github_codespaces %} is an instant, cloud-based development environment that uses a container to provide you with common languages, tools, and utilities for development. {% data variables.product.prodname_github_codespaces %} is also configurable, allowing you to create a customized development environment that is the same for all users of your project. For more information, see "[{% data variables.product.prodname_github_codespaces %} overview](/codespaces/overview)."
-Once {% data variables.product.prodname_github_codespaces %} is enabled in an organization or enterprise, users can create a codespace from any branch or commit in an organization or enterprise repository and begin developing using cloud-based compute resources. You can connect to a codespace from the browser or locally using Visual Studio Code. {% data reusables.codespaces.links-to-get-started %}
+Once {% data variables.product.prodname_github_codespaces %} is enabled in an organization or enterprise, users can create a codespace from any branch or commit in an organization or enterprise repository and begin developing using cloud-based compute resources. You can connect to a codespace from the browser or locally using Visual Studio Code.
+
+{% data reusables.codespaces.links-to-get-started %}
Setting {% data variables.product.prodname_github_codespaces %} as the preferred editor for an assignment in GitHub Classroom assignments, is beneficial for both students and teachers. {% data variables.product.prodname_github_codespaces %} is a good option for students using loaned devices or without access to a local IDE setup, since each codespace is cloud-based and requires no local setup. Students can launch a codespace for an assignment repository in Visual Studio Code directly in their browser, and begin developing right away without needing any further configuration.
@@ -23,6 +25,14 @@ For assignments with complex setup environments, teachers can customize the dev
{% endnote %}
+{% data reusables.education.student-codespaces-benefit %}
+
+{% note %}
+
+**Note:** {% data reusables.education.note-on-student-codespaces-usage %}
+
+{% endnote %}
+
## About the {% data variables.product.prodname_codespaces %} Education benefit for verified teachers
The {% data variables.product.prodname_codespaces %} Education benefit gives verified teachers a free monthly allowance of {% data variables.product.prodname_github_codespaces %} hours to use in {% data variables.product.prodname_classroom %}. The free allowance is estimated to be enough for a class of 50 with 5 assignments per month, on a 2 core machine with 1 codespace stored per student.
@@ -35,7 +45,7 @@ After you have confirmation that you are a verified teacher, visit [{% data vari
If you are eligible for the {% data variables.product.prodname_codespaces %} Education benefit, when you enable {% data variables.product.prodname_github_codespaces %} in {% data variables.product.prodname_classroom %} for your organization, GitHub automatically adds a Codespace policy to restrict machine types for all codespaces in the organization to 2 core machines. This helps you make the most of the free {% data variables.product.prodname_github_codespaces %} usage. However, you can change or remove these policies in your organization settings. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)."
-When the {% data variables.product.prodname_codespaces %} Education benefit moves out of beta, if your organization exceeds their free allowance for {% data variables.product.prodname_github_codespaces %} usage, your organization will be billed for additional usage. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces)."
+When the {% data variables.product.prodname_codespaces %} Education benefit moves out of beta, if your organization exceeds their free allowance for {% data variables.product.prodname_github_codespaces %} usage, your organization will be billed for additional usage. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
## Enabling {% data variables.product.prodname_codespaces %} for your organization
@@ -81,7 +91,7 @@ When a student opens an assignment, the repository's README file includes their

-Students can launch a new or existing codespace by clicking the **Open in GitHub Codespace** button in the README, or by clicking the **{% octicon "code" aria-label="The code icon" %} Code** button on the main page of the assignment repository, then selecting the **Codespaces** tab. From the **Codespaces** tab you can select an existing codespace or create a new one. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
+Students can launch a new or existing codespace by clicking the **Open in GitHub Codespace** button in the README, or by clicking the **{% octicon "code" aria-label="The code icon" %} Code** button on the main page of the assignment repository, then selecting the **Codespaces** tab. From the **Codespaces** tab you can select an existing codespace or create a new one. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)."

@@ -89,4 +99,4 @@ Teachers can view each student's codespace for an assignment in the assignment o

-When you connect to a codespace through a browser, auto-save is enabled automatically. If you want to save changes to the repository, you will need to commit the changes and push them to a remote branch. If you leave your codespace running without interaction for 30 minutes by default, the codespace will timeout and stop running. Your data will be preserved from the last time you made a change. For more information on the lifecycle of a codespace, see "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)."
+When you connect to a codespace through a browser, auto-save is enabled automatically. If you want to save changes to the repository, you will need to commit the changes and push them to a remote branch. If you leave your codespace running without interaction for 30 minutes by default, the codespace will timeout and stop running. Your data will be preserved from the last time you made a change. For more information on the lifecycle of a codespace, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)."
diff --git a/content/get-started/learning-about-github/about-github-advanced-security.md b/content/get-started/learning-about-github/about-github-advanced-security.md
index 7f2ad08c68..fc045c097e 100644
--- a/content/get-started/learning-about-github/about-github-advanced-security.md
+++ b/content/get-started/learning-about-github/about-github-advanced-security.md
@@ -32,7 +32,7 @@ A {% data variables.product.prodname_GH_advanced_security %} license provides th
{% ifversion ghes < 3.7 or ghae %}
-- **Security overview** - Review the security configuration and alerts for an organization and identify the repositories at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."
+- **Security overview** - Review the security configuration and alerts for an organization and identify the repositories at greatest risk. For more information, see "[About security overviews](/code-security/security-overview/about-the-security-overview)."
{% endif %}
{% ifversion fpt or ghec %}
diff --git a/content/get-started/learning-about-github/githubs-products.md b/content/get-started/learning-about-github/githubs-products.md
index b10fee8f2e..6951b466f4 100644
--- a/content/get-started/learning-about-github/githubs-products.md
+++ b/content/get-started/learning-about-github/githubs-products.md
@@ -34,15 +34,19 @@ With {% data variables.product.prodname_free_user %}, your personal account incl
- {% data variables.product.prodname_gcf %}
- {% data variables.product.prodname_dependabot_alerts %}
- Two-factor authentication enforcement
-- 2,000 {% data variables.product.prodname_actions %} minutes
-- 500MB {% data variables.product.prodname_registry %} storage
+- 2,000 {% data variables.product.prodname_actions %} minutes per month
+- 500 MB {% data variables.product.prodname_registry %} storage {% ifversion fpt or ghec%}
+- 120 {% data variables.product.prodname_github_codespaces %} core hours per month
+- 15 GB {% data variables.product.prodname_github_codespaces %} storage per month {% endif %}
## {% data variables.product.prodname_pro %}
In addition to the features available with {% data variables.product.prodname_free_user %} for personal accounts, {% data variables.product.prodname_pro %} includes:
- {% data variables.contact.github_support %} via email
-- 3,000 {% data variables.product.prodname_actions %} minutes
-- 2GB {% data variables.product.prodname_registry %} storage
+- 3,000 {% data variables.product.prodname_actions %} minutes per month
+- 2 GB {% data variables.product.prodname_registry %} storage {% ifversion fpt or ghec%}
+- 180 {% data variables.product.prodname_github_codespaces %} core hours per month
+- 20 GB {% data variables.product.prodname_github_codespaces %} storage per month {% endif %}
- Advanced tools and insights in private repositories:
- Required pull request reviewers
- Multiple pull request reviewers
@@ -61,15 +65,15 @@ In addition to the features available with {% data variables.product.prodname_fr
- {% data variables.product.prodname_gcf %}
- Team discussions
- Team access controls for managing groups
-- 2,000 {% data variables.product.prodname_actions %} minutes
-- 500MB {% data variables.product.prodname_registry %} storage
+- 2,000 {% data variables.product.prodname_actions %} minutes per month
+- 500 MB {% data variables.product.prodname_registry %} storage
## {% data variables.product.prodname_team %}
In addition to the features available with {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %} includes:
- {% data variables.contact.github_support %} via email
-- 3,000 {% data variables.product.prodname_actions %} minutes
-- 2GB {% data variables.product.prodname_registry %} storage
+- 3,000 {% data variables.product.prodname_actions %} minutes per month
+- 2 GB {% data variables.product.prodname_registry %} storage
- Advanced tools and insights in private repositories:
- Required pull request reviewers
- Multiple pull request reviewers
@@ -104,8 +108,8 @@ In addition to the features available with {% data variables.product.prodname_te
{% data variables.product.prodname_ghe_cloud %} also includes:
- {% data variables.contact.enterprise_support %}. For more information, see "{% data variables.product.prodname_ghe_cloud %} support" and "{% data variables.product.prodname_ghe_cloud %} Addendum."
-- 50,000 {% data variables.product.prodname_actions %} minutes
-- 50GB {% data variables.product.prodname_registry %} storage
+- 50,000 {% data variables.product.prodname_actions %} minutes per month
+- 50 GB {% data variables.product.prodname_registry %} storage
- Access control for {% data variables.product.prodname_pages %} sites. For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/enterprise-cloud@latest/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)."
- A service level agreement for 99.9% monthly uptime
- The option to configure your enterprise for {% data variables.product.prodname_emus %}, so you can provision and manage members with your identity provider and restrict your member's contributions to just your enterprise. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)."
diff --git a/content/get-started/using-github/github-command-palette.md b/content/get-started/using-github/github-command-palette.md
index d5a12c7c75..c169b3d97e 100644
--- a/content/get-started/using-github/github-command-palette.md
+++ b/content/get-started/using-github/github-command-palette.md
@@ -174,7 +174,7 @@ Most of these commands are available only on the home page of the repository. If
|`New discussion`|Create a new discussion in the repository. For more information, see "[Creating a new discussion](/discussions/quickstart#creating-a-new-discussion)."|
|`New file`|Create a new file from any page in the repository. For more information, see "[Adding a file to a repository](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)."
|`New issue`|Open a new issue from any page in the repository. For more information, see "[Creating an issue](/issues/tracking-your-work-with-issues/creating-an-issue)."|
-|`Open in new codespace`|Create and open a codespace for this repository. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."|
+|`Open in new codespace`|Create and open a codespace for this repository. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."|
|`Open in github.dev editor`|Open the current repository in the github.dev editor. For more information, see "[Opening the web based editor](/codespaces/the-githubdev-web-based-editor#opening-the-web-based-editor)."|
### File commands
@@ -224,6 +224,6 @@ These commands are available only when you open the command palette from a pull
|`Copy current branch name`| Add the name of the head branch for the pull request to the clipboard.
|`Edit pull request body`|Open the main body of the pull request ready for editing.
|`Edit pull request title`|Open the title of the pull request ready for editing.
-|`Open in new codespace`|Create and open a codespace for the head branch of the pull request. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
+|`Open in new codespace`|Create and open a codespace for the head branch of the pull request. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)."
|`Subscribe`/`unsubscribe`|Opt in or out of notifications for changes to this pull request. For more information, see "[About notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)."
|`Update current branch`|Update the head branch of the pull request with changes from the base branch. This is available only for pull requests that target the default branch of the repository. For more information, see "[About branches](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)."|
diff --git a/content/issues/tracking-your-work-with-issues/about-task-lists.md b/content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md
similarity index 91%
rename from content/issues/tracking-your-work-with-issues/about-task-lists.md
rename to content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md
index c5496d36c4..2b4495efc3 100644
--- a/content/issues/tracking-your-work-with-issues/about-task-lists.md
+++ b/content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md
@@ -6,6 +6,7 @@ redirect_from:
- /articles/about-task-lists
- /github/managing-your-work-on-github/about-task-lists
- /issues/tracking-your-work-with-issues/creating-issues/about-task-lists
+ - /issues/tracking-your-work-with-issues/about-task-lists
versions:
fpt: '*'
ghes: '*'
@@ -16,10 +17,10 @@ topics:
- Issues
---
-{% ifversion fpt or ghec %}
+{% ifversion projects-v2-tasklists %}
{% note %}
-**Note:** Improved task lists are currently in beta and subject to change.
+**Note:** For more information about the new iteration of Tasklists, which is currently in a private beta, see "[About Tasklists](/issues/tracking-your-work-with-issues/about-tasklists)."
{% endnote %}
{% endif %}
@@ -76,5 +77,5 @@ Any issues that are referenced in a task list specify that they are tracked by t
## Further reading
-* "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax)"{% ifversion code-scanning-task-lists %}
+{% ifversion code-scanning-task-lists %}
* "[Tracking {% data variables.product.prodname_code_scanning %} alerts in issues using task lists](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists)"{% endif %}
diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/index.md b/content/get-started/writing-on-github/working-with-advanced-formatting/index.md
index 71c305824a..498b6b19b7 100644
--- a/content/get-started/writing-on-github/working-with-advanced-formatting/index.md
+++ b/content/get-started/writing-on-github/working-with-advanced-formatting/index.md
@@ -17,6 +17,7 @@ children:
- /writing-mathematical-expressions
- /autolinked-references-and-urls
- /attaching-files
+ - /about-task-lists
- /creating-a-permanent-link-to-a-code-snippet
- /using-keywords-in-issues-and-pull-requests
shortTitle: Work with advanced formatting
diff --git a/content/github-cli/index.md b/content/github-cli/index.md
index 7dcd29be1d..fb275eec4e 100644
--- a/content/github-cli/index.md
+++ b/content/github-cli/index.md
@@ -18,7 +18,7 @@ featuredLinks:
- /github-cli/github-cli/creating-github-cli-extensions
- /github-cli/github-cli/using-github-cli-extensions
- /actions/guides/using-github-cli-in-workflows
- - /codespaces/developing-in-codespaces/using-codespaces-with-github-cli
+ - /codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli
popular:
- /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
- /issues/tracking-your-work-with-issues/creating-an-issue
diff --git a/content/index.md b/content/index.md
index 81723ab0fb..66d534b212 100644
--- a/content/index.md
+++ b/content/index.md
@@ -76,6 +76,7 @@ childGroups:
children:
- code-security
- code-security/supply-chain-security
+ - code-security/security-advisories
- code-security/dependabot
- code-security/code-scanning
- code-security/secret-scanning
diff --git a/content/issues/index.md b/content/issues/index.md
index 63a82341ad..e3068ef3b3 100644
--- a/content/issues/index.md
+++ b/content/issues/index.md
@@ -21,7 +21,7 @@ featuredLinks:
- /issues/tracking-your-work-with-issues/creating-issues/about-issues
- /issues/planning-and-tracking-with-projects/learning-about-projects/about-projects
- /issues/planning-and-tracking-with-projects/creating-projects/creating-a-project
- - /issues/tracking-your-work-with-issues/creating-issues/about-task-lists
+ - /issues/tracking-your-work-with-issues/creating-issues/about-tasklists
- /communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates
- /issues/using-labels-and-milestones-to-track-work/managing-labels
- /github/managing-your-work-on-github/viewing-all-of-your-issues-and-pull-requests
diff --git a/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md b/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md
index 634db6df61..d82b0e91ed 100644
--- a/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md
+++ b/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md
@@ -20,6 +20,8 @@ Using multiple filters will act as a logical AND filter. For example, `label:bug
The same filters are available for charts you create using insights for {% data variables.product.prodname_projects_v2 %}, allowing you to filter the data used to create your charts. For more information, see "[Using insights with projects](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects)."
+When you filter a view and then add an item, the filtered metadata will be applied to added item. For example, if you're filtering by `status:"In progress"` and you add an item, the new item will have its status set to "In progress."
+
## Filtering items
Click {% octicon "filter" aria-label="the filter icon" %} at the top of the table to show the "Filter by keyword or by field" bar. Start typing the field name and value that you want to filter by. As you type, possible values will appear.
diff --git a/content/issues/planning-and-tracking-with-projects/index.md b/content/issues/planning-and-tracking-with-projects/index.md
index 85aefe6a1f..0af7ec0b2f 100644
--- a/content/issues/planning-and-tracking-with-projects/index.md
+++ b/content/issues/planning-and-tracking-with-projects/index.md
@@ -11,7 +11,7 @@ children:
- /learning-about-projects
- /creating-projects
- /managing-items-in-your-project
- - /understanding-field-types
+ - /understanding-fields
- /customizing-views-in-your-project
- /automating-your-project
- /viewing-insights-from-your-project
diff --git a/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md b/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md
index bd1ab27241..2b8dd52bd8 100644
--- a/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md
+++ b/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md
@@ -20,9 +20,9 @@ A project is an adaptable spreadsheet that integrates with your issues and pull
Your projects are built from the issues and pull requests you add, creating direct references between your project and your work. Information is synced automatically to your project as you make changes, updating your views and charts. This integration works both ways, so that when you change information about a pull request or issue in your project, the pull request or issue reflects that information. For example, change an assignee in your project and that change is shown in your issue. You can take this integration even further, group your project by assignee, and make changes to issue assignment by dragging issues into the different groups.
-### Adding metadata to your tasks
+### Adding metadata to your items
-You can use custom fields to add metadata to your tasks and build a richer view of item attributes. You’re not limited to the built-in metadata (assignee, milestone, labels, etc.) that currently exists for issues and pull requests. For example, you can add the following metadata as custom fields:
+You can use custom fields to add metadata to your issues, pull requests, and draft issues and build a richer view of item attributes. You’re not limited to the built-in metadata (assignee, milestone, labels, etc.) that currently exists for issues and pull requests. For example, you can add the following metadata as custom fields:
- A date field to track target ship dates.
- A number field to track the complexity of a task.
@@ -30,6 +30,18 @@ You can use custom fields to add metadata to your tasks and build a richer view
- A text field to add a quick note.
- An iteration field to plan work week-by-week, including support for breaks.
+{% ifversion projects-v2-tasklists %}
+
+### Exploring the relationships between issues
+
+{% data reusables.projects.tasklists-release-stage %}
+
+You can use Tasklists to build hierarchies of issues, dividing your issues into smaller subtasks, and creating new relationships between your issues. For more information, see "[About Tasklists](/issues/tracking-your-work-with-issues/about-tasklists)."
+
+These relationships are displayed on the issue, as well as the Tracked-by and Tracks fields in your projects. You can filter by issues which are tracked by another issue, and you can also group your table views by the Tracked-by field to show all parent issues with a list of their subtasks.
+
+{% endif %}
+
### Viewing your project from different perspectives
Quickly answer your most pressing questions by tailoring your project view to give you the information you need. You can save these views, allowing you to quickly return to them as needed and make them available to your team. Views not only let you scope down the items listed but also offer two different layout options.
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/index.md b/content/issues/planning-and-tracking-with-projects/understanding-field-types/index.md
deleted file mode 100644
index 09b569a5d0..0000000000
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Understanding field types
-shortTitle: Understanding field types
-intro: 'Learn about the different custom field types, how to add custom fields to your project, and how to manage custom fields.'
-versions:
- feature: projects-v2
-topics:
- - Issues
- - Projects
-children:
- - /about-text-and-number-fields
- - /about-date-fields
- - /about-single-select-fields
- - /about-iteration-fields
- - /renaming-fields
- - /deleting-fields
-allowTitleToDifferFromFilename: true
----
-
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md
similarity index 91%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md
index 1e35423db2..e3b04aa073 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md
@@ -8,6 +8,8 @@ versions:
type: tutorial
topics:
- Projects
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields
---
You can filter for date values using the `YYYY-MM-DD` format, for example: `date:2022-07-01`. You can also use operators, such as `>`, `>=`, `<`, `<=`, and `..`. For example, `date:>2022-07-01` and `date:2022-07-01..2022-07-31`. You can also provide `@today` to represent the current day in your filter. For more information, see "[Filtering projects](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects)."
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md
similarity index 98%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md
index e0b22941bd..c350cf901d 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md
@@ -7,6 +7,7 @@ versions:
feature: projects-v2
redirect_from:
- /issues/trying-out-the-new-projects-experience/managing-iterations
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields
type: tutorial
topics:
- Projects
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md
similarity index 94%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md
index 1b2778d43e..c61dc2339d 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md
@@ -8,6 +8,8 @@ versions:
type: tutorial
topics:
- Projects
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields
---
You can filter by your single select fields by specifying the option, for example: `fieldname:option`. You can filter for multiple values by providing a comma-separated list of options, for example: `fieldname:option,option`. For more information, see "[Filtering projects](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects)."
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md
similarity index 93%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md
index f43dab18ff..4539308c2f 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md
@@ -8,6 +8,8 @@ versions:
type: tutorial
topics:
- Projects
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields
---
You can use text fields to include notes or any other freeform text in your project.
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md
new file mode 100644
index 0000000000..837e0db7e9
--- /dev/null
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md
@@ -0,0 +1,51 @@
+---
+title: About Tracks and Tracked-by fields
+shortTitle: About Tracks and Tracked-by fields
+intro: You can view the subtasks of the issues in your projects.
+miniTocMaxHeadingLevel: 3
+versions:
+ feature: projects-v2-tasklists
+type: tutorial
+topics:
+ - Projects
+---
+
+{% data reusables.projects.tasklists-release-stage %}
+
+You can enable the Tracks and Tracked-by fields on your projects to see the relationships between your issues as you add subtasks in Tasklists. For more information about creating issue hierarchies in Tasklists, see "[About Tasklists](/issues/tracking-your-work-with-issues/about-tasklists)."
+
+The Tracked-by field can be used to group items, creating a view that clearly shows the subtasks of each issue and the work required to complete them. For more information, see "[Grouping by field values in table layout](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view#grouping-by-field-values-in-table-layout)."
+
+You can also filter by the Tracked-by field to display only items that are tracked by specific issues. Either start typing "tracked-by" and select an issue from the list or, if you know the repository and issue number, you can type the filter below in full.
+
+```
+tracked-by:"/#"
+```
+
+To use the filter, replace `` with the repository owner, `` with the repository name, and `` with the issue number. For more information, see "[Filtering projects](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects)."
+
+### Enabling the Tracked-by field
+
+You can enable the Tracked-by field to see which issues are tracking an item in your project.
+
+1. In table view, in the rightmost field header, click {% octicon "plus" aria-label="the plus icon" %}.
+
+ 
+
+1. Under "Hidden fields", click **Tracked by**.
+
+ 
+
+
+### Enabling the Tracks field
+
+You can enable the Tracks field to see what other issues an item in your project is tracking.
+
+1. In table view, in the rightmost field header, click {% octicon "plus" aria-label="the plus icon" %}.
+
+ 
+
+1. Under "Hidden fields", click **Tracks**.
+
+ 
+
\ No newline at end of file
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md
similarity index 66%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md
index 74a56d77e7..11773863bb 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md
@@ -1,16 +1,18 @@
---
-title: Deleting fields
-intro: 'Learn how to delete a field from your {% data variables.projects.project_v2 %}.'
+title: Deleting custom fields
+intro: 'Learn how to delete a custom field from your {% data variables.projects.project_v2 %}.'
miniTocMaxHeadingLevel: 3
versions:
feature: projects-v2
type: tutorial
topics:
- Projects
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields
---
{% data reusables.projects.project-settings %}
-1. Click the name of the field you want to delete.
+1. Click the name of the custom field you want to delete.

1. Next to the field's name, click {% octicon "kebab-horizontal" aria-label="The menu icon" %} to open the menu.

diff --git a/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md
new file mode 100644
index 0000000000..6aa03042f0
--- /dev/null
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md
@@ -0,0 +1,22 @@
+---
+title: Understanding fields
+shortTitle: Understanding fields
+intro: 'Learn about the different fields and custom field types, how to add fields to your project, and how to manage custom fields.'
+versions:
+ feature: projects-v2
+topics:
+ - Issues
+ - Projects
+children:
+ - /about-text-and-number-fields
+ - /about-date-fields
+ - /about-single-select-fields
+ - /about-iteration-fields
+ - /about-tracks-and-tracked-by-fields
+ - /renaming-custom-fields
+ - /deleting-custom-fields
+allowTitleToDifferFromFilename: true
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types
+---
+
diff --git a/content/issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields.md b/content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md
similarity index 59%
rename from content/issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields.md
rename to content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md
index aabe770a97..16e6feec32 100644
--- a/content/issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields.md
+++ b/content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md
@@ -1,16 +1,18 @@
---
-title: Renaming fields
-intro: 'Learn about renaming existing fields in your {% data variables.projects.project_v2 %}.'
+title: Renaming custom fields
+intro: 'Learn about renaming existing custom fields in your {% data variables.projects.project_v2 %}.'
miniTocMaxHeadingLevel: 3
versions:
feature: projects-v2
type: tutorial
topics:
- Projects
+redirect_from:
+ - /issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields
---
{% data reusables.projects.project-settings %}
-1. Click the name of the field you want to rename.
+1. Click the name of the custom field you want to rename.

1. Under "Field name", type the new name for the field.

diff --git a/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md b/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md
index ffdc3eb515..aca9a2f146 100644
--- a/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md
+++ b/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md
@@ -25,6 +25,8 @@ allowTitleToDifferFromFilename: true
You can use insights for {% data variables.product.prodname_projects_v2 %} to view, create, and customize charts that use the items added to your project as their source data. You can apply filters to the default chart and also create your own charts. When you create a chart, you set the filters, chart type, the information displayed, and the chart is available to anyone that can view the project. You can generate two types of chart: current charts and historical charts.
+ Insights does track items you have archived or deleted.
+
### About current charts
You can create current charts to visualize your project items. For example, you can create charts to show how many items are assigned to each individual, or how many issues are assigned to each upcoming iteration.
diff --git a/content/issues/tracking-your-work-with-issues/about-tasklists.md b/content/issues/tracking-your-work-with-issues/about-tasklists.md
new file mode 100644
index 0000000000..8463be14f7
--- /dev/null
+++ b/content/issues/tracking-your-work-with-issues/about-tasklists.md
@@ -0,0 +1,141 @@
+---
+title: About Tasklists
+intro: 'You can use Tasklists to divide your issues into smaller subtasks.'
+versions:
+ feature: 'projects-v2-tasklists'
+miniTocMaxHeadingLevel: 3
+redirect_from:
+ - /early-access/issues/about-tasklists
+---
+
+{% data reusables.projects.tasklists-release-stage %}
+
+## About Tasklists
+
+Tasklists add support for hierarchies of issues on {% data variables.product.product_name %}, helping you to keep track of your issues, divide your issues into smaller subtasks, and create new relationships between your issues.
+
+Tasklists build upon the previous iteration of [beta task lists](/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists), retaining the ability to convert items into issues, display the progress of a Tasklist, and create a "tracks/tracked by" relationship between issues.
+
+The issues you add to your Tasklists will be automatically populated to show their assignees and any labels applied.
+
+
+
+### About integration with {% data variables.projects.projects_v2 %}
+
+ Your project's side-panel displays an issue's place in the hierarchy on a breadcrumb menu, allowing you to navigate through the issues included in your Tasklists. You can also add the Tracks and Tracked-by fields to your project views to quickly see the relationships between your issues. For information, see "[About tracks and tracked-by fields](/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields)."
+
+## Creating Tasklists
+
+To create a Tasklist, you can either use the "Add Tasklist" button or edit the issue Markdown.
+
+### Creating a Tasklist using the "Add Tasklist" button
+
+Click the **{% octicon "checklist" aria-label="The checklist icon" %} Add Tasklist** button at the bottom of any issue description that you can edit to create a task list.
+
+
+
+### Creating a Tasklist using Markdown
+
+You can use Markdown in an issue description to create a Tasklist. Create a fenced code block and include `[tasklist]` next to the opening backticks. Preface each item with `- [ ]` and include links to other issues or text. You can optionally include a title as a Markdown header at the top of your list.
+
+````
+```[tasklist]
+### Tasks
+- [ ] https://github.com/octo-org/octo-repo/issues/45
+- [ ] Draft issue title
+```
+````
+
+Your Markdown will be rendered by {% data variables.product.product_name %} as a Tasklist. You can then make changes and add issues and draft issues using the UI. If you edit the issue description, you will be able to modify the Markdown directly or copy the Markdown to duplicate the Tasklist in other issues.
+
+
+
+## Adding issues to a Tasklist
+
+1. At the bottom of your Tasklist, click **Add item to Tasks**.
+
+ 
+
+1. Select the issue to add to your Tasklist.
+
+ * To add a recently updated issue from the repository, click the issue in the dropdown, or use your arrow keys to select it and then press Enter.
+
+ 
+
+ * To search for an issue in the repository, start typing the title of an issue or the issue's number and click on the result, or use your arrow keys to select it and press Enter.
+
+ 
+
+ * To add an issue directly using its URL, paste the URL of an issue and press Enter.
+
+ 
+
+
+## Creating draft issues in a Tasklist
+
+Draft issues are useful to quickly capture ideas that you can later convert into issues. Unlike issues and pull requests that are referenced from your repositories, draft issues exist only in your Tasklist.
+
+1. At the bottom of your Tasklist, click **Add item to Tasks**.
+
+ 
+
+1. Type your draft issue title and press Enter.
+
+ 
+
+
+## Converting draft issues to issues in a Tasklist
+
+You can convert draft issues into issues. Issues are created in the same repository as the Tasklist's parent issue.
+
+1. Next to the draft issue you want to convert, click {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}.
+
+ 
+
+1. In the menu, click **Convert to issue**.
+
+ 
+
+
+## Removing an issue or draft issue from a Tasklist
+
+You can remove issues and draft issues from your Tasklist. Issues removed from a Tasklist are not removed from the repository.
+
+1. Next to the draft issue you want to remove, click {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}.
+
+ 
+
+1. In the menu, click **Remove**.
+
+ 
+
+## Changing the title of a Tasklist
+
+When you create a new Tasklist, the default title is "Tasks." You can modify the title by editing the issue's markdown.
+
+1. In the top-right of the issue body, click {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}.
+
+ 
+
+1. In the menu, click **Edit**.
+
+ 
+
+1. Modify the header in the fenced code block to your new title. For example, change `### Tasks` to `### My new title`.
+
+ 
+
+1. Click **Update comment**.
+
+## Copying a Tasklist
+
+When you copy your Tasklist using the "Copy Markdown" option, {% data variables.product.product_name %} copies Markdown to your clipboard and includes the Issue's name so you can paste the Tasklist outside of GitHub without losing context.
+
+1. In the top-right of your Tasklist, click {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}.
+
+ 
+
+1. In the menu, click **Copy markdown**.
+
+ 
+
\ No newline at end of file
diff --git a/content/issues/tracking-your-work-with-issues/index.md b/content/issues/tracking-your-work-with-issues/index.md
index 5cdea5b80c..2d5015d86e 100644
--- a/content/issues/tracking-your-work-with-issues/index.md
+++ b/content/issues/tracking-your-work-with-issues/index.md
@@ -13,7 +13,7 @@ children:
- /about-issues
- /quickstart
- /creating-an-issue
- - /about-task-lists
+ - /about-tasklists
- /linking-a-pull-request-to-an-issue
- /creating-a-branch-for-an-issue
- /assigning-issues-and-pull-requests-to-other-github-users
diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md
index a611a4299a..d694af738f 100644
--- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md
+++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md
@@ -118,7 +118,7 @@ Some of the features listed below are limited to organizations using {% data var
| Attribute your sponsorships to another organization (see "[Attributing sponsorships to your organization](/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization)" for details ) | **X** | | | | |
| Manage the publication of {% data variables.product.prodname_pages %} sites from repositories in the organization (see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)") | **X** | | | | |
| Manage security and analysis settings (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)") | **X** | | | | **X** |
-| View the security overview for the organization (see "[About the security overview](/code-security/security-overview/about-the-security-overview)") | **X** | | | | **X** |{% ifversion ghec %}
+| View the security overview for the organization (see "[About security overviews](/code-security/security-overview/about-the-security-overview)") | **X** | | | | **X** |{% ifversion ghec %}
| Enable and enforce [SAML single sign-on](/articles/about-identity-and-access-management-with-saml-single-sign-on) | **X** | | | | |
| [Manage a user's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization) | **X** | | | | |
| Manage an organization's SSH certificate authorities (see "[Managing your organization's SSH certificate authorities](/articles/managing-your-organizations-ssh-certificate-authorities)") | **X** | | | | |{% endif %}
@@ -164,7 +164,7 @@ Some of the features listed below are limited to organizations using {% data var
| Can be made a *team maintainer* | **X** | **X** | **X** |
| Transfer repositories | **X** | | |
| Manage security and analysis settings (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)") | **X** | | **X** |{% ifversion ghes %}
-| View the security overview for the organization (see "[About the security overview](/code-security/security-overview/about-the-security-overview)") | **X** | | **X** |{% endif %}{% ifversion ghes %}
+| View the security overview for the organization (see "[About security overviews](/code-security/security-overview/about-the-security-overview)") | **X** | | **X** |{% endif %}{% ifversion ghes %}
| Manage {% data variables.product.prodname_dependabot_security_updates %} (see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)") | **X** | | **X** |{% endif %}
| Manage an organization's SSH certificate authorities (see "[Managing your organization's SSH certificate authorities](/articles/managing-your-organizations-ssh-certificate-authorities)") | **X** | | |
| Create project boards (see "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)") | **X** | **X** | **X** |
diff --git a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md
index 32a3feaa26..0983d49c96 100644
--- a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md
+++ b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md
@@ -55,7 +55,22 @@ Before you submit your review, your line comments are _pending_ and only visible
You can use [{% data variables.product.prodname_github_codespaces %}](/codespaces/overview) to test, run, and review pull requests.
-{% data reusables.codespaces.review-pr %}
+1. Open the pull request in a codespace, as described in "[Opening a pull request](/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests#opening-a-pull-request-in-codespaces)."
+1. In the Activity Bar, click the **GitHub Pull Request** view. This view only appears when you open a pull request in a codespace.
+
+ 
+
+1. To review a specific file, click the **Open File** icon in the Side Bar.
+
+ 
+
+1. To add review comments, click the **+** icon next to the line number. Type your review comment and then click **Start Review**.
+
+ 
+
+1. When you are finished adding review comments, from the Side Bar you can choose to either submit the comments, approve the changes, or request changes.
+
+ 
For more information on reviewing pull requests in {% data variables.product.prodname_github_codespaces %}, see "[Using {% data variables.product.prodname_github_codespaces %} for pull requests](/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests)."
diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md
index a881dd52d4..d167d9caa8 100644
--- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md
+++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md
@@ -23,7 +23,7 @@ Forking a repository is similar to copying a repository, with two major differen
{% ifversion fpt or ghec %}
-If you're a member of a {% data variables.enterprise.prodname_emu_enterprise %}, there are further restrictions on the repositories you can fork. {% data reusables.enterprise-accounts.emu-forks %} For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, there are further restrictions on the repositories you can fork. {% data reusables.enterprise-accounts.emu-forks %} For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
{% endif %}
diff --git a/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md b/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md
index 9bdef7e4d6..a66e99ee9a 100644
--- a/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md
+++ b/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md
@@ -36,12 +36,22 @@ For more information about forks, see "[About forks](/pull-requests/collaboratin
## Creating a repository from a template
{% data reusables.repositories.navigate-to-repo %}
-2. Above the file list, click **Use this template**.
- 
+1. Above the file list, click **Use this template**.
+{% ifversion fpt or ghec %}
+1. Select **Create a new repository**.
+
+ 
+
+ {% note %}
+
+ **Note:** Alternatively, you can open the template in a codespace and publish your work to a new repository later. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)."
+
+ {% endnote %}
+{% endif %}
{% data reusables.repositories.owner-drop-down %}
{% data reusables.repositories.repo-name %}
{% data reusables.repositories.choose-repo-visibility %}
-6. Optionally, to include the directory structure and files from all branches in the template, and not just the default branch, select **Include all branches**.
+1. Optionally, to include the directory structure and files from all branches in the template, and not just the default branch, select **Include all branches**.

{% data reusables.repositories.select-marketplace-apps %}
8. Click **Create repository from template**.
diff --git a/content/repositories/working-with-files/managing-files/index.md b/content/repositories/working-with-files/managing-files/index.md
index be66012523..52c915f056 100644
--- a/content/repositories/working-with-files/managing-files/index.md
+++ b/content/repositories/working-with-files/managing-files/index.md
@@ -20,5 +20,6 @@ children:
- /renaming-a-file
- /deleting-files-in-a-repository
- /customizing-how-changed-files-appear-on-github
+ - /navigating-files-with-the-new-code-view
---
diff --git a/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md b/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md
new file mode 100644
index 0000000000..d3a61a574e
--- /dev/null
+++ b/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md
@@ -0,0 +1,161 @@
+---
+title: Navigating files with the new code view (beta)
+intro: 'With the new code view (beta), you can view your code in context with an easily navigable file tree and integrated symbol search.'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: file-tree-view
+topics:
+ - Repositories
+shortTitle: New code view (beta)
+---
+
+{% note %}
+
+**Note**: {% data reusables.search.code-search-code-view-beta-note %}
+
+{% data reusables.search.code-search-link %}
+
+{% endnote %}
+
+## About the new code view (beta)
+The new code view beta improves navigation with a file tree view, simplifies file editing, introduces a symbols pane for symbol search and navigation, and updates the blame view to maintain file context. The new code view is integrated with a new code search engine and search interface in a limited public beta on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.search.code-search-link %}
+
+To get access to the new code view (beta), along with the new code search, you can sign up for the [waitlist](https://github.com/features/code-search-code-view/signup).
+
+To provide feedback on the new code view beta, see the [discussion forum](https://github.com/orgs/community/discussions/categories/repositories).
+
+## Enabling and disabling the new code search and code view (beta)
+
+{% data reusables.search.enabling-and-disabling-code-search-and-view-beta %}
+
+## Using the file tree view
+The new file tree view is a panel that displays a repository's directories and files within an easily navigable tree. You can move between directories and files quickly and understand the context for each item you view.
+
+1. Select a repository, then click a directory or file within that repository to open the file tree view.
+
+ 
+
+1. To search for a specific directory or file, click the {% octicon "filter" aria-label="The filter icon" %} **Jump to file** search bar, then type the directory or file name and select the directory or file from the results. You can view the file path for a directory or file below each search result.
+
+ 
+
+ - To search within the repository using the {% data variables.product.prodname_dotcom %} search bar, click {% octicon "search" aria-label="The search icon" %}.
+
+ 
+
+1. To switch between branches, select the {% octicon "git-branch" aria-label="The branch icon" %} branch dropdown menu, then click the desired branch from the results. To view all branches for a repository, click **View all branches**.
+
+ 
+
+1. To switch between tags, select {% octicon "git-branch" aria-label="The branch icon" %} branch dropdown menu, click the **Tags** tab, then click the desired tag from the results. To view all tags for a repository, click **View all tags**.
+
+ 
+
+## Working with files
+The new code view also includes updates to the ways in which you work with files. Existing functionality like editing a file, creating or uploading a file, and deleting a file or directory has been streamlined. You now have quick access to editing a file in github.dev or {% data variables.product.prodname_desktop %} and an integrated search-in-file function.
+
+1. Select a repository, then click a file within that repository to open the new code view.
+
+ 
+
+1. To edit a file in the integrated file editor, click {% octicon "pencil" aria-label="The pencil icon" %}.
+
+ 
+
+1. To edit a file on the github.dev {% data variables.product.prodname_serverless %} or {% data variables.product.prodname_desktop %}, select {% octicon "triangle-down" aria-label="The downwards-facing triangle icon" %} next to {% octicon "pencil" aria-label="The pencil icon" %}, then click either **github.dev** or **{% data variables.product.prodname_desktop %}**.
+
+ {% note %}
+
+ **Note:** The github.dev {% data variables.product.prodname_serverless %} is currently in beta preview. You can provide feedback [in our discussions](https://github.com/community/community/discussions/categories/general).
+
+ {% endnote %}
+
+ 
+
+1. To find specific characters within a file, view the raw code of the file by clicking the **Code** button. Next, press Command+F (Mac) or Ctrl+F (Windows/Linux) and type the characters you want to find. You can navigate between results by pressing Return (Mac) or Enter (Windows/Linux), or by clicking {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} and {% octicon "chevron-up" aria-label="The upwards-facing chevron icon" %}.
+
+ {% note %}
+
+ **Note:** To use your browser's default find function, press Command+F (Mac) or Ctrl+F (Windows/Linux) twice. Be aware that your browser's default find function will not be able to search the entirety of a large file, while the search integrated in the new code view will.
+
+ {% endnote %}
+
+ 
+
+1. To add a new file to a specific directory, click that directory, then click {% octicon "plus" aria-label="The plus sign icon" %} **New file**, or click the {% octicon "plus" aria-label="The plus sign icon" %} in the file tree view.
+
+ 
+
+1. To delete a directory or file, navigate to the directory or file and click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} . Then, click **Delete directory** or **Delete file**.
+
+ 
+
+1. To upload a file, navigate to the chosen directory, then click {% octicon "upload" aria-label="The upload icon" %} **Upload files** or drag and drop the file into your browser.
+
+ 
+
+## Using the symbols pane
+You can now quickly view and navigate between symbols such as functions or classes in your code with the symbols pane. You can search for a symbol in a single file, in all files in a repository, or even in all public repositories on {% data variables.product.prodname_dotcom %}.
+
+Symbol search is a feature of the new code search (beta). For more information, see "[Understanding GitHub Code Search (beta) syntax](/search-github/github-code-search/understanding-github-code-search-syntax#symbol-qualifier)."
+
+1. Select a repository, then navigate to a file containing symbols.
+2. To bring up the symbols pane, click {% octicon "code-square" aria-label="The code square icon" %}.
+
+ 
+
+ Alternatively, you can open the symbols pane by clicking an eligible symbol in your file. Clickable symbols are highlighted in yellow when you hover over them.
+
+ 
+
+1. Click the symbol you would like to find from the symbols pane or within the file itself.
+
+ 
+
+ - To search for a symbol in the repository as a whole, click **Search for this symbol in this repository**. To search for a symbol in all repositories on {% data variables.product.prodname_dotcom %}, click **all repositories**.
+
+ 
+
+1. To navigate between references to a symbol, click {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} or {% octicon "chevron-up" aria-label="The upwards-facing chevron icon" %}.
+
+ 
+
+1. To navigate to a specific reference to a symbol, click a result of the symbol search under {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} **In this file**.
+
+ 
+
+1. To exit the search for a specific symbol, click {% octicon "arrow-left" aria-label="The left arrow icon" %} **All Symbols**.
+
+ 
+
+## Using the blame view
+Rather than losing file context when you enter the blame view, you can now use the new code view to quickly toggle between the blame view, the raw code view, and the preview for a file (depending on the file type).
+
+1. Select a repository, then click a file within that repository to open the new code view.
+
+ 
+
+1. To see the revision history of the file, click **Blame**. This view gives you a line-by-line revision history, with the code in a file separated by commit. Each commit lists the author, commit description, and commit date.
+
+ 
+
+ - To see versions of a file before a particular commit, click {% octicon "versions" aria-label="The versions icon" %}.
+
+ 
+
+ - To see more detail about particular commits, click the commit description.
+
+ 
+
+1. To return to the raw code view, click **Code**.
+
+ 
+
+ - If you are viewing a Markdown file, you can also click **Preview** to return to the view with Markdown formatting applied.
+
+ 
+
+## Further reading
+
+- "[Moving a file to a new location](/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location)"
+- "[About GitHub Code Search (beta)](/search-github/github-code-search/about-github-code-search)"
diff --git a/content/repositories/working-with-files/using-files/navigating-code-on-github.md b/content/repositories/working-with-files/using-files/navigating-code-on-github.md
index 2945396ff1..1a8b73aa8a 100644
--- a/content/repositories/working-with-files/using-files/navigating-code-on-github.md
+++ b/content/repositories/working-with-files/using-files/navigating-code-on-github.md
@@ -67,6 +67,12 @@ If you don't see the results you expect from a precise code navigation query, yo
If your precise results appear inaccurate, you can file a support request.
+## Cross-repository precise code navigation
+
+Cross-repo code navigation is available for languages that are supported by precise code navigation and the dependency graph. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." With cross-repo code navigation, you can jump to the definition of functions or variables defined in dependencies imported by your project if that dependency is a repository hosted by {% data variables.product.prodname_dotcom %}. Cross-repo code navigation does not support find-all-references requests at this time.
+
+
+
## Troubleshooting code navigation
If code navigation is enabled for you but you don't see links to the definitions of functions and methods:
diff --git a/content/rest/codespaces/index.md b/content/rest/codespaces/index.md
index f134b12cd6..e525a64ae0 100644
--- a/content/rest/codespaces/index.md
+++ b/content/rest/codespaces/index.md
@@ -1,7 +1,6 @@
---
title: Codespaces
intro: 'The {% data variables.product.prodname_github_codespaces %} API enables you to manage your codespaces using the REST API.'
-product: '{% data reusables.gated-features.codespaces %}'
versions:
fpt: '*'
ghec: '*'
diff --git a/content/rest/codespaces/organizations.md b/content/rest/codespaces/organizations.md
index 73dea8ccd4..d8537378c0 100644
--- a/content/rest/codespaces/organizations.md
+++ b/content/rest/codespaces/organizations.md
@@ -11,8 +11,6 @@ topics:
miniTocMaxHeadingLevel: 3
---
-{% data reusables.codespaces.codespaces-api-beta-note %}
-
## About the Codespaces organizations API
The {% data variables.product.prodname_codespaces %} organizations API enables
diff --git a/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md b/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md
index 503c7cbd7a..86af4520c6 100644
--- a/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md
+++ b/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md
@@ -18,6 +18,15 @@ versions:
topics:
- GitHub search
---
+
+{% ifversion github-code-search %}
+ {% note %}
+
+ **Note:** {% data reusables.search.classic-search-code-search-note %}
+
+ {% endnote %}
+{% endif %}
+
{% data reusables.search.you-can-search-globally %}
- To search globally across all of {% data variables.product.product_name %}, type what you're looking for into the search field at the top of any page, and choose "All {% data variables.product.prodname_dotcom %}" in the search drop-down menu.
diff --git a/content/search-github/github-code-search/about-github-code-search.md b/content/search-github/github-code-search/about-github-code-search.md
new file mode 100644
index 0000000000..48ebcae578
--- /dev/null
+++ b/content/search-github/github-code-search/about-github-code-search.md
@@ -0,0 +1,53 @@
+---
+title: About GitHub Code Search (beta)
+intro: 'You can search, navigate and understand code across GitHub with the new code search (beta).'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: github-code-search
+topics:
+ - GitHub search
+---
+
+{% note %}
+
+**Note:** {% data reusables.search.code-search-code-view-beta-note %}
+
+{% data reusables.search.code-view-link %}
+
+{% endnote %}
+
+## About the new code search (beta)
+
+The new code search (beta) lets you rapidly search, navigate and understand your code, your team's code, and the code of the open source community, all from {% data variables.product.prodname_dotcom_the_website %}. This search engine is designed to be scalable, code-aware, and support searching code across GitHub using regular expressions, boolean operations, specialized qualifiers, and symbol search. For more information on the syntax of the new code search (beta), see "[Understanding GitHub Code Search (beta) syntax](/search-github/github-code-search/understanding-github-code-search-syntax)."
+
+On top of the new code search engine, the code search (beta) includes new features in the search interface on {% data variables.product.prodname_dotcom_the_website %}, such as suggestions, completions, and the ability to save your searches. The new search interface allows you to more quickly and easily find what you are looking for. For more information, see "[Using GitHub Code Search (beta)](/search-github/github-code-search/using-github-code-search)."
+
+{% data reusables.search.non-code-search-explanation %}
+
+The new code search (beta) is tightly integrated with a redesigned code view (beta) on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.search.code-view-link %}
+
+To get access to the new code search (beta), along with the new code view, you can sign up for the [waitlist](https://github.com/features/code-search-code-view/signup).
+
+## Enabling and disabling the new code search and code view (beta)
+
+{% data reusables.search.enabling-and-disabling-code-search-and-view-beta %}
+
+## Limitations
+
+We have indexed many public repositories for the new code search (beta), and continue to index more. Additionally, the private repositories of GitHub users in the beta are indexed and searchable by beta participants that already have access to those private repositories on GitHub.com. However, very large repositories may not be indexed at this time, and not all code is indexed.
+
+The current limitations on indexed code are:
+ - Vendored and generated code is excluded (as determined by [Enry](https://github.com/go-enry/go-enry))
+ - Empty files and files over 350 KiB are excluded
+ - Only UTF-8 encoded files are included
+ - Very large repositories may not be indexed
+
+We currently only support searching for code on the default branch of a repository.
+
+Results for any search with the new code search (beta) are restricted to 100 results (10 pages). Sorting is not supported for code search results at this time. This limitation only applies to searching code with the new code search (beta) and does not apply to other types of searches.
+
+The new code search (beta) supports searching for symbol definitions in code, such as function or class definitions, using the `symbol:` qualifier. However, note that the `symbol:` qualifier only searches for definitions and not references, and not all symbol types or languages are fully supported yet. For a list of what languages are supported, see "[Symbol qualifier](/search-github/github-code-search/understanding-github-code-search-syntax#symbol-qualifier)."
+
+## Feedback and support
+
+You can view and share feedback about the new code search (beta) in our [discussion forum](https://github.com/orgs/community/discussions/categories/code-search-and-navigation).
\ No newline at end of file
diff --git a/content/search-github/github-code-search/index.md b/content/search-github/github-code-search/index.md
new file mode 100644
index 0000000000..74a4aafe11
--- /dev/null
+++ b/content/search-github/github-code-search/index.md
@@ -0,0 +1,21 @@
+---
+title: GitHub Code Search (beta)
+intro: 'You can use a wide range of syntax to search {% data variables.product.product_name %}. You can adjust the scope of your search, build and troubleshoot queries, and narrow down search results with qualifiers.'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: github-code-search
+topics:
+ - GitHub search
+children:
+ - /about-github-code-search
+ - /using-github-code-search
+ - /understanding-github-code-search-syntax
+---
+
+{% note %}
+
+**Note:** {% data reusables.search.code-search-code-view-beta-note %}
+
+{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %}
+
+{% endnote %}
\ No newline at end of file
diff --git a/content/search-github/github-code-search/understanding-github-code-search-syntax.md b/content/search-github/github-code-search/understanding-github-code-search-syntax.md
new file mode 100644
index 0000000000..341419e8c7
--- /dev/null
+++ b/content/search-github/github-code-search/understanding-github-code-search-syntax.md
@@ -0,0 +1,288 @@
+---
+title: Understanding GitHub Code Search (beta) syntax
+intro: 'You can build search queries for the results you want with specialized code qualifiers, regular expressions, and boolean operations.'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: github-code-search
+topics:
+ - GitHub search
+---
+
+{% note %}
+
+**Note:** {% data reusables.search.code-search-code-view-beta-note %}
+
+{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %}
+
+{% endnote %}
+
+## About the new code search (beta) query structure
+
+The search syntax in this article only applies to searching code with the new code search (beta) enabled. {% data reusables.search.non-code-search-explanation %}
+
+Search queries consist of search terms, comprising text you want to search for, and qualifiers, which narrow down the search.
+
+A bare term with no qualifiers will match either the content of a file or the file's path.
+
+For example, the following query:
+
+```
+http-push
+```
+
+The above query will match the file `docs/http-push.txt`, even if it doesn't contain the term `http-push`. It will also match a file called `example.txt` if it contains the term `http-push`.
+
+You can enter multiple terms separated by whitespace to search for documents that satisfy both terms.
+
+For example, the following query:
+
+```
+sparse index
+```
+
+The search results would include all documents containing both the terms `sparse` and `index`, in any order. As examples, it would match a file containing `SparseIndexVector`, a file with the phrase `index for sparse trees`, and even a file named `index.txt` that contains the term `sparse`.
+
+Searching for multiple terms separated by whitespace is the equivalent to the search `hello AND world`. Other boolean operations, such as `hello OR world`, are also supported in the new code search (beta). For more information about boolean operations, see "[Using boolean operations](#using-boolean-operations)."
+
+The new code search (beta) also supports searching for an exact string, including whitespace. For more information, see "[Query for an exact match](#query-for-an-exact-match)."
+
+You can narrow your code search with specialized qualifiers, such as `repo:`, `language:` and `path:`. For more information on the qualifiers you can use in the new code search (beta), see "[Using qualifiers](#using-qualifiers)."
+
+You can also use regular expressions in your searches by surrounding the expression in backslashes. For more information on using regular expressions, see "[Using regular expressions](#using-regular-expressions)."
+
+## Query for an exact match
+
+To search for an exact string, including whitespace, you can surround the string in quotes. For example:
+
+```
+"sparse index"
+```
+
+To search for a phrase containing a quotation mark, you can escape the quotation mark using a backslash. For example, to find the exact string `name = "tensorflow"`, you can search:
+
+```
+"name = \"tensorflow\""
+```
+
+You can also use quoted strings in qualifiers, for example:
+
+```
+path: git language: "protocol buffers"
+```
+
+## Using boolean operations
+
+The new code search (beta) supports boolean expressions. You can use the operators `AND`, `OR`, and `NOT` to combine search terms.
+
+By default, adjacent terms separated by whitespace are equivalent to using the `AND` operator. For example, the search query `sparse index` is the same as `sparse AND index`, meaning that the search results will include all documents containing both the terms `sparse` and `index`, in any order.
+
+To search for documents containing either one term or the other, you can use the `OR` operator. For example, the following query will match documents containing either `sparse` or `index`:
+
+```
+sparse OR index
+```
+
+To exclude files from your search results, you can use the `NOT` operator. For example, to exclude file in the `__testing__` directory, you can search:
+
+```
+"fatal error" NOT path:__testing__
+```
+
+You can use parentheses to express more complicated boolean expressions. For example:
+
+```
+(language:ruby OR language:python) AND NOT path:"/tests/"
+```
+
+## Using qualifiers
+
+You can use specialized keywords to qualify your search.
+- [Repository qualifier](#repository-qualifier)
+- [Organization and user qualifiers](#organization-and-user-qualifiers)
+- [Language qualifier](#language-qualifier)
+- [Path qualifier](#path-qualifier)
+- [Symbol qualifier](#symbol-qualifier)
+- [Content qualifier](#content-qualifier)
+- [Is qualifier](#is-qualifier)
+
+### Repository qualifier
+
+To search within a repository, use the `repo:` qualifier. You must provide the full repository name, including the owner. For example:
+
+```
+repo:github/linguist
+```
+
+To search within a set of repositories, you can combine multiple `repo:` qualifiers with the boolean operator `OR`. For example:
+
+```
+repo:github/linguist OR repo:tree-sitter/tree-sitter
+```
+
+{% note %}
+
+**Note:** The new code search beta does not currently support regular expressions or partial matching for repository names, so you will have to type the entire repository name (including the user prefix) for the `repo:` qualifier to work.
+
+{% endnote %}
+
+### Organization and user qualifiers
+
+To search for files within an organization, use the `org:` qualifier. For example:
+
+```
+org:github
+```
+
+To search for files within a personal account, use the `user:` qualifier. For example:
+
+```
+user:octocat
+```
+
+{% note %}
+
+**Note:** The new code search beta does not currently support regular expressions or partial matching for organization or user names, so you will have to type the entire organization or user name for the qualifier to work.
+
+{% endnote %}
+
+
+### Language qualifier
+
+To narrow down to a specific languages, use the `language:` qualifier. For example:
+
+```
+language: ruby OR language:cpp OR language:csharp
+```
+
+For a complete list of supported language names, see [languages.yaml](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml) in [github/linguist](https://github.com/github/linguist). If your preferred language is not on the list, you can open a pull request to add it.
+
+### Path qualifier
+
+To search within file paths, use the `path:` qualifier. This will match files containing the term anywhere in their file path. For example, to find files containing the term `unit_tests` in their path, use:
+
+```
+path:unit_tests
+```
+ The above query will match both `src/unit_tests/my_test.py` and `src/docs/unit_tests.md` since they both contain `unit_test` somewhere in their path.
+
+ To match only a specific filename (and not part of the path), you could use a regular expression:
+
+ ```
+ path:/(^|\/)README\.md$/
+ ```
+Note that the `.` in the filename is escaped, since `.` has special meaning for regular expressions. For more information about using regular expressions, see "[Using regular expressions](#using-regular-expressions)."
+
+
+
+You can also use some limited glob expressions in the `path:` qualifier.
+
+For example, to search for files with the extension `txt`, you can use:
+
+```
+path:*.txt
+```
+
+To search for JavaScript files within a `src` directory, you could use:
+
+```
+path:src/*.js
+```
+
+- By default, glob expressions are not anchored to the start of the path, so the above expression would still match a path like `app/src/main.js`. But if you prefix the expression with `/`, it will anchor to the start. For example:
+
+ ```
+ path:/src/*.js
+ ```
+- Note that `*` doesn't match the `/` character, so for the above example, all results will be direct descendants of the `src` directory. To match within subdirectories, so that results include deeply nested files such as `/src/app/testing/utils/example.js`, you can use `**`. For example:
+
+ ```
+ path:/src/**/*.js
+ ```
+
+
+You can also use the `?` global character. For example, to match the path `file.aac` or `file.abc`, you can use:
+
+```
+path:*.a?c
+```
+
+To search for a filename which contains a special character like `*` or `?`, just use a quoted string:
+
+```
+path:"file?"
+```
+
+Since glob expressions are disabled for quoted strings, so the above query will only match paths containing the literal string `file?`.
+
+### Symbol qualifier
+
+You can search for symbol definitions in code, such as function or class definitions, using the `symbol:` qualifier. Symbol search is based on parsing your code using the open source [Tree-sitter](https://github.com/tree-sitter) parser ecosystem, so no extra setup or build tool integration is required.
+
+For example, to search for a symbol called `WithContext`:
+
+```
+language:go symbol:WithContext
+```
+
+In some languages, you can search for symbols using a prefix (e.g. a prefix of their class name). For example, for a method `deleteRows` on a struct `Maint`, you could search `symbol:Maint.deleteRows` if you are using Go, or `symbol:Maint::deleteRows` in Rust.
+
+You can also use regular expressions with the symbol qualifier. For example, the following query would find conversions people have implemented in Rust for the `String` type:
+
+```
+language:rust symbol:/^String::to_.*/
+```
+
+Note that this qualifier only searches for definitions and not references, and not all symbol types or languages are fully supported yet. Symbol extraction is supported for the following languages.
+
+- C#
+- Python
+- Go
+- Java
+- JavaScript
+- TypeScript
+- PHP
+- Protocol Buffers
+- Ruby
+- Rust
+
+We are working on adding support for more languages. If you would like to help contribute to this effort, you can add support for your language in the open source [Tree-sitter](https://github.com/tree-sitter) parser ecosystem, upon which symbol search is based.
+
+### Content qualifier
+
+By default, bare terms search both paths and file content. To restrict a search to strictly match the content of a file and not file paths, use the `content:` qualifier. For example:
+
+```
+content:README.md
+```
+
+This query would only match files containing the term `README.md`, rather than matching files named `README.md`.
+
+### Is qualifier
+
+To filter based on document properties, you can use the `is:` qualifier. At this time, the only value supported in this qualifier is `archived`, which restricts the search to archived repositories. For example:
+
+```
+path:/MIT.txt is:archived
+```
+
+Note that the `is:` qualifier can be inverted with the `NOT` operator. To search for non-archived repositories, you can search:
+
+```
+log4j NOT is:archived
+```
+
+## Using regular expressions
+
+The new code search (beta) supports regular expressions to search for patterns in your code. You can use regular expressions in bare search terms as well as within many qualifiers, by surrounding the regex in backslashes.
+
+For example, to search for the regular expression `sparse.*index`, you would use:
+
+```
+/sparse.*index/
+```
+
+Note that you'll have to escape any forward slashes within the regular expression. For example, to search for files within the `App/src` directory, you would use:
+
+```
+/^App\/src\//
+```
\ No newline at end of file
diff --git a/content/search-github/github-code-search/using-github-code-search.md b/content/search-github/github-code-search/using-github-code-search.md
new file mode 100644
index 0000000000..95397b5567
--- /dev/null
+++ b/content/search-github/github-code-search/using-github-code-search.md
@@ -0,0 +1,76 @@
+---
+title: Using GitHub Code Search (beta)
+intro: 'You can use suggestions, completions and saved searches in the upgraded search interface to quickly find what you are looking for across {% data variables.product.prodname_dotcom_the_website %}.'
+allowTitleToDifferFromFilename: true
+versions:
+ feature: github-code-search
+topics:
+ - GitHub search
+---
+
+{% note %}
+
+**Note:** {% data reusables.search.code-search-code-view-beta-note %}
+
+{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %}
+
+{% endnote %}
+
+## About using the new code search (beta)
+
+Upon getting access to the new code search beta, GitHub will index any repositories you own and any repositories in organizations you are a member of, whether public, private, or internal. This means that you can search across all of your repositories, in addition to the public repositories on {% data variables.product.prodname_dotcom_the_website %} that have already been indexed. Only users with permission to view your code on {% data variables.product.prodname_dotcom_the_website %} will be able to see your code in search results. Forks are indexed and searchable in the same way as other repositories.
+
+Not all code is indexed, and you can currently only search the default branches of repositories. For more information on known limitations, see "[About GitHub Code Search (beta)](/search-github/github-code-search/about-github-code-search#limitations)."
+
+The new code search beta is integrated within the new code view beta. {% data reusables.search.code-view-link %}
+
+## Using the search bar
+
+On top of the new code search engine, the beta includes an upgraded search interface on {% data variables.product.prodname_dotcom_the_website %}. Using suggestions, completions, and saved searches, you can quickly find what you are looking for, often without having to fully type a query or view the search results page.
+
+For more information about the search syntax of the new code search (beta), see "[Understanding GitHub Code Search (beta) syntax](/search-github/github-code-search/understanding-github-code-search-syntax)."
+
+{% data reusables.search.non-code-search-explanation %}
+
+1. In the top navigation of {% data variables.product.prodname_dotcom_the_website %}, click the search bar.
+1. Under the search bar, you will see a list of suggestions organized by category, including recent searches and suggested repositories, teams, and projects that you have access to. You can also see a list of saved searches that you have created. For more information on saved searches, see "[Creating and managing saved searches](#creating-and-managing-saved-searches)."
+
+ 
+
+ If you click on any of the specific suggestions, you will be taken directly to the page for that suggestion (for example, the repository or project page). If you click on a recent or saved search, depending on the type of search, the search query will appear in the search bar or you will be taken to the search results page for the search term.
+
+1. Once you start typing a search query, you will see a list of completions and suggestions that match your query. You can click on a suggestion to jump to a specific location. As you type more qualifiers, you will see more specific suggestions, such as code files you can jump to directly.
+
+ 
+
+1. After typing your query, you can also press Enter to go to the full search results view, where you can see each match and a visual interface for applying filters. For more information, see "[Using the search results view](#using-the-search-results-view)."
+
+## Creating and managing saved searches
+
+1. In the top navigation of {% data variables.product.prodname_dotcom_the_website %}, click the search bar and start typing a search query (or any letter).
+1. Under the search bar, the "Saved searches" section should now appear. Click {% octicon "plus-circle" aria-label="The plus-circle icon" %} **Create saved search**.
+
+ 
+
+1. In the pop-up window, fill out the name you want for your query and the query that you want to save. Click **Create saved search**.
+
+ 
+
+1. If you click again on the search bar, you can now see your saved search in the "Saved searches" section under the search bar. Clicking on a saved search entry will add the query to the search bar and filter the suggestions accordingly.
+
+ 
+
+ - To edit a saved search, in the "Saved searches" section, click {% octicon "pencil" aria-label="The pencil icon" %} to the right of the saved search.
+ - To delete a saved search, click {% octicon "trash" aria-label="The trash icon" %} to the right of the saved search.
+
+ 
+
+## Using the search results view
+
+The search results view already exists for the classic search on GitHub, and the functionality for most search types, except code, is the same. With the new code search beta enabled, the search results page has a redesigned UI and includes filters that are supported in the new code search engine, such as path and symbol filters.
+
+To construct a search query, as well as view and filter results, using a visual interface, you can use the {% data variables.search.search_page_url %} or {% data variables.search.advanced_url %}. If you press Enter after typing a search query in the search bar, you will also be taken to the search results view.
+
+On the search results view, you can navigate between different types of search results, including code, issues, pull request, repositories, and more. You can also view and use filters.
+
+
\ No newline at end of file
diff --git a/content/search-github/index.md b/content/search-github/index.md
index 635dc47eef..83660a584d 100644
--- a/content/search-github/index.md
+++ b/content/search-github/index.md
@@ -10,6 +10,7 @@ featuredLinks:
- /search-github/searching-on-github/searching-for-repositories
- /search-github/searching-on-github/searching-commits
popular:
+ - /search-github/github-code-search/about-github-code-search
- /search-github/getting-started-with-searching-on-github/understanding-the-search-syntax
- /search-github/searching-on-github/searching-users
- /search-github/searching-on-github/finding-files-on-github
@@ -36,6 +37,7 @@ topics:
children:
- /getting-started-with-searching-on-github
- /searching-on-github
+ - /github-code-search
shortTitle: Search on GitHub
---
diff --git a/content/search-github/searching-on-github/searching-code.md b/content/search-github/searching-on-github/searching-code.md
index ebd3d61ac8..3ac136a456 100644
--- a/content/search-github/searching-on-github/searching-code.md
+++ b/content/search-github/searching-on-github/searching-code.md
@@ -15,6 +15,15 @@ versions:
topics:
- GitHub search
---
+
+{% ifversion github-code-search %}
+ {% note %}
+
+ **Note:** {% data reusables.search.classic-search-code-search-note %}
+
+ {% endnote %}
+{% endif %}
+
{% data reusables.search.you-can-search-globally %} For more information, see "[About searching on GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github)."
You can only search code using these code search qualifiers. Search qualifiers specifically for repositories, users, or commits, will not work when searching for code.
diff --git a/contributing/content-markup-reference.md b/contributing/content-markup-reference.md
index 2abd5b2146..128d5fdd6f 100644
--- a/contributing/content-markup-reference.md
+++ b/contributing/content-markup-reference.md
@@ -129,7 +129,7 @@ You can define a default platform in the frontmatter. For more information, see
## Tool tags
-We occasionally need to write documentation for different tools (GitHub UI, GitHub CLI, GitHub Desktop, cURL, Codespaces, VS Code, GitHub Enterprise Importer CLI, GraphQL API). Each tool may require a different set of instructions. We use tool tags to demarcate information for each tool.
+We occasionally need to write documentation for different tools (GitHub UI, GitHub CLI, GitHub Desktop, cURL, Codespaces, Visual Studio Code, JetBrains IDEs, GitHub Enterprise Importer CLI, GraphQL API). Each tool may require a different set of instructions. We use tool tags to demarcate information for each tool.
On rare occasions, we will add new tools. Before adding a new tool, read the [tool switcher content model](./tool-switcher.md). To add a new tool, add an entry to the `allTools` object in [`lib/all-tools.js`](../lib/all-tools.js) as a key-value pair. The key is the tag you'll use to refer to the tool in the article, the value is how the tool will be identified on the tool picker at the top of the article.
@@ -185,6 +185,14 @@ These instructions are pertinent to VS Code users.
{% endvscode %}
```
+```
+{% jetbrains %}
+
+These instructions are pertinent to users of JetBrains IDEs.
+
+{% endjetbrains %}
+```
+
```
{% importer_cli %}
diff --git a/data/features/file-tree-view.yml b/data/features/file-tree-view.yml
new file mode 100644
index 0000000000..d2a3a52a94
--- /dev/null
+++ b/data/features/file-tree-view.yml
@@ -0,0 +1,5 @@
+# Reference: Issue #6669 — New Code View
+
+versions:
+ fpt: '*'
+ ghec: '*'
diff --git a/data/features/github-code-search.yml b/data/features/github-code-search.yml
new file mode 100644
index 0000000000..8883d910d7
--- /dev/null
+++ b/data/features/github-code-search.yml
@@ -0,0 +1,5 @@
+# Reference: #6672
+# Documentation for GitHub Code Search limited public beta
+versions:
+ fpt: '*'
+ ghec: '*'
diff --git a/data/features/projects-v2-tasklists.yml b/data/features/projects-v2-tasklists.yml
new file mode 100644
index 0000000000..d8c6054aaa
--- /dev/null
+++ b/data/features/projects-v2-tasklists.yml
@@ -0,0 +1,5 @@
+# Issue 8331
+# Tasklists
+versions:
+ fpt: '*'
+ ghec: '*'
diff --git a/data/features/security-overview-alert-views.yml b/data/features/security-overview-alert-views.yml
new file mode 100644
index 0000000000..b0eecb70f5
--- /dev/null
+++ b/data/features/security-overview-alert-views.yml
@@ -0,0 +1,6 @@
+# Reference: #5503.
+# Documentation for the security overview individual views for each type of security alert
+versions:
+ ghes: '> 3.4'
+ ghae: '>= 3.5'
+ ghec: '*'
diff --git a/data/features/security-overview-org-risk-coverage.yml b/data/features/security-overview-org-risk-coverage.yml
new file mode 100644
index 0000000000..a4e611c0ca
--- /dev/null
+++ b/data/features/security-overview-org-risk-coverage.yml
@@ -0,0 +1,6 @@
+# Reference: #8557.
+# Documentation for the organization-level split of the "Overview" page into "Risks" and "Coverage"
+versions:
+ ghes: '> 3.7'
+ ghae: '> 3.7'
+ ghec: '*'
diff --git a/data/features/security-overview-views.yml b/data/features/security-overview-views.yml
deleted file mode 100644
index 72e6f27460..0000000000
--- a/data/features/security-overview-views.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-# Reference: #5503.
-# Documentation for the security overview individual views
-versions:
- ghes: '> 3.4'
- ghae: '>= 3.5'
- ghec: '*'
diff --git a/data/features/token-audit-log.yml b/data/features/token-audit-log.yml
new file mode 100644
index 0000000000..1a45eecc80
--- /dev/null
+++ b/data/features/token-audit-log.yml
@@ -0,0 +1,2 @@
+versions:
+ ghec: '*'
diff --git a/data/learning-tracks/code-security.yml b/data/learning-tracks/code-security.yml
index 3b35eb0a73..ae9e29ccb4 100644
--- a/data/learning-tracks/code-security.yml
+++ b/data/learning-tracks/code-security.yml
@@ -4,10 +4,14 @@ security_advisories:
description: 'Using repository security advisories to privately fix a reported vulnerability and get a CVE.'
featured_track: '{% ifversion fpt or ghec %}true{% else %}false{% endif %}'
guides:
- - /code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities
- /code-security/security-advisories/global-security-advisories/about-the-github-advisory-database
- /code-security/security-advisories/global-security-advisories/about-global-security-advisories
- /code-security/security-advisories/repository-security-advisories/about-repository-security-advisories
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability
+ - /code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities
+ - /code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository
- /code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory
- /code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory
- /code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability
@@ -15,7 +19,6 @@ security_advisories:
- /code-security/security-advisories/repository-security-advisories/editing-a-repository-security-advisory
- /code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory
- /code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory
- - /code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories
# Feature available on dotcom and GHES 3.3+, so articles available on GHAE and earlier GHES hidden to hide the learning track
dependabot_alerts:
diff --git a/data/reusables/code-scanning/codeql-languages-bullets.md b/data/reusables/code-scanning/codeql-languages-bullets.md
index e3179d26df..e12d817ad2 100644
--- a/data/reusables/code-scanning/codeql-languages-bullets.md
+++ b/data/reusables/code-scanning/codeql-languages-bullets.md
@@ -7,11 +7,13 @@
- Python{% ifversion fpt or ghes > 3.3 or ghec or ghae > 3.3 %}
- Ruby
+{% ifversion ghes < 3.8 or ghae < 3.8 %}
{% note %}
**Note**: {% data variables.product.prodname_codeql %} analysis for Ruby is currently in beta. During the beta, analysis of Ruby will be less comprehensive than {% data variables.product.prodname_codeql %} analysis of other languages.
{% endnote %}
+{% endif %}
For more information, see the documentation on the {% data variables.product.prodname_codeql %} website: "[Supported languages and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/)."
{% endif %}
diff --git a/data/reusables/codespaces/about-features.md b/data/reusables/codespaces/about-features.md
new file mode 100644
index 0000000000..f683142acc
--- /dev/null
+++ b/data/reusables/codespaces/about-features.md
@@ -0,0 +1,3 @@
+Features are self-contained units of installation code and dev container configuration, designed to work across a wide range of base container images. You can use features to quickly add tools, runtimes, or libraries to your codespace image. For more information, see the [available features](https://containers.dev/features) and [features specification](https://containers.dev/implementors/features/) on containers.dev.
+
+You can add features to a `devcontainer.json` file from {% data variables.product.prodname_vscode_shortname %} or from your repository on {% data variables.product.prodname_dotcom_the_website %}.
\ No newline at end of file
diff --git a/data/reusables/codespaces/about-personalization.md b/data/reusables/codespaces/about-personalization.md
deleted file mode 100644
index 958370ebd8..0000000000
--- a/data/reusables/codespaces/about-personalization.md
+++ /dev/null
@@ -1 +0,0 @@
-You can also use a [dotfiles](https://dotfiles.github.io/tutorials/) repository and [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to personalize aspects of the codespace environment for any codespace that you create. Personalization can include shell preferences and additional tools.
diff --git a/data/reusables/codespaces/about-publishing-templates.md b/data/reusables/codespaces/about-publishing-templates.md
new file mode 100644
index 0000000000..47b2cf6e9f
--- /dev/null
+++ b/data/reusables/codespaces/about-publishing-templates.md
@@ -0,0 +1,5 @@
+When you work in a codespace created from a template, your work is saved on a virtual machine in the cloud, but it is not stored in a repository on {% data variables.product.prodname_dotcom %}.
+
+You can save your files, close and stop your codespace, and come back to your work later. Typically, Git will come preinstalled, and the working directory will be automatically initialized as a Git repository unless you started from {% data variables.product.company_short %}'s blank template. This means you can immediately use Git for local source control, such as adding and committing files.
+
+However, if you delete an unpublished codespace, or if it's automatically deleted by being left unused for the duration of the retention period, then your work will be deleted too. To persist your work, and to allow others to work on your project, you will need to publish your codespace to a repository on {% data variables.product.prodname_dotcom %}.
\ No newline at end of file
diff --git a/data/reusables/codespaces/application-installed-locally.md b/data/reusables/codespaces/application-installed-locally.md
new file mode 100644
index 0000000000..a2933f3c3b
--- /dev/null
+++ b/data/reusables/codespaces/application-installed-locally.md
@@ -0,0 +1 @@
+If you choose **{% data variables.product.prodname_vscode %}** or **JetBrains Gateway**, you must make sure you have installed the selected application on your local machine.
\ No newline at end of file
diff --git a/data/reusables/codespaces/apply-devcontainer-changes.md b/data/reusables/codespaces/apply-devcontainer-changes.md
deleted file mode 100644
index e25268b393..0000000000
--- a/data/reusables/codespaces/apply-devcontainer-changes.md
+++ /dev/null
@@ -1 +0,0 @@
-After the {% data variables.product.prodname_github_codespaces %} configuration for a repository changes, you can apply the changes to an existing codespace by rebuilding the container for the codespace.
diff --git a/data/reusables/codespaces/codespace-logs.md b/data/reusables/codespaces/codespace-logs.md
new file mode 100644
index 0000000000..8bf3d0b47d
--- /dev/null
+++ b/data/reusables/codespaces/codespace-logs.md
@@ -0,0 +1,3 @@
+## Codespace logs
+
+These logs contain detailed information about the codespace, the container, the session, and the {% data variables.product.prodname_vscode_shortname %} environment. They are useful for diagnosing connection issues and other unexpected behavior. For example, the codespace freezes but the "Reload Windows" option unfreezes it for a few minutes, or you are randomly disconnected from the codespace but able to reconnect immediately.
\ No newline at end of file
diff --git a/data/reusables/codespaces/codespaces-api-beta-note.md b/data/reusables/codespaces/codespaces-api-beta-note.md
deleted file mode 100644
index 3d0b4a27eb..0000000000
--- a/data/reusables/codespaces/codespaces-api-beta-note.md
+++ /dev/null
@@ -1,5 +0,0 @@
-{% note %}
-
-**Note**: The {% data variables.product.prodname_github_codespaces %} API is currently in public beta and subject to change.
-
-{% endnote %}
diff --git a/data/reusables/codespaces/codespaces-continue-by-paying.md b/data/reusables/codespaces/codespaces-continue-by-paying.md
new file mode 100644
index 0000000000..c537515b06
--- /dev/null
+++ b/data/reusables/codespaces/codespaces-continue-by-paying.md
@@ -0,0 +1 @@
+You can continue using {% data variables.product.prodname_github_codespaces %} beyond your monthly included storage and compute usage by providing payment details and setting a spending limit. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
\ No newline at end of file
diff --git a/data/reusables/codespaces/codespaces-disabling-org-billing.md b/data/reusables/codespaces/codespaces-disabling-org-billing.md
index 6645f56324..d5e6b42576 100644
--- a/data/reusables/codespaces/codespaces-disabling-org-billing.md
+++ b/data/reusables/codespaces/codespaces-disabling-org-billing.md
@@ -1,5 +1,5 @@
{% note %}
-**Note**: If you disable billable codespaces use for your organization, anyone who can clone a repository in your organization, will still be able to create a codespace for that repository by using their personal account. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)."
+**Note**: If you disable billing for {% data variables.product.prodname_github_codespaces %} for some organization members and collaborators, or for your entire organization, anyone who can either push changes to, or fork, a repository in your organization, will still be able to create a codespace for that repository by using their personal account. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)."
{% endnote %}
diff --git a/data/reusables/codespaces/codespaces-free-for-personal-intro.md b/data/reusables/codespaces/codespaces-free-for-personal-intro.md
new file mode 100644
index 0000000000..259f900fba
--- /dev/null
+++ b/data/reusables/codespaces/codespaces-free-for-personal-intro.md
@@ -0,0 +1 @@
+{% data variables.product.prodname_github_codespaces %} is paid for either by an organization, an enterprise, or a personal account. The Free and Pro plans for personal accounts include free use of {% data variables.product.prodname_github_codespaces %} up to a fixed amount of usage every month.
diff --git a/data/reusables/codespaces/codespaces-jetbrains-beta-note.md b/data/reusables/codespaces/codespaces-jetbrains-beta-note.md
new file mode 100644
index 0000000000..b7a5af3add
--- /dev/null
+++ b/data/reusables/codespaces/codespaces-jetbrains-beta-note.md
@@ -0,0 +1,5 @@
+{% note %}
+
+**Note**: Using {% data variables.product.prodname_github_codespaces %} with JetBrains IDEs is currently in public beta and is subject to change.
+
+{% endnote %}
diff --git a/data/reusables/codespaces/codespaces-machine-type-availability.md b/data/reusables/codespaces/codespaces-machine-type-availability.md
index 557b845f10..eae277eada 100644
--- a/data/reusables/codespaces/codespaces-machine-type-availability.md
+++ b/data/reusables/codespaces/codespaces-machine-type-availability.md
@@ -1 +1 @@
-Your choice of available machine types may be limited by a policy configured for your organization, or by a minimum machine type specification for your repository. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" and "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines)."
+Your choice of available machine types may be limited by a number of factors. These can include a policy configured for your organization, or a minimum machine type specification for your repository. For more information, see "[Restricting access to machine types](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" and "[Setting a minimum specification for codespace machines](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines)."
diff --git a/data/reusables/codespaces/codespaces-machine-types.md b/data/reusables/codespaces/codespaces-machine-types.md
index b63f7c00bb..e1cc778e3a 100644
--- a/data/reusables/codespaces/codespaces-machine-types.md
+++ b/data/reusables/codespaces/codespaces-machine-types.md
@@ -1,3 +1,3 @@
-Typically, you can run your codespace on a choice of remote machine, from 2 cores to 32 cores. Each of these has a different level of resources and a different billing tier. For information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
+Typically, you can run your codespace on a choice of remote machine types. These machine types offer a choice of hardware specifications ranging from 2 cores to 32 cores, although the full range of machine types may not always be available. Each machine type has a different level of resources and a different billing tier. For information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
By default the machine type with the lowest valid resources is used when you create a codespace.
diff --git a/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/data/reusables/codespaces/codespaces-spending-limit-requirement.md
index 1322dfe4ae..9c886492a7 100644
--- a/data/reusables/codespaces/codespaces-spending-limit-requirement.md
+++ b/data/reusables/codespaces/codespaces-spending-limit-requirement.md
@@ -1,7 +1,7 @@
{% note %}
-**Note:** You must set a non-zero spending limit before you can use {% data variables.product.prodname_github_codespaces %}.
+**Note:** You must set a non-zero spending limit on your personal, organization, or enterprise account before the account can be billed for use of {% data variables.product.prodname_github_codespaces %}.
{% endnote %}
-By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0. This prevents new codespaces from being created, or existing codespaces from being opened, if this would incur a billable cost to your organization or enterprise. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.
+By default, all accounts have a {% data variables.product.prodname_github_codespaces %} spending limit of $0 USD. This prevents new codespaces being created, or existing codespaces being opened, if doing so would incur a billable cost to your personal, organization, or enterprise account. For personal accounts, codespaces can always be created and used if the account has not reached the limit of its monthly included usage. For organizations and enterprises, the default spending limit means that, to allow people to create codespaces that are billed to the organization, or its parent enterprise, the limit must be changed to a value above $0 USD.
diff --git a/data/reusables/codespaces/configuration-choice-templates.md b/data/reusables/codespaces/configuration-choice-templates.md
new file mode 100644
index 0000000000..3c0b7cd8a3
--- /dev/null
+++ b/data/reusables/codespaces/configuration-choice-templates.md
@@ -0,0 +1 @@
+When users create codespaces from the **Use this template** button in a template repository, they will not be given a choice between configurations. The codespace will be built based on the default configuration defined in `.devcontainer/devcontainer.json`, or in `.devcontainer.json` at the root of your repository.
\ No newline at end of file
diff --git a/data/reusables/codespaces/connect-to-codespace-from-vscode.md b/data/reusables/codespaces/connect-to-codespace-from-vscode.md
index 9ab86b13a4..c6eadc617c 100644
--- a/data/reusables/codespaces/connect-to-codespace-from-vscode.md
+++ b/data/reusables/codespaces/connect-to-codespace-from-vscode.md
@@ -1 +1 @@
-You can connect to your codespace directly from {% data variables.product.prodname_vscode_shortname %}. For more information, see "[Using Codespaces in {% data variables.product.prodname_vscode_shortname %}](/github/developing-online-with-codespaces/using-codespaces-in-visual-studio-code)."
+You can connect to your codespace directly from {% data variables.product.prodname_vscode_shortname %}. For more information, see "[Using Codespaces in {% data variables.product.prodname_vscode_shortname %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)."
diff --git a/data/reusables/codespaces/copilot-in-vscode.md b/data/reusables/codespaces/copilot-in-vscode.md
new file mode 100644
index 0000000000..0722d9880a
--- /dev/null
+++ b/data/reusables/codespaces/copilot-in-vscode.md
@@ -0,0 +1,9 @@
+[{% data variables.product.prodname_copilot %}](https://copilot.github.com/), an AI pair programmer, can be used in any codespace. For more information, see "[About GitHub Copilot](/copilot/overview-of-github-copilot/about-github-copilot)."
+
+To start using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_github_codespaces %}, install the [{% data variables.product.prodname_copilot %} extension from the {% data variables.product.prodname_vscode_marketplace %}](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot).
+
+To include {% data variables.product.prodname_copilot %}, or other extensions, in all of your codespaces, enable Settings Sync. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#settings-sync)." Additionally, to include {% data variables.product.prodname_copilot %} in a given project for all users, you can specify `GitHub.copilot` as an extension in your `devcontainer.json` file. For information about configuring a `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/customizing-your-codespace/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration)."
+
+## Further reading
+
+- "[Getting started with GitHub Copilot in Visual Studio Code](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code)"
\ No newline at end of file
diff --git a/data/reusables/codespaces/creating-a-codespace-in-vscode.md b/data/reusables/codespaces/creating-a-codespace-in-vscode.md
index 1039481541..3dafc1ad37 100644
--- a/data/reusables/codespaces/creating-a-codespace-in-vscode.md
+++ b/data/reusables/codespaces/creating-a-codespace-in-vscode.md
@@ -1,4 +1,4 @@
-After you connect your account on {% data variables.location.product_location %} to the {% data variables.product.prodname_github_codespaces %} extension, you can create a new codespace. For more information about the {% data variables.product.prodname_github_codespaces %} extension, see the [{% data variables.product.prodname_vs_marketplace_shortname %} marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
+After you connect your account on {% data variables.product.prodname_dotcom_the_website %} to the {% data variables.product.prodname_github_codespaces %} extension, you can create a new codespace. For more information about the {% data variables.product.prodname_github_codespaces %} extension, see the [{% data variables.product.prodname_vs_marketplace_shortname %}](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
{% data reusables.codespaces.click-remote-explorer-icon-vscode %}
2. Click the Add icon: {% octicon "plus" aria-label="The plus icon" %}.
@@ -9,7 +9,7 @@ After you connect your account on {% data variables.location.product_location %}

- If codespaces are billable for the repository you choose, a message will be displayed in subsequent prompts telling you who will pay for the codespace.
+ If the repository you choose is owned by an organization, and the organization has configured codespaces for this repository to be billable to the organization, or its parent enterprise, a message will be displayed in subsequent prompts telling you who will pay for the codespace.
4. Click the branch you want to develop on.
diff --git a/data/reusables/codespaces/developing-in-vscode.md b/data/reusables/codespaces/developing-in-vscode.md
new file mode 100644
index 0000000000..ec374bccfd
--- /dev/null
+++ b/data/reusables/codespaces/developing-in-vscode.md
@@ -0,0 +1,18 @@
+### Customizing the codespaces for a repository
+
+You can customize the codespaces that are created for a repository by creating or updating the dev container configuration for the repository. You can do this from within a codespace. After you change a dev container configuration, you can apply the changes to the current codespace by rebuilding the Docker container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)."
+
+### Personalizing your codespace
+
+You can use a [dotfiles](https://dotfiles.github.io/tutorials/) repository and [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to personalize aspects of the codespace environment for any codespace that you create. Personalization can include shell preferences and additional tools. For more information, see "[Personalizing {% data variables.product.prodname_codespaces %} for your account](/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account)."
+
+### Running your app from a codespace
+{% data reusables.codespaces.about-port-forwarding %} For more information, see "[Forwarding ports in your codespace](/github/developing-online-with-codespaces/forwarding-ports-in-your-codespace)."
+
+### Committing your changes
+
+{% data reusables.codespaces.committing-link-to-procedure %}
+
+### Using the {% data variables.product.prodname_vscode_command_palette %}
+
+The {% data variables.product.prodname_vscode_command_palette %} allows you to access and manage many features for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_vscode %}. For more information, see "[Using the {% data variables.product.prodname_vscode_command_palette %} in {% data variables.product.prodname_codespaces %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces)."
\ No newline at end of file
diff --git a/data/reusables/codespaces/edit-devcontainer-json.md b/data/reusables/codespaces/edit-devcontainer-json.md
index 55c57eee95..9b470263a7 100644
--- a/data/reusables/codespaces/edit-devcontainer-json.md
+++ b/data/reusables/codespaces/edit-devcontainer-json.md
@@ -1 +1 @@
-1. {% data variables.product.prodname_github_codespaces %} for your repository are configured in a `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, add one now. See "[Add a dev container configuration to your repository](/free-pro-team@latest/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)."
\ No newline at end of file
+1. {% data variables.product.prodname_github_codespaces %} for your repository may be configured in a `devcontainer.json` file. If your repository does not already contain a `devcontainer.json` file, you can add one now. See "[Add a dev container configuration to your repository](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)."
\ No newline at end of file
diff --git a/data/reusables/codespaces/ellipsis-settings.md b/data/reusables/codespaces/ellipsis-settings.md
new file mode 100644
index 0000000000..8a446861ec
--- /dev/null
+++ b/data/reusables/codespaces/ellipsis-settings.md
@@ -0,0 +1 @@
+1. Click the ellipsis (**...**) to the right of the codespace you want to modify.
\ No newline at end of file
diff --git a/data/reusables/codespaces/exporting-changes.md b/data/reusables/codespaces/exporting-changes.md
index 67aef79c51..33b422f77a 100644
--- a/data/reusables/codespaces/exporting-changes.md
+++ b/data/reusables/codespaces/exporting-changes.md
@@ -1 +1 @@
-If your organization reaches its spending limit, people will no longer be able to create or resume codespaces that are billable to your organization. However, they can still [export any work in progress changes to a new branch](/codespaces/troubleshooting/exporting-changes-to-a-branch).
+If your personal, organization, or enterprise account reaches its spending limit, you will no longer be able to create or resume codespaces that are billable to that account. However, you can still export any work-in-progress changes to a new branch. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)."
diff --git a/data/reusables/codespaces/jetbrains-open-codespace-plugin.md b/data/reusables/codespaces/jetbrains-open-codespace-plugin.md
new file mode 100644
index 0000000000..8f3d73644e
--- /dev/null
+++ b/data/reusables/codespaces/jetbrains-open-codespace-plugin.md
@@ -0,0 +1,3 @@
+1. In the JetBrains client, click the {% data variables.product.prodname_github_codespaces %} plugin to display the {% data variables.product.prodname_github_codespaces %} tool window.
+
+ 
diff --git a/data/reusables/codespaces/jupyterlab-in-default-image.md b/data/reusables/codespaces/jupyterlab-in-default-image.md
new file mode 100644
index 0000000000..52a158f626
--- /dev/null
+++ b/data/reusables/codespaces/jupyterlab-in-default-image.md
@@ -0,0 +1 @@
+The default container image includes JupyterLab, so codespaces created from the default image will always have JupyterLab installed. For more information about the default image, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)" and [the `devcontainers/images` repository](https://github.com/devcontainers/images/tree/main/src/universal). If you're not using the default image in your dev container configuration, you can install JupyterLab by adding the `ghcr.io/devcontainers/features/python` feature to your `devcontainer.json` file. You should include the option `"installJupyterlab": true`. For more information, see [the README for the `python` feature](https://github.com/devcontainers/features/tree/main/src/python#python-python), in the `devcontainers/features` repository.
\ No newline at end of file
diff --git a/data/reusables/codespaces/jupyterlab-installed-in-codespace.md b/data/reusables/codespaces/jupyterlab-installed-in-codespace.md
new file mode 100644
index 0000000000..74fd940d82
--- /dev/null
+++ b/data/reusables/codespaces/jupyterlab-installed-in-codespace.md
@@ -0,0 +1 @@
+The JupyterLab application must be installed in the codespace you are opening. {% data reusables.codespaces.jupyterlab-in-default-image %}
\ No newline at end of file
diff --git a/data/reusables/codespaces/links-to-get-started.md b/data/reusables/codespaces/links-to-get-started.md
index b27dca483d..34db0a779f 100644
--- a/data/reusables/codespaces/links-to-get-started.md
+++ b/data/reusables/codespaces/links-to-get-started.md
@@ -1 +1 @@
-To get started with {% data variables.product.prodname_github_codespaces %}, see "[Quickstart for {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/quickstart)." For more information on creating or reopening a codespace, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)" and "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)." To learn more about how {% data variables.product.prodname_github_codespaces %} works, see "[Deep dive into {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive)."
+To get started with {% data variables.product.prodname_github_codespaces %}, see "[Quickstart for {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/quickstart)." For more information on creating a codespace, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)" or "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)." If you want to return to a codespace you've already created, see "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)." To learn more about how {% data variables.product.prodname_github_codespaces %} works, see "[Deep dive into {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive)."
diff --git a/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md b/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md
new file mode 100644
index 0000000000..61401e1f60
--- /dev/null
+++ b/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md
@@ -0,0 +1 @@
+Unpublished codespaces (codespaces created from a template that are not linked to a repository on {% data variables.product.product_name %}) always run on a virtual machine with the same specifications. You can't change the machine type of an unpublished codespace.
\ No newline at end of file
diff --git a/data/reusables/codespaces/monthly-spending-limit-codespaces.md b/data/reusables/codespaces/monthly-spending-limit-codespaces.md
new file mode 100644
index 0000000000..87c33fcff0
--- /dev/null
+++ b/data/reusables/codespaces/monthly-spending-limit-codespaces.md
@@ -0,0 +1,3 @@
+1. Under "Codespaces", choose to limit spending or allow unlimited spending.
+
+ 
diff --git a/data/reusables/codespaces/navigating-to-a-codespace.md b/data/reusables/codespaces/navigating-to-a-codespace.md
new file mode 100644
index 0000000000..ab3a0343f1
--- /dev/null
+++ b/data/reusables/codespaces/navigating-to-a-codespace.md
@@ -0,0 +1,8 @@
+## Navigating to an existing codespace
+
+1. {% data reusables.codespaces.you-can-see-all-your-codespaces %}
+1. Click the name of the codespace you want to develop in.
+
+ 
+
+Alternatively, you can see any of your codespaces for a specific repository by navigating to that repository and selecting **{% octicon "code" aria-label="The code icon" %} Code**. The dropdown menu will display all active codespaces for a repository.
\ No newline at end of file
diff --git a/data/reusables/codespaces/open-codespace-from-template-repo.md b/data/reusables/codespaces/open-codespace-from-template-repo.md
index 610c2f920d..f62722add8 100644
--- a/data/reusables/codespaces/open-codespace-from-template-repo.md
+++ b/data/reusables/codespaces/open-codespace-from-template-repo.md
@@ -3,6 +3,4 @@

- If you don’t see this tab, {% data variables.product.prodname_github_codespaces %} isn't available for you. For more information about access to {% data variables.product.prodname_github_codespaces %}, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)."
-
1. On the **Codespaces** tab, click **Create codespace on main**.
diff --git a/data/reusables/codespaces/open-template-in-codespace-step.md b/data/reusables/codespaces/open-template-in-codespace-step.md
new file mode 100644
index 0000000000..6f771afef0
--- /dev/null
+++ b/data/reusables/codespaces/open-template-in-codespace-step.md
@@ -0,0 +1,3 @@
+1. Above the file list, click **Use this template**, then select **Open in a codespace**.
+
+ 
\ No newline at end of file
diff --git a/data/reusables/codespaces/opening-codespace-in-jetbrains.md b/data/reusables/codespaces/opening-codespace-in-jetbrains.md
new file mode 100644
index 0000000000..03c332be39
--- /dev/null
+++ b/data/reusables/codespaces/opening-codespace-in-jetbrains.md
@@ -0,0 +1,26 @@
+If you have set the JetBrains Gateway as your default editor, then the Gateway will launch automatically when you open a codespace from {% data variables.product.prodname_dotcom_the_website %}.
+
+If the JetBrains Gateway is not your default editor, you can still open a codespace in JetBrains by going to the "Your codespaces" page at [github.com/codespaces](https://github.com/codespaces) and clicking the ellipsis (...) to the right of the codespace you want to open. For more information, see "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace?tool=webui)."
+
+Alternatively, you can also open the JetBrains Gateway and select an existing codespace, as described in the following procedure.
+
+1. Open the JetBrains Gateway application.
+1. Click **Connect to {% data variables.product.prodname_codespaces %}**.
+
+ 
+
+1. In the "Your Codespaces" list, click the codespace you want to work in.
+
+ 
+
+1. In the "Available IDEs" list, click the JetBrains IDE you want to use. The Gateway will remember your choice the next time you connect to a codespace.
+
+ 
+
+1. Click **Connect**.
+
+ {% note %}
+
+ **Note**: _If you are running a firewall:_ the first time you connect to a remote resource, you may be prompted to allow the JetBrains Gateway to communicate across your network.
+
+ {% endnote %}
diff --git a/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md b/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md
new file mode 100644
index 0000000000..8c5431480f
--- /dev/null
+++ b/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md
@@ -0,0 +1,10 @@
+## Adding a port to the codespace configuration
+
+You can add a forwarded port to the {% data variables.product.prodname_github_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
+
+You can manually configure forwarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in a codespace that you've opened in the browser or the {% data variables.product.prodname_vscode_shortname %} desktop application.
+
+{% data reusables.codespaces.navigate-to-ports-tab %}
+1. Right click the port you want to add to the codespace configuration, then click **Set Label and Update devcontainer.json**.
+ 
+{% data reusables.codespaces.type-port-label %}
\ No newline at end of file
diff --git a/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md b/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md
new file mode 100644
index 0000000000..d2d9e1a1a4
--- /dev/null
+++ b/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md
@@ -0,0 +1,15 @@
+When an application running inside a codespace prints output to the terminal that contains a localhost URL, such as `http://localhost:PORT` or `http://127.0.0.1:PORT`, the port is automatically forwarded. If you're using {% data variables.product.prodname_github_codespaces %} in the browser or in {% data variables.product.prodname_vscode %}, the URL string in the terminal is converted into a link that you can click to view the web page on your local machine. By default, {% data variables.product.prodname_github_codespaces %} forwards ports using HTTP.
+
+
+
+You can also forward a port manually, label forwarded ports, share forwarded ports with members of your organization, share forwarded ports publicly, and add forwarded ports to the codespace configuration.
+
+{% note %}
+
+**Note**: {% data reusables.codespaces.restrict-port-visibility %}
+
+{% endnote %}
+
+## Forwarding a port
+
+You can manually forward a port that wasn't forwarded automatically.
\ No newline at end of file
diff --git a/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md b/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md
new file mode 100644
index 0000000000..31719b8ee4
--- /dev/null
+++ b/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md
@@ -0,0 +1,8 @@
+## Labeling a port
+
+When you open a codespace in the browser, or in the {% data variables.product.prodname_vscode_shortname %} desktop application, you can label a forwarded port to make it easier to identify in a list.
+
+{% data reusables.codespaces.navigate-to-ports-tab %}
+1. Hover over the port you want to label, then click the label icon.
+ 
+{% data reusables.codespaces.type-port-label %}
\ No newline at end of file
diff --git a/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md b/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md
new file mode 100644
index 0000000000..a8000d8686
--- /dev/null
+++ b/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md
@@ -0,0 +1,15 @@
+## Sharing a port
+
+{% note %}
+
+**Note:** You can only make a port private to an organization if your organization uses {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}.
+
+{% endnote %}
+
+If you want to share a forwarded port with others, you can either make the port private to your organization or make the port public. After you make a port private to your organization, anyone in the organization with the port's URL can view the running application. After you make a port public, anyone who knows the URL and port number can view the running application without needing to authenticate.
+
+{% note %}
+
+**Note:** Your choice of port visibility options may be limited by a policy configured for your organization. For more information, see "[Restricting the visibility of forwarded ports](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)."
+
+{% endnote %}
\ No newline at end of file
diff --git a/data/reusables/codespaces/prebuilds-permission-authorization.md b/data/reusables/codespaces/prebuilds-permission-authorization.md
index 2e3fea482d..c51a5281fb 100644
--- a/data/reusables/codespaces/prebuilds-permission-authorization.md
+++ b/data/reusables/codespaces/prebuilds-permission-authorization.md
@@ -4,7 +4,7 @@

- Click **Authorize and continue** to grant these permissions for creation of the prebuild. Alternatively, you can click **Continue without authorizing** but, if you do so, codespaces created from the resulting prebuild may not work properly.
+ Click **Authorize and continue** to grant these permissions for creation of prebuilds. Alternatively, you can click **Continue without authorizing** but, if you do so, codespaces created from the resulting prebuilds may not work properly.
{% note %}
diff --git a/data/reusables/codespaces/publishing-template-codespaces.md b/data/reusables/codespaces/publishing-template-codespaces.md
new file mode 100644
index 0000000000..c5cc79c848
--- /dev/null
+++ b/data/reusables/codespaces/publishing-template-codespaces.md
@@ -0,0 +1,26 @@
+If you're working in a codespace, you can publish it from the {% data variables.product.prodname_vscode_shortname %} web client or desktop application.
+
+{% data reusables.codespaces.source-control-display-dark %}
+1. To stage your changes, click **+** next to the file you've added or changed, or next to **Changes** if you've changed multiple files and you want to stage them all.
+
+ 
+
+ {% note %}
+
+ **Note:** If you start from {% data variables.product.company_short %}'s blank template, you will not see a list of changes unless you have already initialized your directory as a Git repository. To publish codespaces created from the blank template, click **Publish to {% data variables.product.company_short %}** in the Source Control view, then skip to step 5.
+
+ {% endnote %}
+2. To commit your staged changes, type a commit message describing the change you've made, then click **Commit**.
+
+ 
+3. Click **Publish Branch**.
+
+ 
+4. In the "Repository Name" dropdown, type a name for your new repository, then select **Publish to {% data variables.product.company_short %} private repository** or **Publish to {% data variables.product.company_short %} public repository**.
+
+ 
+
+ The owner of the new repository will be the {% data variables.product.prodname_dotcom %} account with which you created the codespace.
+5. Optionally, in the pop-up that appears in the lower right corner of the editor, click **Open on {% data variables.product.company_short %}** to view the new repository on {% data variables.product.prodname_dotcom_the_website %}.
+
+ 
\ No newline at end of file
diff --git a/data/reusables/codespaces/review-pr.md b/data/reusables/codespaces/review-pr.md
deleted file mode 100644
index 20eebe9d63..0000000000
--- a/data/reusables/codespaces/review-pr.md
+++ /dev/null
@@ -1,9 +0,0 @@
-1. Open the pull request in a codespace, as described in "[Opening a pull request](/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests#opening-a-pull-request-in-codespaces)."
-2. In the Activity Bar, click the **GitHub Pull Request** view. This view only appears when you open a pull request in a codespace.
- 
-3. To review a specific file, click the **Open File** icon in the Side Bar.
- 
-4. To add review comments, click the **+** icon next to the line number. Type your review comment and then click **Start Review**.
- 
-5. When you are finished adding review comments, from the Side Bar you can choose to either submit the comments, approve the changes, or request changes.
- 
diff --git a/data/reusables/codespaces/setting-up-project-intro.md b/data/reusables/codespaces/setting-up-project-intro.md
new file mode 100644
index 0000000000..10b2ac6be9
--- /dev/null
+++ b/data/reusables/codespaces/setting-up-project-intro.md
@@ -0,0 +1 @@
+in {% data variables.product.prodname_codespaces %} using either the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client. It will take you through an example of opening your project in a codespace, and adding and modifying a predefined dev container configuration.
\ No newline at end of file
diff --git a/data/reusables/codespaces/setup-custom-devcontainer.md b/data/reusables/codespaces/setup-custom-devcontainer.md
index 5a973ebb51..8d494f2921 100644
--- a/data/reusables/codespaces/setup-custom-devcontainer.md
+++ b/data/reusables/codespaces/setup-custom-devcontainer.md
@@ -1 +1 @@
-To set up your repository to use a custom dev container, you will need to create one or more `devcontainer.json` files. You can add these either from a template, in {% data variables.product.prodname_vscode %}, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)".
+To set up your repository to use a custom dev container, you will need to create one or more `devcontainer.json` files. You can add these either from a predefined configuration template, in {% data variables.product.prodname_vscode %}, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)".
diff --git a/data/reusables/codespaces/source-control-commit-changes.md b/data/reusables/codespaces/source-control-commit-changes.md
index 5d75c12ee9..6a51645a8c 100644
--- a/data/reusables/codespaces/source-control-commit-changes.md
+++ b/data/reusables/codespaces/source-control-commit-changes.md
@@ -1,7 +1,7 @@
{% data reusables.codespaces.source-control-display-dark %}
1. To stage your changes, click **+** next to the file you've changed, or next to **Changes** if you've changed multiple files and you want to stage them all.
-
+
1. Type a commit message describing the change you've made.
-
-1. To commit your staged changes, click the check mark at the top the source control side bar.
+
+1. To commit your staged changes, click the check mark at the top the source control sidebar.

diff --git a/data/reusables/codespaces/source-control-pull-request.md b/data/reusables/codespaces/source-control-pull-request.md
index 63632ed615..2490f665bf 100644
--- a/data/reusables/codespaces/source-control-pull-request.md
+++ b/data/reusables/codespaces/source-control-pull-request.md
@@ -1,5 +1,5 @@
1. After you've committed changes to your local copy of the repository, click the **Create Pull Request** icon.
-
+
1. Check that the local branch and repository you're merging from, and the remote branch and repository you're merging into, are correct. Then give the pull request a title and a description.
-
+
1. Click **Create**.
diff --git a/data/reusables/codespaces/source-control.md b/data/reusables/codespaces/source-control.md
new file mode 100644
index 0000000000..3f08525fe3
--- /dev/null
+++ b/data/reusables/codespaces/source-control.md
@@ -0,0 +1,57 @@
+## Publishing a codespace created from a template
+
+When you create a codespace from a template repository or a template on the "Your codespaces" page, the work you do won't be stored in a repository on {% data variables.product.prodname_dotcom %} until you publish your codespace. For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-to-a-repository-on-github)."
+
+{% data reusables.codespaces.publishing-template-codespaces %}
+
+## Creating or switching branches
+
+{% data reusables.codespaces.create-or-switch-branch %}
+
+{% tip %}
+
+**Tip**: If someone has recently changed a file on the remote repository, in the branch you switched to, you may not see those changes until you pull the changes into your codespace.
+
+{% endtip %}
+
+## Committing your changes
+
+{% data reusables.codespaces.source-control-commit-changes %}
+
+## Pulling changes from the remote repository
+
+You can pull changes from the remote repository into your codespace at any time.
+
+{% data reusables.codespaces.source-control-display-dark %}
+1. At the top of the sidebar, click the ellipsis (**...**).
+
+1. In the dropdown menu, click **Pull**.
+
+If the dev container configuration has been changed since you created the codespace, you can apply the changes by rebuilding the container for the codespace. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-changes-to-your-configuration)."
+
+## Setting your codespace to automatically fetch new changes
+
+You can set your codespace to automatically fetch details of any new commits that have been made to the remote repository. This allows you to see whether your local copy of the repository is out of date, in which case you may choose to pull in the new changes.
+
+If the fetch operation detects new changes on the remote repository, you'll see the number of new commits in the status bar. You can then pull the changes into your local copy.
+
+1. Click the **Manage** button at the bottom of the Activity Bar.
+
+1. In the menu, slick **Settings**.
+1. On the Settings page, search for: `autofetch`.
+
+1. To fetch details of updates for all remotes registered for the current repository, set **Git: Autofetch** to `all`.
+
+1. If you want to change the number of seconds between each automatic fetch, edit the value of **Git: Autofetch Period**.
+
+## Raising a pull request
+
+{% data reusables.codespaces.source-control-pull-request %}
+
+## Pushing changes to your remote repository
+
+You can push changes you've saved and committed. This applies those changes to the upstream branch on the remote repository. You might want to do this if you're not yet ready to create a pull request, or if you prefer to create a pull request on {% data variables.product.prodname_dotcom %}.
+
+1. At the top of the sidebar, click the ellipsis (**...**).
+
+1. In the dropdown menu, click **Push**.
diff --git a/data/reusables/codespaces/ssh-server-installed.md b/data/reusables/codespaces/ssh-server-installed.md
new file mode 100644
index 0000000000..aa1da0ee48
--- /dev/null
+++ b/data/reusables/codespaces/ssh-server-installed.md
@@ -0,0 +1,11 @@
+The codespace you connect to must be running an SSH server. The default container image includes an SSH server, which is started automatically. If your codespaces are not created from the default image, you can install and start an SSH server by adding the following to the `features` object in your `devcontainer.json` file.
+
+```json
+"features": {
+ ...
+ "ghcr.io/devcontainers/features/sshd:1": {
+ "version": "latest"
+ },
+ ...
+}
+```
\ No newline at end of file
diff --git a/data/reusables/codespaces/starting-new-project-template.md b/data/reusables/codespaces/starting-new-project-template.md
new file mode 100644
index 0000000000..9f11d44d10
--- /dev/null
+++ b/data/reusables/codespaces/starting-new-project-template.md
@@ -0,0 +1 @@
+If you're starting a new project, you might want to create a codespace from a template and publish to a repository on {% data variables.product.product_name %} later.
\ No newline at end of file
diff --git a/data/reusables/codespaces/stopping-a-codespace.md b/data/reusables/codespaces/stopping-a-codespace.md
index 098e6f93cd..f6938a5972 100644
--- a/data/reusables/codespaces/stopping-a-codespace.md
+++ b/data/reusables/codespaces/stopping-a-codespace.md
@@ -1,5 +1,5 @@
-You can stop a codespace at any time. When you stop a codespace, any running processes are stopped and the terminal history is cleared. Any saved changes in your codespace will still be available when you next start it. If you do not explicitly stop a codespace, it will continue to run until it times out from inactivity. For more information, see "[Codespaces timeouts](/codespaces/developing-in-codespaces/codespaces-lifecycle#codespaces-timeouts)."
+You can stop a codespace at any time. When you stop a codespace, any running processes are stopped and the terminal history is cleared. Any saved changes in your codespace will still be available when you next start it. If you do not explicitly stop a codespace, it will continue to run until it times out from inactivity. For more information, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle#timeouts-for-github-codespaces)."
-Only running codespaces incur CPU charges; a stopped codespace incurs only storage costs.
+Only running codespaces incur CPU charges. A stopped codespace incurs only storage costs.
You may want to stop and restart a codespace to apply changes to it. For example, if you change the machine type used for your codespace, you will need to stop and restart it for the change to take effect. You can also stop your codespace and choose to restart or delete it if you encounter an error or something unexpected.
diff --git a/data/reusables/codespaces/template-codespaces-default-editor.md b/data/reusables/codespaces/template-codespaces-default-editor.md
new file mode 100644
index 0000000000..2fef0cee42
--- /dev/null
+++ b/data/reusables/codespaces/template-codespaces-default-editor.md
@@ -0,0 +1 @@
+When you create a new codespace from a template, it is always opened in the {% data variables.product.prodname_vscode %} web client. You can reopen an existing codespace in any supported editor. For more information, see "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)."
\ No newline at end of file
diff --git a/data/reusables/codespaces/usage-report-download.md b/data/reusables/codespaces/usage-report-download.md
new file mode 100644
index 0000000000..e2438119ad
--- /dev/null
+++ b/data/reusables/codespaces/usage-report-download.md
@@ -0,0 +1,13 @@
+1. Optionally, next to "Usage this month", click **Get usage report** to get an email containing a link for downloading a CSV report of storage use for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_github_codespaces %}. The email is sent to your account's primary email address. You can choose whether the report should cover the last 7, 30, 90, or 180 days.
+
+ 
+
+ The data used for this report is updated daily.
+
+ To see the costs for {% data variables.product.prodname_github_codespaces %} compute usage and storage, filter the report to show only rows that mention "Codespaces" in the `Product` column.
+
+ 
+
+ To see only the costs for creating, updating and storing prebuilds, filter the report to show only rows that mention "Create Codespaces Prebuilds" in the `Actions Workflow` column.
+
+ 
diff --git a/data/reusables/codespaces/use-chrome.md b/data/reusables/codespaces/use-chrome.md
index 2f4fd8ca75..6f841fb0a5 100644
--- a/data/reusables/codespaces/use-chrome.md
+++ b/data/reusables/codespaces/use-chrome.md
@@ -1 +1,2 @@
+
For the best experience with {% data variables.product.prodname_github_codespaces %}, we recommend using a Chromium-based browser, like Google Chrome or Microsoft Edge.
diff --git a/data/reusables/codespaces/view-all-templates-step.md b/data/reusables/codespaces/view-all-templates-step.md
new file mode 100644
index 0000000000..5915cd7577
--- /dev/null
+++ b/data/reusables/codespaces/view-all-templates-step.md
@@ -0,0 +1,3 @@
+1. To view the full list of templates, under "Explore quick start templates," click **See all**.
+
+ 
\ No newline at end of file
diff --git a/data/reusables/codespaces/vscode-interface-annotation.md b/data/reusables/codespaces/vscode-interface-annotation.md
new file mode 100644
index 0000000000..9eeb96e299
--- /dev/null
+++ b/data/reusables/codespaces/vscode-interface-annotation.md
@@ -0,0 +1,5 @@
+1. **Sidebar** - By default, this area shows your project files in the Explorer.
+2. **Activity bar** - This displays the Views and provides you with a way to switch between them. You can reorder the Views by dragging and dropping them.
+3. **Editor** - This is where you edit your files. You can right-click the tab for a file to access options such as locating the file in the Explorer.
+4. **Panels** - This is where you can see output and debug information, as well as the default place for the integrated Terminal.
+5. **Status bar** - This area provides you with useful information about your codespace and project. For example, the branch name, configured ports, and more.
diff --git a/data/reusables/codespaces/vscode-settings-order.md b/data/reusables/codespaces/vscode-settings-order.md
deleted file mode 100644
index 27e09a3975..0000000000
--- a/data/reusables/codespaces/vscode-settings-order.md
+++ /dev/null
@@ -1 +0,0 @@
-When you configure editor settings for {% data variables.product.prodname_vscode_shortname %}, there are three scopes available: _Workspace_, _Remote [Codespaces]_, and _User_. If a setting is defined in multiple scopes, _Workspace_ settings take priority, then _Remote [Codespaces]_, then _User_.
diff --git a/data/reusables/codespaces/ways-to-create-a-codespace.md b/data/reusables/codespaces/ways-to-create-a-codespace.md
new file mode 100644
index 0000000000..df86120d2b
--- /dev/null
+++ b/data/reusables/codespaces/ways-to-create-a-codespace.md
@@ -0,0 +1 @@
+You can create a codespace on {% data variables.product.prodname_dotcom_the_website %}, in {% data variables.product.prodname_vscode %}, or by using {% data variables.product.prodname_cli %}.
\ No newline at end of file
diff --git a/data/reusables/dependabot/dependabot-alerts-filters.md b/data/reusables/dependabot/dependabot-alerts-filters.md
index 30e694b7a7..9abf4ac3d4 100644
--- a/data/reusables/dependabot/dependabot-alerts-filters.md
+++ b/data/reusables/dependabot/dependabot-alerts-filters.md
@@ -8,7 +8,7 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %}
| `manifest` | Displays alerts for the selected manifest | Use `manifest:webwolf/pom.xml` to show alerts on the pom.xml file of the webwolf application |
| `package` | Displays alerts for the selected package | Use `package:django` to show alerts for django |
| `resolution` | Displays alerts of the selected resolution status | Use `resolution:no-bandwidth` to show alerts previously parked due to lack of resources or time to fix them |
-| `repo` | Displays alerts based on the repository they relate toNote that this filter is only available on the security overview. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)" | Use `repo:octocat-repo` to show alerts in the repository called `octocat-repo` |{%- ifversion dependabot-alerts-development-label %}
+| `repo` | Displays alerts based on the repository they relate toNote that this filter is only available on security overviews. For more information, see "[About security overviews](/code-security/security-overview/about-the-security-overview)" | Use `repo:octocat-repo` to show alerts in the repository called `octocat-repo` |{%- ifversion dependabot-alerts-development-label %}
| `scope` | Displays alerts based on the scope of the dependency they relate to | Use `scope:development` to show alerts for dependencies that are only used during development |{% endif %}
| `severity` | Displays alerts based on their level of severity | Use `severity:high` to show alerts with a severity of High |{%- ifversion dependabot-most-important-sort-option %}
| `sort` | Displays alerts according to the selected sort order | The default sorting option for alerts is `sort:most-important`, which ranks alerts by importanceUse `sort:newest` to show the latest alerts reported by {% data variables.product.prodname_dependabot %} |{% endif %}
diff --git a/data/reusables/dotcom_billing/monthly-spending-limit-codespaces.md b/data/reusables/dotcom_billing/monthly-spending-limit-codespaces.md
deleted file mode 100644
index b5367d1505..0000000000
--- a/data/reusables/dotcom_billing/monthly-spending-limit-codespaces.md
+++ /dev/null
@@ -1,2 +0,0 @@
-1. Under "Monthly spending limit", scroll down to "Codespaces" and choose to limit spending or allow unlimited spending.
- 
diff --git a/data/reusables/education/note-on-student-codespaces-usage.md b/data/reusables/education/note-on-student-codespaces-usage.md
new file mode 100644
index 0000000000..114193769f
--- /dev/null
+++ b/data/reusables/education/note-on-student-codespaces-usage.md
@@ -0,0 +1 @@
+If students use {% data variables.product.prodname_github_codespaces %} in their assignment repositories for {% data variables.product.prodname_classroom %}, the usage will be charged to the organization that owns the classroom, and will not affect the usage for a student's personal account.
diff --git a/data/reusables/education/student-codespaces-benefit.md b/data/reusables/education/student-codespaces-benefit.md
new file mode 100644
index 0000000000..104f1ba298
--- /dev/null
+++ b/data/reusables/education/student-codespaces-benefit.md
@@ -0,0 +1 @@
+Verified students receive free use of {% data variables.product.prodname_github_codespaces %}, up to a fixed amount of usage every month, for their personal accounts. The monthly amount of storage and core hours of usage available to students is equivalent to the amount included with {% data variables.product.prodname_pro %} accounts. For more information, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)."
\ No newline at end of file
diff --git a/data/reusables/gated-features/codespaces.md b/data/reusables/gated-features/codespaces.md
deleted file mode 100644
index a2d2202e7f..0000000000
--- a/data/reusables/gated-features/codespaces.md
+++ /dev/null
@@ -1 +0,0 @@
-{% data variables.product.prodname_github_codespaces %} is available for organizations using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}. {% data variables.product.prodname_github_codespaces %} is also available as a limited beta release for individual users on {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_pro %} plans. {% data reusables.gated-features.more-info-org-products %}
diff --git a/data/reusables/organizations/filter-security-overview.md b/data/reusables/organizations/filter-security-overview.md
index 3b34a1bce1..4e958bf94c 100644
--- a/data/reusables/organizations/filter-security-overview.md
+++ b/data/reusables/organizations/filter-security-overview.md
@@ -1,2 +1,2 @@
-1. Optionally, filter the list of alerts. You can click multiple filters in the drop-down filter menus to narrow your search. You can also type search qualifiers in the **Search repositories** field. For more information about the available qualifiers, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
- 
+1. Optionally, filter the list of alerts. You can click multiple filters in the drop-down filter menus to narrow your search. You can also type search qualifiers in the **Search repositories** field. For more information about the available qualifiers, see "[Filtering alerts in security overviews](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
+ 
diff --git a/data/reusables/organizations/security-overview-feature-specific-page.md b/data/reusables/organizations/security-overview-feature-specific-page.md
index 606fab66d0..130c77d82a 100644
--- a/data/reusables/organizations/security-overview-feature-specific-page.md
+++ b/data/reusables/organizations/security-overview-feature-specific-page.md
@@ -1 +1 @@
-1. Alternatively and optionally, use the sidebar on the left to filter information per security feature. On each page, you can use filters that are specific to that feature to fine-tune your search.
+1. Alternatively and optionally, use the sidebar on the left to filter information per security feature. On each page, you can use filters that are specific to that feature to fine-tune your search. For more information about the available qualifiers, see "[Filtering alerts in security overviews](/code-security/security-overview/filtering-alerts-in-the-security-overview)."
diff --git a/data/reusables/projects/projects-filters.md b/data/reusables/projects/projects-filters.md
index ac15ad7a78..0fa8f3b743 100644
--- a/data/reusables/projects/projects-filters.md
+++ b/data/reusables/projects/projects-filters.md
@@ -6,4 +6,5 @@
- To filter for the previous, current, or next iteration of an iteration field, use `@previous`, `@current`, or `@next`. For example, `iteration:@current`.
- To filter for items assigned to the viewer, use `@me`. For example, `assignee:@me`. Anyone using this view will see items assigned to themselves.
- To filter by when an item was last updated, use `last-updated:` followed by the number of days. This filter only supports `{number}days` (or `1day` for a single day) as a unit. For example, `last-updated:7days` will only show items that were last updated 7 or more days ago.
-- To filter date and number fields, use `>`, `>=`, `<`, `<=`, and `..` range queries. For example: `target:2022-03-01..2022-03-15`. For more information, see "[Understanding the search syntax](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax)."
+- To filter date and number fields, use `>`, `>=`, `<`, `<=`, and `..` range queries. For example: `target:2022-03-01..2022-03-15`. For more information, see "[Understanding the search syntax](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax)." {% ifversion projects-v2-tasklists %}
+- To filter for issues tracked by a specified issue, use `tracked-by:"/#"` and replace `` with the repository owner, `` with the repository name, and `` with the issue number. {% endif %}
diff --git a/data/reusables/projects/tasklists-release-stage.md b/data/reusables/projects/tasklists-release-stage.md
new file mode 100644
index 0000000000..6f236fc3bc
--- /dev/null
+++ b/data/reusables/projects/tasklists-release-stage.md
@@ -0,0 +1,5 @@
+{% note %}
+
+**Note:** Tasklists and the tracks and tracked-by fields for Projects are currently in private beta and subject to change. If you are interested in trying Tasklists and using the new fields, you can join the [waitlist](https://aka.ms/tasklist-roadmap-signup).
+
+{% endnote %}
\ No newline at end of file
diff --git a/data/reusables/repositories/sidebar-advisories.md b/data/reusables/repositories/sidebar-advisories.md
index faa357dca5..dd3c1fb9d0 100644
--- a/data/reusables/repositories/sidebar-advisories.md
+++ b/data/reusables/repositories/sidebar-advisories.md
@@ -1,2 +1,2 @@
-1. In the left sidebar, click **Security advisories**.
+1. In the left sidebar, under "Reporting", click **Advisories**.

diff --git a/data/reusables/repositories/sidebar-security.md b/data/reusables/repositories/sidebar-security.md
index c083833cd1..2e739b6552 100644
--- a/data/reusables/repositories/sidebar-security.md
+++ b/data/reusables/repositories/sidebar-security.md
@@ -1,2 +1,2 @@
-1. Under your repository name, click **{% octicon "shield" aria-label="The shield symbol" %} Security**.
+1. Under the repository name, click **{% octicon "shield" aria-label="The shield symbol" %} Security**.

diff --git a/data/reusables/repositories/tracks-vulnerabilities.md b/data/reusables/repositories/tracks-vulnerabilities.md
index c1b9db7f93..6fc1982cfc 100644
--- a/data/reusables/repositories/tracks-vulnerabilities.md
+++ b/data/reusables/repositories/tracks-vulnerabilities.md
@@ -1,5 +1,11 @@
We add advisories to the {% data variables.product.prodname_advisory_database %} from the following sources:
-- The [National Vulnerability Database](https://nvd.nist.gov/)
-- A combination of machine learning and human review to detect vulnerabilities in public commits on {% data variables.product.prodname_dotcom %}
- Security advisories reported on {% data variables.product.prodname_dotcom %}
-- The [npm Security advisories](https://www.npmjs.com/advisories) database
+- The [National Vulnerability database](https://nvd.nist.gov/)
+- The [npm Security advisories database](https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm)
+- The [FriendsOfPHP database](https://github.com/FriendsOfPHP/security-advisories)
+- The [Go Vulncheck database](https://pkg.go.dev/golang.org/x/vuln/vulncheck)
+- The [Python Packaging Advisory database](https://github.com/pypa/advisory-database)
+- The [Ruby Advisory database](https://rubysec.com/)
+- The [RustSec Advisory database](https://rustsec.org/)
+- Community contributions. For more information, see [https://github.com/github/advisory-database/pulls(https://github.com/github/advisory-database/pulls)
+If you know of another database we should be importing advisories from, tell us about it by opening an issue in [https://github.com/github/advisory-database](https://github.com/github/advisory-database).
diff --git a/data/reusables/search/classic-search-code-search-note.md b/data/reusables/search/classic-search-code-search-note.md
new file mode 100644
index 0000000000..e816bad8aa
--- /dev/null
+++ b/data/reusables/search/classic-search-code-search-note.md
@@ -0,0 +1,3 @@
+This article refers to the classic GitHub search experience. If you are participating in the new code search and code view beta and have enabled the new functionality, the syntax for searching code and the GitHub.com search interface will differ. However, the search syntax for non-code search types will stay the same.
+
+For information about the new code search and code view, currently in limited public beta, see "[About GitHub Code Search (beta)](/search-github/github-code-search/about-github-code-search)." To try out the new code search and code view beta, join the [waitlist](https://github.com/features/code-search-code-view/signup).
\ No newline at end of file
diff --git a/data/reusables/search/code-search-code-view-beta-note.md b/data/reusables/search/code-search-code-view-beta-note.md
new file mode 100644
index 0000000000..4de66eba88
--- /dev/null
+++ b/data/reusables/search/code-search-code-view-beta-note.md
@@ -0,0 +1 @@
+The new code search and code view are in limited public beta. To join the waitlist for access, visit https://github.com/features/code-search-code-view/signup.
diff --git a/data/reusables/search/code-search-link.md b/data/reusables/search/code-search-link.md
new file mode 100644
index 0000000000..320a0d9316
--- /dev/null
+++ b/data/reusables/search/code-search-link.md
@@ -0,0 +1 @@
+For more information on the new code search, see "[About GitHub Code Search (beta)](/search-github/github-code-search/about-github-code-search)."
diff --git a/data/reusables/search/code-view-link.md b/data/reusables/search/code-view-link.md
new file mode 100644
index 0000000000..c06f94d345
--- /dev/null
+++ b/data/reusables/search/code-view-link.md
@@ -0,0 +1 @@
+For more information on the new code view, see "[Navigating files with the new code view (beta)](/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view)."
\ No newline at end of file
diff --git a/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md b/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md
new file mode 100644
index 0000000000..778abee097
--- /dev/null
+++ b/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md
@@ -0,0 +1,6 @@
+You will receive an email when you are accepted from the waitlist to join the beta. Once given access, the new code search and code view beta will be automatically enabled on your account.
+
+You can disable or enable the beta on {% data variables.product.prodname_dotcom_the_website %} anytime. Note that this setting applies to both the code search and the code view.
+
+{% data reusables.feature-preview.feature-preview-setting %}
+1. To the right of "New Code Search and Code View (Beta)", click **Enable** or **Disable**.
\ No newline at end of file
diff --git a/data/reusables/search/non-code-search-explanation.md b/data/reusables/search/non-code-search-explanation.md
new file mode 100644
index 0000000000..0777e2be81
--- /dev/null
+++ b/data/reusables/search/non-code-search-explanation.md
@@ -0,0 +1 @@
+Note that the syntax and qualifiers for searching for non-code content, such as issues, users, and discussions, work the same as before. For more information on non-code search, see "[About searching on GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github)" and "[Searching on GitHub](/search-github/searching-on-github)."
\ No newline at end of file
diff --git a/data/reusables/security-advisory/private-vulnerability-reporting-beta.md b/data/reusables/security-advisory/private-vulnerability-reporting-beta.md
new file mode 100644
index 0000000000..eb1fb8cca8
--- /dev/null
+++ b/data/reusables/security-advisory/private-vulnerability-reporting-beta.md
@@ -0,0 +1,5 @@
+{% note %}
+
+**Note:** The private reporting of vulnerabilities is currently in beta and subject to change.
+
+{% endnote %}
\ No newline at end of file
diff --git a/data/reusables/security-advisory/private-vulnerability-reporting-enable.md b/data/reusables/security-advisory/private-vulnerability-reporting-enable.md
new file mode 100644
index 0000000000..1ef148bbed
--- /dev/null
+++ b/data/reusables/security-advisory/private-vulnerability-reporting-enable.md
@@ -0,0 +1,2 @@
+Owners and administrators of public repositories can enable private vulnerability reporting on their repositories. For more information, see "[Configuring private vulnerability reporting for a repository](/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository)."
+
diff --git a/data/reusables/security-advisory/private-vulnerability-reporting-overview.md b/data/reusables/security-advisory/private-vulnerability-reporting-overview.md
new file mode 100644
index 0000000000..b73073572f
--- /dev/null
+++ b/data/reusables/security-advisory/private-vulnerability-reporting-overview.md
@@ -0,0 +1,3 @@
+Private vulnerability reporting makes it easy for security researchers to report vulnerabilities directly to you using a simple form.
+
+When a security researcher reports a vulnerability privately, you are notified and can choose to either accept it, ask more questions, or reject it. If you accept the report, you're ready to collaborate on a fix for the vulnerability in private with the security researcher.
\ No newline at end of file
diff --git a/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md b/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md
index cb1b6b59bf..ae23866ee2 100644
--- a/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md
+++ b/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md
@@ -1,5 +1,5 @@
{% note %}
-**Note:** If you are a security researcher, you should directly contact maintainers to ask them to create security advisories or issue CVEs on your behalf in repositories that you don't administer.
+**Note:** If you are a security researcher, you should directly contact maintainers to ask them to create security advisories or issue CVEs on your behalf in repositories that you don't administer. However, if private vulnerabiliy reporting is enabled for the repository, you can _privately_ report a vulnerability yourself. For more information, see "[Privately reporting a security vulnerability](/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)."
-{% endnote %}
+{% endnote %}
\ No newline at end of file
diff --git a/data/reusables/security-overview/beta-org-risk-coverage.md b/data/reusables/security-overview/beta-org-risk-coverage.md
new file mode 100644
index 0000000000..13491b3027
--- /dev/null
+++ b/data/reusables/security-overview/beta-org-risk-coverage.md
@@ -0,0 +1,7 @@
+{% ifversion security-overview-org-risk-coverage %}
+{% note %}
+
+**Note:** The "Security Risk" and "Security Coverage" views are currently in beta and subject to change.
+
+{% endnote %}
+{% endif %}
diff --git a/data/variables/product.yml b/data/variables/product.yml
index 6c890174f3..3e86a2c5b3 100644
--- a/data/variables/product.yml
+++ b/data/variables/product.yml
@@ -229,6 +229,9 @@ prodname_command_palette: 'GitHub Command Palette'
# Server Statistics
prodname_server_statistics: 'Server Statistics'
+# GitHub Actions Importer
+prodname_actions_importer: 'GitHub Actions Importer'
+
# Links
product_url: >-
{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}
diff --git a/lib/all-tools.js b/lib/all-tools.js
index 92ae2dc597..79dbab78a6 100644
--- a/lib/all-tools.js
+++ b/lib/all-tools.js
@@ -5,8 +5,9 @@ export const allTools = {
codespaces: 'Codespaces',
curl: 'cURL',
desktop: 'Desktop',
- importer_cli: 'GitHub Enterprise Importer CLI',
graphql: 'GraphQL API',
+ importer_cli: 'GitHub Enterprise Importer CLI',
+ jetbrains: 'JetBrains IDEs (Beta)',
powershell: 'PowerShell',
vscode: 'Visual Studio Code',
webui: 'Web browser',
diff --git a/lib/search/popular-pages.json b/lib/search/popular-pages.json
index cb3d316504..c14e4150a1 100644
--- a/lib/search/popular-pages.json
+++ b/lib/search/popular-pages.json
@@ -997,4 +997,4 @@
{"path_article": "admin/configuration/configuring-network-settings/configuring-tls", "path_count": 1409}
{"path_article": "actions/using-github-hosted-runners/monitoring-your-current-jobs", "path_count": 1408}
{"path_article": "admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication", "path_count": 1408}
-{"path_article": "desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop", "path_count": 1407}
+{"path_article": "desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop", "path_count": 1407}
\ No newline at end of file
diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js
index 76b39e0ffc..5f7f868a6b 100644
--- a/tests/meta/repository-references.js
+++ b/tests/meta/repository-references.js
@@ -31,6 +31,7 @@ const PUBLIC_REPOS = new Set([
'codeql',
'codeql',
'codespaces-precache',
+ 'codespaces-jupyter',
'copilot.vim',
'dependency-submission-toolkit',
'dmca',
@@ -39,6 +40,7 @@ const PUBLIC_REPOS = new Set([
'explore',
'feedback',
'gh-net',
+ 'gh-actions-importer',
'git-lfs',
'git-sizer',
'github-services',