Projects
What’s a Project?
When building apps for Space, the first thing you start with is a Project. A Project is where you build, test, and release apps it to the public. Projects in Space live inside Builder, a system application in every developer’s Space for building and managing other Space apps.
Creating a Project
đź’ˇ For a beginners A-Z guide checkout our New Apps page.
You can create new a new Project using the Space CLI. To create a new Builder Project with the Space CLI, open a new terminal, navigate into a new directory (or the directory of app you want to push to Space) and run the space new
 command:
Enter a name for your Project when prompted. The Space CLI should try to detect code in your local directory, written in any language or framework compatible with the Space Runtime via Deta Micros.
Deta Micros are lightweight serverless compute units inside your app which can be exposed to the world over HTTP.
If found, you can see a bootstrapped configuration generated by the CLI. Here’s an example config for a simple Python app:
Confirm the generated configuration, if it’s correct for your application. The CLI should create a new Project in Builder and generate a Spacefile
in your local directory.
This Spacefile
 contains the configuration of your app, used by Deta Space to understand what your app looks like and how to run it. If the bootstrapped configuration failed, you can create your own configuration and add individual Micros using the Spacefile
.
Additionally, the CLI should create a hidden .space
 directory locally — this contains information about your Project, linking your local directory to Builder. This directory should not be included in your version control and was automatically added to your .gitignore
.
Builder doesn’t keep track of your source code, we recommend you use Git as a version control system.
Managing Projects in Builder
Now that you’ve created or linked a project, you can view and manage it inside the Builder app, which can be found on your Horizon in Space.
Builder will list all your projects, and you can click on any of them to enter their management view.
Individal Projects
Each Project in Builder consists of 3 main pages: Overview, Develop, and Publish.
Overview
Where you see important information about your Project, like its latest Release and recent events.
Develop
Where you to manage your project’s development. The Develop tab has three sub-tabs: Overview, Data, and Configuration.
The Overview sub-tab is where you can access your Builder Instance, and see it’s Logs.
The Data sub-tab is where you access your Project’s data, which you can view, edit and manage via the Data GUIs, and Data Keys.
The Configuration sub-tab is where you can manage your Builder Instance’s configuration — both environment variables and Custom Domains.
You can define environment variables for your app using the
Spacefile
.
Publish
The Publish tab is where you create and manage Releases of your app.
Project Linking
Your local development environment is connected to Builder via the hidden .space
 directory, which contains a unique identifier: a Project ID. When you run space new
, the Space CLI will automatically connect the local directory via this Project ID with a newly created Project in Builder.
You can also connect any local directory to any existing Builder Project via this Project ID and the space link
CLI command. To do so, navigate to the directory you want to link and enter the command:
space link
prompts you to enter a Project ID. Entering it links the directory with your Project in Builder via the local .space
sub-directory. You can get your Project ID by opening the Builder application, clicking your project, and then using the Copy Project ID action in Teletype.