Render Tutorials
Learn Blueprints by shipping a live app

Create a Blueprint

⏱ 10 min

A Blueprint is the instruction sheet for your cloud setup. Point rootDir at the folder you ran locally.

Docs: Blueprints · Blueprint spec

1. Add render.yaml at the repo root

Create render.yaml next to the typescript/ and python/ folders (repo root), not inside a track folder.

services:
- type: web
name: firstdeploy
runtime: node
plan: free
rootDir: typescript
buildCommand: npm install
startCommand: npm start
healthCheckPath: /health
envVars:
- key: SERVICE_TITLE
value: Hello from Render Atlanta!
services:
- type: web
name: firstdeploy
runtime: python
plan: free
rootDir: python
buildCommand: pip install -r requirements.txt
startCommand: uvicorn main:app --host 0.0.0.0 --port $PORT
healthCheckPath: /health
envVars:
- key: SERVICE_TITLE
value: Hello from Render Atlanta!

In a shared workshop workspace, rename the service to avoid collisions:

name: firstdeploy-YOUR_GITHUB_USERNAME

Use lowercase and hyphens only.

2. Ask your agent (optional help)

Create a render.yaml Blueprint for this monorepo as a single free web service.
Use rootDir for my track folder only. Do not add a database, Redis, cron, or workers.
Validate the file if you can.

3. Commit and push

From the repo root:

Terminal window
git add render.yaml
git commit -m "Add Blueprint for Service Card"
git push origin main

Done when: GitHub shows render.yaml on your fork’s main branch.

Troubleshooting

SymptomFix
Build cannot find package.jsonTypeScript track needs rootDir: typescript
Build cannot find requirements.txtPython track needs rootDir: python
Agent invents PostgresReject it. One web service only

What you learned

  • rootDir selects your language folder
  • SERVICE_TITLE is the env proof on the live page
  • Next: Dashboard or MCP (pick one)