Funnel-architect-plugin deploy-netlify
install
source · Clone the upstream repo
git clone https://github.com/ominou5/funnel-architect-plugin
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ominou5/funnel-architect-plugin "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/deploy-netlify" ~/.claude/skills/ominou5-funnel-architect-plugin-deploy-netlify && rm -rf "$T"
manifest:
skills/deploy-netlify/SKILL.mdsource content
Deploy to Netlify
Prerequisites
- Node.js installed
- Netlify account (free tier works for funnels)
Setup
# Install Netlify CLI npm install -g netlify-cli # Login to Netlify netlify login # Initialize project (first time only) netlify init
Deploy Commands
# Deploy a preview (draft URL) netlify deploy --dir=. # Deploy to production netlify deploy --dir=. --prod
Netlify Configuration (netlify.toml
)
netlify.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
- Go to Site settings → Domain management → Add custom domain
- Add a CNAME record pointing to
[site-name].netlify.app - 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:
<form name="lead-capture" method="POST" data-netlify="true"> <input type="email" name="email" required> <button type="submit">Subscribe</button> </form>