Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
title: Get Started — Introduction
description: Follow these step-by-step tutorials to set up your development environment and deploy your first platformOS site.
converter: markdown
Welcome to platformOS! Our Get Started guides will walk you through the steps of building a sample site or app on platformOS. They include detailed explanations for each step, example code, tips and best practices on development workflow and QA, and links to learn more.
## What you need to know
Besides standard web technologies like HTML, CSS, JavaScript, platformOS uses a couple of languages and technologies that you need to be familiar with to build a site on our platform.
**Command line** knowledge is required to navigate through the project folder structure and to deploy the changes you make locally to the server.
- [Command line crash course](
We recommend using a **version control system**. Internally, we use GitHub to host and collaborate on our git repositories. You can choose other version control systems, or decide to go without any: all that is required is your codebase and an Instance you can sync/deploy to.
- [git - the simple guide](
- [Learn Enough Git to Be Dangerous](
**GraphQL** is a query language that will help you build your back-end and needed APIs. It allows to manage data for your application, store and read database records and more. In the Get Started guide you will be guided through writing your first queries, so don’t worry!
- [Introduction to GraphQL](
- [The Fullstack Tutorial for GraphQL](
**Liquid** is a template language that allows you to build dynamic pages and provide dynamic configuration. In the Get Started guide we will be using it to server-side render data and to manage how the page behaves depending on user's action. You can check out the following articles but you can also learn while doing – it should be simple to understand.
- [A Complete Guide to Liquid Markup](/api-reference/liquid/introduction) by the platformOS team
- [Learning Liquid](
- [SHOPIFY LIQUID: Theme Programming for Beginners](
**YAML** allows you to store complex data in a human-readable format. We will be using it for building our databases, set some simple configuration, and optionally to store the translation strings for multilanguage webstites.
- [Learn YAML in 18 mins](
- [Get started with YAML in 5 minutes](
## Not sure where to start?
Let’s build a simple website together! If you are new to platformOS, we propose that you start with a simple course that we’ve prepared.
You will learn how to set up your environment, get a starter codebase, and deploy everything to your platfromOS instance. Next, you’ll build a simple to-do app using all of the core platformOS concepts.
Ready? Let’s learn how to [install and configure](/get-started/installation-and-configuration/) your development environment.
## Quick start
1. Go to the Partner Portal and [sign up](
2. [Create new instance]( in the Partner Portal
3. Install pos-cli
platformOS command-line interface is distributed through NPM.
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
npm install -g @platformos/pos-cli
4. Create an empty folder for your project
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
mkdir platformos-hello
5. Navigate to the project's folder in the command line
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
cd platformos-hello
6. Initialize the platformOS directory structure
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
pos-cli init
7. Authenticate your environment
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
pos-cli env add &lt;environment&gt; --email &lt;your email&gt; --url &lt;your instance url&gt;
8. Upload your code to the instance
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
pos-cli deploy &lt;environment&gt;
9. Upload code changes automatically when you save the file
<pre class="command-line" data-user="user" data-host="host"><code class="language-bash">
pos-cli sync &lt;environment&gt;
## Learn the core concepts
- **[Developement workflow](/developer-guide/platformos-workflow/development-workflow)**
Learn the steps needed to deploy your code to a platformOS instance.
- **[Codebase structure](/developer-guide/platformos-workflow/codebase)**
A detailed walkthrough of the directories and files required to work on the platform.
- **[platformOS Command Line Interface](/developer-guide/pos-cli/pos-cli)**
Check out how to use the command line to interact with your instance.
- **[Routing and templates](/developer-guide/pages/pages)**
Step-by-step guide on how the routing and creating subpages work on platformOS.
- **[Schema](/developer-guide/users/users)**
Learn how to define models with properties and persist the data in it.
- **[Modules](/developer-guide/modules/modules)**
The platform supports and encourages building modular codebases. This guide will show you how to do that.
- **[Data management](/developer-guide/data-import-export/import)**
If you need to import or export previously prepared data, this is how you can do it.
- **[Effective Development Using the pos-cli](**
A deep-dive into clever techniques for everyday development.
## Still have questions?
**Our community can help!** The platformOS community is open to all users to share the experience and knowledge gathered from working on platformOS-specific projects.
[Join the platformOS community](
{% render 'alert/next', content: 'Installation and Configuration', url: '/get-started/installation-and-configuration/' %}