Connect with Cliff
Setup Kits

Setup kits you paste straight into Claude.

Copy-paste prompt files that set up your machine and workspace. Feed one to Claude Code and it builds it for you — no theory, just the exact setup I run. Free, no opt-in, like everything here.

Wanna hang?

If you're getting something out of this, stick around. I send a short note most weeks on what I'm actually building and figuring out — the real stuff, no pitch. Drop your email if you want it.

Free, no spam, leave whenever.

Kit 1

Frictionless Claude Code

My exact shell setup so Claude Code launches in one keystroke, stops re-asking for permissions, and color-codes my orchestrator/worker terminals. Paste it to Claude and it installs the right version for your machine — macOS, Windows, or Linux.

  • cb / cbr — launch and resume with permissions pre-bypassed
  • Color-coded terminal pairs (ccr, ccn…) — each orchestrator + its worker share a color, so you never lose the set
  • One paste — Claude installs it and explains each line
Download .md
Kit 2

System-Level Voice Dictation

Press one key in any app — terminal, browser, notes — talk, and your words land at the cursor. Runs on Deepgram's Nova-3, so it's accurate and learns the names you say all day. Paste it to Claude and it builds the right version for macOS, Windows, or Linux.

  • Talk instead of type — 3–4× faster, and the AI gets the full thought, not the lazy typed version
  • A vocabulary list so it spells your tools and names right — no more invented words
  • A silence cutoff so a session you forgot about never burns your Deepgram credits
Download .md
Kit 3

Cloudflare — your foundation

The series moves from your machine to the foundation your sites run on. Cloudflare is the one control panel for your DNS, a private door into your server, a CDN, image hosting, and email. You hand Claude one scoped API token and it manages all of it for you — by talking, not clicking.

  • A tunnel that reaches your server over https with zero open ports — even SSH
  • A Cloudflare Access service token — how your AI gets in safely, not a password sitting on the box (one-click revoke)
  • Scope one key once — the CDN, email, and your next sites just pop into the same foundation later
Download .md
Kit 4

Cloudflare R2 — storage & CDN

The storage and CDN layer, in the same Cloudflare account as Kit 3. R2 is S3-compatible object storage your AI controls with one key that doesn't expire. Host images on a fast cdn. subdomain, keep private files locked, and let Claude run all of it.

  • One permanent S3 key, so Claude runs your files with no login screen in the way
  • Public bucket on your cdn. subdomain, private files stay locked, signed links for the in-between
  • S3-compatible: already have an S3 bucket? Point Claude at that instead, no double-paying
Download .md
Read the story (the full post)

The Short Version

Cloudflare isn't just your security layer anymore. It's becoming your one control center. Part Three set up the foundation: the account, the tunnel to your server, the locked doors. Now we add the next layer in the same place. Where your files live. Your CDN.

It's called R2. Think of it as a hard drive in the cloud that both your websites and your AI can reach. You give Claude one key, set once, that doesn't expire, and it manages your files for you.

This isn't about ditching Google Drive. Keep it. This is a second kind of storage, built for a code-first way of working, for the stuff you want Claude to operate on directly.

It's perfect for hosting your images. Drop them in, serve them from cdn.yoursite.com, and they load fast anywhere.

And yes, this costs money. Building does. But you're already paying to work this way, and what this piece buys you is worth far more than the price.

Full breakdown below. Copy-paste prompt at the bottom.


Part Four. One place for everything, now including your files.

I want to zoom out for a second, because this is where the picture comes together.

The whole point of what we're building is one control center. Instead of your stuff scattered across ten different accounts and dashboards, it all lives in one place, Cloudflare, and your AI has the keys to it.

In Part Three we set up the foundation there. The security layer. Your Cloudflare account as the control panel, the tunnel that lets you reach your server with nothing exposed, and the locked doors on your private dashboards. That's the "keep it safe and reachable" layer.

This part adds the next one, in the same account. Where your files actually live. Your CDN.

Let me explain it simply, because you don't need to be technical for this. That's the whole idea. You hand the technical part to Claude.

It's called R2. Forget the jargon and think of it as a hard drive in the cloud. A place to keep your files: your images, your downloads, your backups. Two things make it special. First, it lives in the same Cloudflare account as everything else, so it's one more thing in your one control center instead of another separate silo to manage. Second, it's built to be reached by code, which means it's built to be reached by Claude.

One honest note so you don't overspend, because this part confused me at first. The technical name for this kind of storage is object storage. Amazon built the first big one, called S3, and it became the standard everyone else copied. R2 is Cloudflare's version of that same idea, and it speaks the same S3 language, so all the same tools work with it. I use R2 because it sits in the same Cloudflare account as everything else, and it doesn't charge you to pull your files back out. But here's the part that matters for your wallet: if you already have an S3 bucket, or storage from someone else that speaks S3, you do not need to go get R2 on top of it. Point Claude at what you already have. R2 is just the one I would pick if you're starting fresh.

Now let me be clear about something, because I don't want you to hear this wrong. This is not "quit Google Drive." Keep your Drive. It's genuinely great at what it's for: your everyday documents, organizing things visually, sharing with people, and its own tools like NotebookLM and Google's AI, which are excellent. None of that is going anywhere, and I'm not here to talk down any of it.

R2 is a different tool for a different job. Google Drive is built for a person clicking around in a browser. That's perfect for you as a human, and a little fiddly when you want an always-on AI to reach in and work. R2 is built for code, so Claude connects once with a permanent key and just works, quietly, in the background. Drive is for you. R2 is for your agent. You'll use both, and that's exactly right.

Here's how you actually use R2. You give Claude one key, and from then on it handles your files. "Put these images in my storage." "Back up this folder." "Pull that file down." It just does it. No login screen in the way, no connection to keep re-fixing.

The clearest example is images. Say you're building a site and you've got a bunch of photos. If you pile them onto your web server, your site gets slow and clunky. Instead, you drop them into R2 and serve them from something like cdn.yoursite.com. Now they load fast from anywhere in the world, and they don't slow your site down. That's what a CDN is, and you just got one by turning on this layer.

One honest aside, because I use it myself. There's a tool called Cloudinary that does a different, narrower job. It automatically resizes and optimizes your images on the fly so your pages stay fast. It's good, and I use it. But it isn't the same thing as R2. Cloudinary transforms images, R2 stores and serves your files. You don't need it to start. R2 gets your images hosted and fast today, and I'll do a whole part later on image optimization. One layer at a time.

Not everything is public, though, and that matters. Your images, sure. Those are meant for the world, so they go on your public cdn address. But your backups and private files stay locked. When you need to hand one to a specific person, you send a link that expires on its own. Claude sets all of that up. You just tell it what's public and what's private.

Now step back and look at what you've got. Your security, and now your files, both in one Cloudflare account, both controllable by your AI with keys that don't expire. One place. One brain running it.

Now the real-talk part, because it matters. This costs money. If you're serious about building, that's not a surprise, it's the deal. You're already paying to work this way, and every real piece you add has a price. This one happens to be small and predictable, but the price was never the point. The point is what it gives you. Your data under your control. Your images served fast. Your AI running all of it without you in the loop. You can stand up things today, by yourself, that used to take a team or a budget you didn't have. That kind of leverage is the best money I spend, and I spend it gladly.

If you want to do it, I made the whole thing a copy-paste prompt. Go to connectwithcliff.com/kit, copy the storage-setup prompt, paste it into Claude, and it sets up your storage, your key, and the connection so your AI runs your files. New here? Start with Kit 1 (terminal setup) first, so Claude can actually run.

Next part: connecting your own domain, so everything you've built gets a real address. Then the small server your site runs on, and we put something online.

Kit 5

Your own domain — the one piece you own

The address everything you've built finally hangs off. Buy a domain at Porkbun (about $10 a year, WHOIS privacy free, clean API), hand Claude the registrar key, and point it at your Kit 3 Cloudflare account. One sentence to buy it, one panel to run it.

  • Hand Claude the registrar key and "buy this domain and point it at my server" becomes one sentence
  • WHOIS privacy free, auto-renew, and registrar lock — all set from the start so nothing lapses or leaks
  • Point the nameservers at your Kit 3 Cloudflare account, so one panel runs your DNS, tunnel, and CDN
Download .md
Read the story (the full post)

The Short Version

A domain is the one piece of your whole setup you actually own. You rent the server. You subscribe to the software. The domain is yours, and it's about ten dollars a year.

I buy mine at Porkbun. Cheap, WHOIS privacy included free, and a clean API. That API is the point: hand Claude the registrar key and "check if this domain is free, buy it, and point it at my server" becomes one sentence.

Then point the domain at your Kit 3 Cloudflare account, and your domain, DNS, tunnel, and CDN all run from one control panel.

Full breakdown below. Copy-paste prompt at the bottom.


Part Five. Your domain, the one piece you actually own.

The last few parts built your foundation: Cloudflare as your control panel (Part Three), and your storage and CDN living inside it (Part Four). This part gives all of it a real address.

Here's the thing about a domain. It's the one piece of your stack that's genuinely yours. Servers you rent. Software you subscribe to. The domain you own outright, and it's the cheapest business asset you'll ever buy. Everything else points at it.

Where I buy them: Porkbun. Not a sponsor, just what I use. About ten dollars a year for a .com, with the two things I actually care about baked in.

One, WHOIS privacy, free. When you register a domain, your name, address, and phone number go into a public database called WHOIS unless privacy is on. A lot of registrars charge to hide it. Porkbun includes it. Your home address shouldn't be one search away because you bought a domain.

Two, a clean API. That's the part that matters for how we work. The throughline of this whole series: you hand your AI a scoped key, and the boring stuff becomes a sentence. Same move as the Cloudflare key in Part Three and the storage key in Part Four. Give Claude your registrar key and "check if this domain is available, buy it, and point it at my server" is one instruction, not twenty minutes clicking through a checkout dodging upsells.

(Namecheap and GoDaddy work too. Namecheap is a solid, popular pick; GoDaddy reopened its API to single domains in 2026. I just land on Porkbun for the price and the free privacy. Different tool, same job. Use what you like.)

And since you're already in there from Part Three: Cloudflare sells domains too, at cost, right inside the same account. Honestly that's the easiest path of all. Buy it there and it's already wired to everything, nothing to point. Totally fine to do it that way. I keep mine at a separate registrar on purpose, for one reason: your domain is the one thing you truly own, and I don't want it living inside the same account that runs my infrastructure. If anything ever happens to that account (a lock, a billing dispute, a mistake), a domain held somewhere separate can be re-pointed elsewhere in minutes. It's your escape hatch, and I don't keep the escape hatch inside the building. That's a small trade of convenience for independence, and it's worth it to me. If you'd rather have it all in one place, buy it on Cloudflare and you're done.

One thing worth getting right: which domain to buy first, because this first one is your hub. If you already have a business or a brand idea, easy, buy that. If you don't, buy your own name. Either way the goal is the same: one primary hub with a real presence on it. A simple page, plus the basics like a privacy policy and terms.

Here's why that matters more than it sounds. The moment you start signing up for the tools we've been using, some of them ask for your website and your terms before they'll hand you a key. A hub page, connected to either your business or your name, is what clears that. You want it to already exist. And if you do have a company, point this at the company. It becomes the home base your other sites hang off, and it's the thing platforms want to see when you apply for API keys and ask "what's your brand." One domain, one presence, and the rest gets easier.

You don't need to be incorporated for any of this. A business name you run under your own name works fine. I run both a personal site and a business across a dozen-plus domains, but that's a different scale. This is just the one fundamental you build everything else on. Personal name or business, either one is golden. I'm not telling you how to structure it, and none of this is legal advice, it's just what's worked for me.

Then you connect it to what you already built. Once you own the domain, point its nameservers at the Cloudflare account from Part Three. Cloudflare gives you two, and they look like aiden.ns.cloudflare.com and olivia.ns.cloudflare.com. Claude can set them through the registrar, and if your registrar makes you do that part by hand, it hands you the exact two to paste and tells you where they go. Either way you're not guessing. Now your domain, your DNS, your tunnel, and your CDN all live in one control panel, and your AI has the keys to all of it. The domain points at Cloudflare, Cloudflare's tunnel points at your server, your site goes live. That's the chain, and Claude wires the whole thing because you handed it both keys.

A quick word on money, because this is a turning point. The domain is the first thing you actually buy, and from here real building costs a little. Not much, but this is the line where you stop setting things up and start building something that's truly yours. That's not a catch, it's the whole point. And owning a ten-dollar domain beats renting your presence on someone else's platform every time.

If you want to do it, I made the whole thing a copy-paste prompt. Go to connectwithcliff.com/kit, copy the domain-setup prompt, paste it into Claude, and it walks you through buying the domain and pointing it at your foundation. New here? Start with Kit 1 (terminal setup) first, so Claude can actually run.

Next part: the small server your site actually lives on. Then we put something online.

Kit 5.1 · quick note

Where your keys should live

Not a full kit, just the thing to set up before the next one. You've handed Claude a few keys now (Cloudflare, storage, your registrar). Get them out of loose text files and into a password manager. I use Bitwarden: logins in the browser extension, and every API key saved as a secure note, named the same way (like cc-mailgun-api) so one search grabs any of them when Claude needs it again.

Read the note

You've now handed Claude a few keys: Cloudflare, your storage, your registrar. Where are they actually sitting right now? If the answer is "in a text file somewhere," let's fix that first.

Put them in a password manager. I use Bitwarden. Here's exactly how I run it, nothing fancy.

Logins. The browser extension fills my passwords everywhere. If you do one thing tonight, get every important login in there.

API keys. I save each one as a secure note, named the same way, like cc-mailgun-api, cc-twitter-api. So when Claude needs a key months later, I search, grab it, paste it. They live in the vault, not scattered across random files.

One honest note, because I don't want to teach you wrong. Pasting a key to Claude does put it in Claude, and you can absolutely avoid that: keep your keys in a hidden .env file and have Claude read them on demand. Claude itself prefers that, it would rather not hold your secrets. It's the more careful path, and if that's how you want to work, do it. I understand security, and I respect it.

Me, I trade a little of it for speed. Opening a file, finding the key, pointing Claude at it, that's friction I don't want fifty times a day. I'd rather keep the key in Bitwarden, click copy, and paste it straight to Claude, and put my guardrails on the API side instead: a spending limit with alerts on the account, an IP whitelist where I can, and a scope so the key can only do one job. Not the most secure setup, and I know it. It's what's worked for me. Pick your own spot on that line. Either way the vault is home base, the one safe copy every key comes back to.

I pay for the Premium tier, $19.80 a year, about twenty bucks. Not required, but here's why I do it: some sites make you use two-factor, and instead of a separate authenticator app, Bitwarden generates those codes for me too. Logins, keys, and my 2FA in one place.

(There's a developer-grade "Secrets Manager" where your AI pulls keys automatically. I keep it simple with notes. And Bitwarden isn't the only good one. 1Password and others are solid. Use whatever you'll actually keep locked.)

Next chapter is your first key that actually does something: getting email working. And now it'll have a home the moment you make it.

Kit 6

Your first API key — send email

The first key that does something for other people: your projects can send email from your own domain. Set up Mailgun, let Claude add the DNS records to your Kit 3 Cloudflare, and hand it a domain-scoped sending key. Also the chapter that finally explains what an API key actually is.

  • Send from [email protected] — Claude adds the SPF + DKIM records to your Kit 3 Cloudflare, on your Kit 5 domain
  • Give Claude a domain-scoped sending key, not your account key, so a leak can only touch one domain's outbox
  • Free to build on (100 emails/day); learn the "get a key, give it to Claude" pattern you'll reuse for everything
Download .md
Read the story (the full post)

The Short Version

Time for your first API key that actually does something: your projects can send email.

Every key so far managed your setup (Cloudflare, storage, your domain). This one reaches people. A welcome email, a receipt, an alert when something breaks. All of it on one key you create once and hand to Claude.

I use Mailgun. It sends from your own domain, uses the Cloudflare foundation you already built, and teaches the thing worth learning: what an API key is, and how to give one to your AI safely.

Full breakdown below. Copy-paste prompt at the bottom.


Part Six. Your first key that does something.

Quick honesty first: I told you the server was next. One useful stop before it, because this is the piece that turns your setup into something that talks to the world.

Here's where we are. You've handed Claude a few keys already. Cloudflare, your storage, your registrar. Those all manage your own stuff. This one is the first that does something for other people: it lets your projects send email. And learning it teaches you the pattern behind almost everything you'll add from here.

So let me actually explain what an API key is, because once it clicks, a lot of the internet opens up.

When you log into a website, you type a password. But your code, and your AI, talk to services with no human clicking anything. So they prove who they are a different way: an API key. It's a long secret string that says "this request is really me." You make it once in the service's dashboard, hand it to your tool, and from then on the tool acts as you. No login screen.

Two things to remember. Whoever holds the key can act as you, so you guard it like a password (it's usually shown only once, so you copy it and keep it safe, which is exactly what the last note was about). And good services let you make a scoped key that can do only one narrow thing. That last part is the trick I want you to steal.

For email I use Mailgun, and it shows the idea perfectly. It gives you two kinds of keys: a full account key that can do everything, and a sending key that can only send email for one domain. You give Claude the sending key. If it ever leaks, all it can do is send mail for that one domain. It can't touch the rest of your account. That's least privilege, and it's how you should hand every key to an AI: the smallest one that does the job.

Here's the nice part, and where the foundation pays off. To send from your own domain, email needs a couple of DNS records that prove you're allowed to (they're called SPF and DKIM). Your DNS already lives in Cloudflare from Part Three, on the domain you bought in Part Five. So Claude just adds those records for you, Mailgun verifies them, and you're sending from [email protected]. One honest warning I'll save you: don't let anything add "MX" records unless you actually want to receive mail there. MX is for incoming mail, and bolting it on can break email you already get. Sending only needs SPF and DKIM. Claude will ask before touching it.

Then it sends a test email to you, it lands, and you're done. From that moment, "email me when a sale comes in" or "send this person a welcome note" is a sentence Claude can act on.

On cost, straight: the free plan sends 100 emails a day and needs no card to start, which is plenty to build and test on. To send to real people from your own domain, plan on putting a card on file (the entry paid tier runs about fifteen dollars a month once you outgrow free). Same as the last few parts. The basics are cheap, and now your stuff can reach the world instead of just sitting there.

If you want to do it, I made it a copy-paste prompt. Go to connectwithcliff.com/kit, copy the email-setup prompt, paste it into Claude, and it walks you through the account, the records, the key, and a test send. New here? Start with Kit 1 (terminal setup) first, so Claude can actually run.

Next part, for real this time: the small server your site lives on. Then we put something online.

How to use any kit: hit Copy, open Claude Code, paste it, and say "set this up for me." That's it. More kits drop here as I build them.