---
name: netlify
description: Use the Netlify CLI (netlify) to create/link Netlify sites and set up CI/CD (continuous deployment) from GitHub, especially for monorepos (multiple sites in one repo like Hugo sites under sites/<domain>). Use when Avery asks to deploy a new site, connect a repo to Netlify, configure build/publish settings, set environment variables, enable deploy previews, or automate Netlify site creation.
---
# netlify
Use the `netlify` CLI to create projects (“sites”), link local folders, and configure CI/CD from GitHub.
## Pre-reqs
- `netlify --version`
- Logged in (`netlify login`) **or** provide `--auth $NETLIFY_AUTH_TOKEN`.
- Know the Netlify team/account slug you want to create sites under (optional but recommended).
Helpful checks:
```bash
netlify status
netlify sites:list
```
## Monorepo pattern (recommended)
For **one repo with multiple sites** (e.g. `sites/seattlecustomboatparts.com`, `sites/floridacustomerboatparts.com`):
- Create **one Netlify site per domain**.
- Set the site’s **Base directory** to that subfolder.
- Put a `netlify.toml` *inside that subfolder*.
This keeps each domain’s build config self-contained.
### Hugo subfolder `netlify.toml`
Create `sites/<domain>/netlify.toml`:
```toml
[build]
command = "hugo --minify"
publish = "public"
[build.environment]
HUGO_VERSION = "0.155.1"
```
(Adjust HUGO_VERSION as needed.)
## Fast workflow: create + link + init CI/CD
### 1) Create a Netlify site (project)
Run inside the site folder you want to deploy (base dir):
```bash
cd sites/<domain>
netlify sites:create --name <netlify-site-name> --account-slug <team> --with-ci
```
Notes:
- `--with-ci` starts CI hooks setup.
- If you need manual control, add `--manual`.
### 2) Link local folder to the created site
If not linked already:
```bash
netlify link
```
### 3) Connect to GitHub for continuous deployment
```bash
netlify init
```
This is usually interactive (select Git remote/repo + build settings). For automation we can pre-create `netlify.toml` and then accept defaults.
## Environment variables
Set per-site vars:
```bash
netlify env:set VAR_NAME value
netlify env:list
```
Useful for monorepos:
- `CONTACT_EMAIL` (or other shared config)
## Deploy
Manual deploys (handy for quick preview):
```bash
netlify deploy # draft deploy
netlify deploy --prod # production deploy
```
## Included scripts
- `scripts/hugo_netlify_toml.sh`: create a `netlify.toml` in a Hugo subfolder
- `scripts/netlify_monorepo_site.sh`: helper to create/link/init a site for a subfolder
When using scripts, prefer passing `NETLIFY_AUTH_TOKEN` via env for non-interactive runs.AI advertising agents that automates ad campaigns across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads. Creates campaigns, reads live performance data, researches keywords with real CPC data, optimizes budgets, and manages ads through natural language via the Adspirer MCP server. 103 tools across 4 ad platforms.
Self-orchestrating multi-agent development workflows.
Complete guide for creating and deploying browser automation functions
Comprehensive guide for building AI workflows, agents