The Deployer documentation
Creating & deploying a project

Analysis: how we read your code

Right after you create a project, The Deployer reads your code for you — so you don't have to explain anything technical about it. This automatic step is called Analysis (or the scan). It's how the app learns what your project is and what it needs to run online.

It's automatic — just watch

You don't set anything up here. As soon as the project is created, the Repo Intelligence agent opens your repository and reads through it, posting little updates as it discovers things. It usually finishes in under a minute. When it's done, you'll see a summary of everything it found. You never write configuration — the app figures it out.

What the scan detects

The agent doesn't just glance at file names — it reads the actual source code. From that, it works out:

It findsIn plain terms
Languages & frameworksWhat your app is built with (e.g. React, Django, Express, Spring)
ServicesThe separate runnable parts of your app — a website, a backend, a background worker
PortsThe "doors" each part listens on for web traffic
Routes & health checksThe web addresses your app serves, including any "is it alive?" endpoint
Environment variablesThe settings and secret keys your app expects (see environment variables)
Databases & other servicesWhether your app needs a database, a cache, and so on
Dependencies & lockfilesThe exact building blocks your app relies on

It handles a wide range of stacks: JavaScript/TypeScript (Node), Python (Django, Flask, FastAPI), Go, Java/Spring, Ruby on Rails, PHP, and plain static websites. See supported languages & frameworks for the full list.

The "deployability" verdict

At the top of the results you'll see one of three friendly verdicts, so you know what to expect:

  • Fully automatic deployment possible — the app understood everything and can take it from here.
  • Almost automatic — small input needed — it mostly understands your app but may need a little help from you (like a missing setting).
  • Manual help needed — your app is unusual enough that some steps will need your input.

A short note explains the reasoning in each case. None of these block you — they just set expectations.

Choosing what to deploy

Below the summary, each part of your app appears as a service card showing its type, framework, folder, port, and any settings it needs.

A deployment puts one service online. When your repository has more than one, say a website and an API, the cards are a single choice: one is chosen for you (an API comes before the website that calls it) and you can pick another. Deploying one service at a time keeps each deployment simple and reliable, and each service gets its own settings, hosting plan and web address.

To put the others online, click Deploy separately on a service's card, or Deploy next to it once your app is live. That creates another project from the same repository and branch, set up to deploy that service. When your API is live, the website's project offers the API's address for its API address setting. Projects from the same repository and branch count as one project on your plan.

When you're happy, click Continue to environment setup (in the deploy guide, Continue with and the service's name) to move on.

If it flags something (or looks wrong)

  • Something's missing or looks off? Click Re-scan repository to read your code fresh. This is safe to do any time — for example after you've pushed a fix to your repo.
  • A needed service wasn't detected? Don't worry — the later Code Readiness step can add missing pieces (like a health check), and you can also fine-tune things in Chat.
  • The scan failed? You'll see a clear message and a Try again button. If it keeps failing, the AI assistant can help explain why.

Nothing here changes your code — Analysis only reads it. The results feed every step that follows, so it's worth a quick look before you continue.