Skip to main content
ClaudeWave
Install in Claude Code
Copy
git clone --depth 1 https://github.com/ominou5/funnel-architect-plugin /tmp/deploy-netlify && cp -r /tmp/deploy-netlify/skills/deploy-netlify ~/.claude/skills/deploy-netlify
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Deploy to Netlify

## Prerequisites
- Node.js installed
- Netlify account (free tier works for funnels)

## Setup

```bash
# Install Netlify CLI
npm install -g netlify-cli

# Login to Netlify
netlify login

# Initialize project (first time only)
netlify init
```

## Deploy Commands

```bash
# Deploy a preview (draft URL)
netlify deploy --dir=.

# Deploy to production
netlify deploy --dir=. --prod
```

## Netlify Configuration (`netlify.toml`)

```toml
[build]
  publish = "."

# Redirect www to non-www
[[redirects]]
  from = "https://www.example.com/*"
  to = "https://example.com/:splat"
  status = 301

# Custom 404 page
[[redirects]]
  from = "/*"
  to = "/404.html"
  status = 404

# Headers for performance
[[headers]]
  for = "/*.html"
  [headers.values]
    Cache-Control = "public, max-age=300"

[[headers]]
  for = "/*.css"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"

[[headers]]
  for = "/*.js"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"

[[headers]]
  for = "/*.webp"
  [headers.values]
    Cache-Control = "public, max-age=31536000, immutable"
```

## Custom Domain
1. Go to **Site settings → Domain management → Add custom domain**
2. Add a CNAME record pointing to `[site-name].netlify.app`
3. Enable HTTPS (automatic with Let's Encrypt)

## Environment Variables
Set via Netlify dashboard: **Site settings → Environment variables**
Or via CLI: `netlify env:set KEY value`

## Form Handling
Netlify has built-in form handling — add `netlify` attribute:
```html
<form name="lead-capture" method="POST" data-netlify="true">
  <input type="email" name="email" required>
  <button type="submit">Subscribe</button>
</form>
```