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.
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.
For more information on exactly how GitHub Codespaces works, see the companion guide "Deep dive into GitHub Codespaces."
Creating your codespace
-
Navigate to the template repository and select Use this template.
-
Select an owner for the new repository, enter a repository name, select your preferred privacy setting, and click Create repository from template.
-
On the main page of the newly created repository, click the Code button and select the Codespaces tab.

If you don’t see this tab, GitHub Codespaces isn't available for you. For more information about access to GitHub Codespaces, see "Creating a codespace."
-
On the Codespaces tab, click Create codespace on main.
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.
-
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.
-
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.

-
Click Open in Browser to view your running application in a new tab.
Edit the application and view changes
-
Switch back to your codespace and open the haikus.json file by double-clicking it in the Explorer.
-
Edit the
textfield of the first haiku to personalize the application with your own haiku. -
Go back to the running application tab in your browser and refresh to see your changes.
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.
-
In the Activity Bar, click the Source Control view.

-
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.

-
Type a commit message describing the change you've made.
-
To commit your staged changes, click the check mark at the top the source control side bar.
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 GitHub.
-
At the top of the side bar, click the ellipsis (...).

-
In the drop-down menu, click Push.
-
Go back to your new repository on GitHub and view the haikus.json file. 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 Visual Studio Code 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: If you have 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 Visual Studio Code that are signed into your GitHub account.
-
In the left sidebar, click the Extensions icon.
-
In the search bar, enter
fairyflossand install the fairyfloss extension.
-
Click Install in Codespaces.
-
Select the
fairyflosstheme by selecting it from the list.
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 GitHub Codespaces.
- "Deep dive": This quickstart presented some of the features of GitHub Codespaces. The deep dive looks at these areas from a technical standpoint.
- "Add a dev container configuration to your repository": These guides provide information on setting up your repository to use GitHub Codespaces with specific languages.
- "Introduction to dev containers": This guide provides details on configuring a development container for your codespace.

