2 11 min

Setup: your repo and your tools

Block
Setup: after the talk, before the first Role
Outcome
Your own repo, your tools installed, Antigravity IDE open
Time box
11 minutes

These steps take you from your accounts and the installed Antigravity IDE (the prep page, checked on page 1) to your own repo, open in Antigravity IDE. Did them at home on the prep page? Then skip this page.

Click Next when a step works. Stuck? Click Stuck? at the top.

Copy the Template repo 1:30 min

The Template repo has what your agents need. Copy it into a repo of your own (your project folder on GitHub).

Open the Template repo

  1. Click the green button Use this template, then Create a new repository. You only see this button when you are signed in to GitHub with your own account. No green button? Click Sign in at the top right first.
    The template repo on GitHub, marked Public template. Under its name, next to Pin, Watch, Fork and the star, a red arrow points to the green button Use this template.
    The green Use this template button sits under the repo name, next to the star.
  2. Owner: your username. Repository name: portfolio, exactly like this, in lowercase.
  3. Choose Public: GitHub Pages is free only for public repos.
  4. Click Create repository.

You know it worked when you are on github.com/YOUR-USERNAME/portfolio, and under the name it says "generated from fabkrum/portfolio-template".

The new repo portfolio on GitHub, marked Public, with the folders .agents, .github/workflows, checkpoints, design, docs, fonts, site and tests, and a red cross next to Initial commit.
Your new repo: portfolio, Public, with the folders from the Template. The red cross next to Initial commit is expected: the next step switches on GitHub Pages and publishes.

Switch on GitHub Pages 2:00 min

GitHub Pages (GitHub's free website hosting) publishes your site.

  1. On your repo's page, click the tab Settings at the top, in the row with Code, Issues and Actions. In a narrow window it hides behind the … menu. Not the Settings in the menu under your picture: that one is for your account, and its Pages page talks about Verified domains. If you see that, go back to github.com/YOUR-USERNAME/portfolio.
  2. In the menu on the left, click Pages.
  3. Under Build and deployment, set Source to GitHub Actions. Do not click the Configure buttons GitHub then suggests.
    The repo's Settings page with Pages selected in the left menu. Under Build and deployment the Source menu is open, with GitHub Actions ticked and Deploy from a branch below it. Further down, the link View workflow runs.
    Step 3 on the repo's Settings page: Pages in the left menu, and under Source the choice GitHub Actions, not Deploy from a branch. The link View workflow runs below is where step 4 goes on.
  4. Stay on this page and scroll down a little: under the two Configure cards, click the link View workflow runs. It opens the Actions tab, the one in the top row of your repo. Not Actions in the menu on the left: that only opens more settings. The list shows a run with a red cross, titled Initial commit. Leave it; the next step starts a new one.
    The Actions tab of the repo: on the left, All workflows, CI and Deploy to GitHub Pages; on the right, two runs titled Initial commit, one skipped for CI and one with a red cross for Deploy to GitHub Pages.
    The Actions tab: the two runs on the right are both titled Initial commit; the one with the red cross belongs to Deploy to GitHub Pages. Step 5 uses Deploy to GitHub Pages in the column on the left.
  5. In the column on the left, under All workflows, click Deploy to GitHub Pages. On the right, click the grey Run workflow button, then the green Run workflow button under it. A new run appears after a few seconds.
  6. Click the new run and wait for the green tick, usually under a minute. Ignore a yellow warning about Node.js or a notice about Ubuntu.
    The run Deploy to GitHub Pages #2 with a green tick, Status Success, and a box named deploy that holds the link to the site, newsletter-lgtm.github.io/portfolio. Below, one warning and one notice.
    Done: Status Success, and the box named deploy holds the link to your site. The warning and the notice under Annotations change nothing.
  7. Click that link, or open https://YOUR-USERNAME.github.io/portfolio/ in Chrome, with your own username.

You know it worked when you see the portfolio of Ada Example, a sample person. Your site is live.

Open Antigravity IDE 1:00 min

Open Antigravity IDE and check that your Google picture or initial shows in its top right corner: installed and signed in on the prep page, step 2. Not done yet? Do that step now; the prep page has every move for Mac, Windows and Linux, including the verification screen a new Google account can meet. Then come back here.

Linux: the Install script in the next step may say that Antigravity IDE is not installed. That to-do you may leave open.

Run the Install script 3:00 min

The Install script installs Git and Node where they are missing. It copies your repo into a folder portfolio in your home folder (the one with your Documents and Downloads) and opens it in Antigravity IDE.

  1. Quit Antigravity IDE completely: on a Mac press Cmd+Q; on Windows and Linux close its window. Left open, it would not find the Git and Node the script installs. The script opens it again.
  2. Open a terminal (the window where you type commands), paste the line for your system and press Enter.

The guide opened the tab for your system. Check that it is yours.

Open Terminal: press Cmd+Space, type Terminal and press Enter. Paste with Cmd+V.

curl -fsSL https://raw.githubusercontent.com/fabkrum/portfolio-template/main/install.sh | WORKSHOP_EVENT="DevFest Milano 2026" WORKSHOP_DATE=2026-10-10 WORKSHOP_CITY="Milan" WORKSHOP_START="" WORKSHOP_END="" sh

A window asks you to install the command line developer tools (Apple's package that brings Git)? Click Install, not "Get Xcode". When it is done, after five minutes or more on busy Wi-Fi, run the same line again.

No administrator password? Click Cancel. The script continues without Git, and at Ops you publish in the browser.

It asks What is your GitHub username? Type it and press Enter.

What you see on a Mac (example)

Setting up your laptop for the portfolio workshop.
What is your GitHub username? luca-bianchi

Apps
  [ok]    Google Chrome is installed.
  [ok]    Antigravity IDE is installed.

Tools
  [ok]    Git is installed (git version 2.54.0 (Apple Git-157)).
  [ok]    Node is installed (v25.2.1).
          Downloading Chrome DevTools for agents for the QA role...
  [ok]    Chrome DevTools for agents is ready.

Your repo
  [ok]    Copied your repo to /Users/luca-bianchi/portfolio.
  [ok]    Saved your workshop in workshop.json: DevFest Milano 2026.
  [ok]    Opened your repo in Antigravity IDE.

Summary
Everything is ready.
Run this command again any time; it only does what is still missing.

You know it worked when the summary says Everything is ready. and Antigravity IDE opens your portfolio folder.

The summary says Still to do? Do each numbered item, then run the same line again. Two to-dos you may leave open: Antigravity IDE is not installed when you did install it, and Git without administrator rights. Stuck? says what to do instead.

Open your repo in Antigravity IDE 1:00 min

Usually the Install script has opened it for you: your files on the left, such as AGENTS.md, site and tools, and the agent panel on the right.

Antigravity IDE with the folder portfolio open: the Explorer on the left lists .agents, checkpoints, design, docs, site, tests, tools and AGENTS.md; the Agent panel on the right has a chat box with Gemini 3.8 Flash Low.
Your repo open: the window title and the top of the Explorer say portfolio, and AGENTS.md is in the list. If the title shows another folder, such as tools, open the folder portfolio as below. The model name sits at the bottom of the chat box; the next step uses it.

Not open? Start Antigravity IDE, choose File → Open Folder and pick the folder portfolio in your home folder:

In the dialog, press Cmd+Shift+H: it jumps to your home folder. Click portfolio, then Open.

Antigravity IDE asks whether you trust the authors of the files in this folder? Say yes: it is your own repo.

Pick the smallest Gemini Flash model 1:00 min

The model is the AI behind the agent.

  1. In the agent panel, click the model name at the bottom of the chat box.
  2. In the list, click Gemini 3.8 Flash. A small menu opens next to it with Low, Medium and High: pick Low. Not Gemini 3.1 Pro, and not one of the Claude or GPT-OSS models.

You know it worked when the chat box says Gemini 3.8 Flash Low. Often it already does: then there is nothing to change.

The model menu in the agent panel: Gemini 3.8 Flash Low selected, with a side menu Low, Medium, High; below it Gemini 3.7 Flash, Gemini 3.6 Flash and Gemini 3.1 Pro marked Leaving Soon, then Claude Sonnet, Claude Opus and GPT-OSS.
The model menu: Gemini 3.8 Flash with Low in its side menu is the one for today. The older Flash models and the Pro model are marked Leaving Soon; the Claude and GPT-OSS entries are bigger models that use the quota faster.

Check that you are ready 1:30 min

Confirm each point

Stuck?

Copy the exact error message into Gemini and ask what to do. Once Antigravity IDE runs, ask its agent instead: in a chat, type Where am I? Still stuck? Ask your neighbour, or raise your hand. These are the usual problems:

"I could not find your repo at https://github.com/…"

Cause: the username is wrong, or the repo is not called portfolio, or it is private.

Fix: open your repo on GitHub and check two things: its name is portfolio, and it is Public. Then run the Install script again.

GitHub says you already have a repository called portfolio

Fix: rename the old one first. Open it on GitHub, click Settings, change Repository name to, for example, portfolio-old, and click Rename. Then copy the Template repo again.

"That does not look like a GitHub username"

Fix: run the line again and type only your username, for example luca-bianchi, without spaces.

"… is not recognized as an internal or external command" on Windows

Cause: you are in Command Prompt, not PowerShell.

Fix: click Start, type PowerShell, open Windows PowerShell and paste the Windows line there.

"A parameter cannot be found that matches parameter name" or "'sh' is not recognized" on Windows

Cause: you pasted the Mac or the Linux line. They do not work on Windows.

Fix: open the Windows tab in Run the Install script and paste its line, the one that starts with $env:, into Windows PowerShell.

"command not found: wget" or "curl: command not found"

Cause: the line is for another system, or your system lacks the download tool it uses.

  • Mac, zsh: command not found: wget: that was the Linux line. Paste the one from the Mac tab.
  • Linux, curl: command not found: that was the Mac line. Paste the one from the Linux tab.
  • Linux, wget: command not found: your system lacks wget. Paste the second line in the Linux tab.
The script says Antigravity IDE is not installed, but you installed it

Cause: you installed Antigravity 2.0 instead (the script then says so), or Antigravity IDE sits in a place the script does not look.

Fix: have you got Antigravity 2.0? Download and install Antigravity IDE. On a Mac, drag Antigravity IDE into Applications if it is still in Downloads. Then run the line again. Is this the only to-do, and does Antigravity IDE open when you start it? Then you are ready: open your repo yourself, as in Open your repo in Antigravity IDE.

An administrator password you do not have, or "Git could not be installed"

Cause: installing Git needs administrator rights. A work or school laptop often does not give them to you.

Fix: click No on Windows or Cancel on a Mac. The script downloads your repo without Git, and every Block works. If Git is the only to-do left, you are ready. At Ops you publish in the browser: see If something goes wrong on the Ops page.

"command not found: node" or "node is not recognized"

Cause: the terminal was open while Node was installed.

Fix: close the terminal and open a fresh one. In Antigravity IDE, quit the app completely and open it again.

"There is already a folder … portfolio, and it is not your portfolio repo"

Fix: rename or move that old folder, then run the Install script again.

Antigravity IDE does not let me sign in

Cause: usually a work or school account, the age check, your region, or a used-up quota.

Fix: sign in with a personal Google account. If that does not help, pair with your neighbour: see If Antigravity IDE does not work for you.

My site shows "404" or nothing

Fix: wait a minute and reload. On a new GitHub account, the first publish can need as long as ten minutes. Check that Settings → Pages → Source says GitHub Actions and that the newest Deploy to GitHub Pages run in the Actions tab has a green tick.

If Antigravity IDE does not work for you

You still leave with your own repo and your own live site: you follow the Roles on your neighbour's laptop, and one command per Block keeps your laptop in step with the room.

  1. Tell the Instructor.
  2. Run the Install script anyway, as in Run the Install script, and ignore its to-do about Antigravity IDE. It copies your repo into the folder portfolio in your home folder.
  3. Open a terminal in that folder. Open a fresh terminal: Terminal on a Mac and on Linux, Windows PowerShell on Windows. Paste this (Cmd+V on a Mac, Ctrl+V on Windows, Ctrl+Shift+V on Linux) and press Enter. It prints nothing; the line before the cursor now ends in portfolio.

Terminal · same on Mac, Windows and Linux

cd portfolio
  1. Sit with your neighbour. In every Block, follow the Role on their laptop: read each read-back with them and help them decide.
  2. In the Analyst Block, write your content by hand. Open site/content.json in a plain text editor:

In Finder, press Cmd+Shift+H, then open portfolio and site. Right-click content.json, then Open With → TextEdit. In TextEdit, untick Edit → Substitutions → Smart Quotes, so your quotes stay straight.

Replace Ada Example's words between the quotes with yours, from your name down to your CV: her pitch, highlights, availability, city and languages too. Leave the words before each colon as they are, and keep mailto: in front of your email address. A project needs a link to its GitHub repo. No such project yet? Delete everything between the square brackets after "projects":, so the line reads "projects": []. Save the file, then check it:

Terminal · same on Mac, Windows and Linux

node tools/check-content.mjs

It names what to fix, such as a missing comma. Fix it, save, and run the check again until it says site/content.json is ready.

  1. Each time a Block's time is up, run the room's checkpoint on your own laptop, with the Block that has just ended. After the Analyst Block, that is:

Terminal · same on Mac, Windows and Linux

node tools/checkpoint.mjs analyst

After the next Blocks, replace analyst with designer, developer and qa. The Developer's checkpoint writes your legal page too.

  1. In the Ops Block, publish by hand. Paste these commands one at a time, press Enter after each, and read what it prints before the next.

See what would be published. Only files in site/, and maybe design/brief.md or docs/spec.md, belong in the list. Move anything else, such as a CV, out of the folder first:

Terminal · same on Mac, Windows and Linux

git status

Add the changes:

git add -A

Save them in a commit:

git commit -m "Publish my portfolio"

It says Please tell me who you are? Then run these two, with your GitHub username in place of YOUR-USERNAME, and the commit again:

git config user.name "YOUR-USERNAME"
git config user.email "YOUR-USERNAME@users.noreply.github.com"

Send the commit to GitHub. The first time, GitHub asks you to sign in. On Windows, click Sign in with your browser. On a Mac or Linux, type your GitHub username at Username. At Password, paste a token, made as in step 3 of the Mac tab in Sign in if GitHub asks.

git push

Wait until your site is online:

node tools/live.mjs

Done when it prints Your site is live, and your address shows your name.