# Google Drive Setup Guide — Punch Project Folders

*Read this once, then forget about it. The team standard is that every Punch client project lives in Google Drive under `Clients 2.0/`, not on someone's individual desktop. This is the setup.*

---

## Why Google Drive, not Desktop

Three reasons:

1. **The team can collaborate on the same project folder.** The PM drops a data sheet into `source/` from her machine; the strategist sees it on hers; the designer sees it on his. Same project folder, same files, no email-attaching, no Slack-uploading.
2. **The new source-grounding rule needs this.** When `punch-content-brief` or `punch-web-copywriter` emits a `MISSING SOURCE` marker, the PM chases the file and drops it in `source/` — and the strategist who's running the brief can re-run it five minutes later from her own machine. Desktop-only folders force everyone to be at the same physical machine.
3. **Project history survives a laptop dying.** Drive's version history kicks in on every file. If a strategist's machine dies mid-project, the project picks back up on a replacement machine immediately.

The Cowork skills don't care where the project folder lives — they read files from whatever directory they're pointed at. Google Drive for Desktop makes a Drive folder look exactly like a local folder. That's the entire trick.

---

## The team folder structure (what it looks like)

```
My Drive/
└── Clients 2.0/                       ← Team root. Shared with everyone at Punch.
    ├── _Claude Master Skills/         ← Shared plugin / skills / templates reference.
    └── [Name] Client/                 ← One folder per client. Example: "Cinderhouse Client".
        ├── _Digital/                  ← Digital-channel workstream (ads, email, social).
        ├── _Physical/                 ← Physical / print collateral workstream.
        └── _Website/                  ← Website workstream. THIS is what Cowork mounts.
            ├── brand/                 ← (created by punch-project-init)
            ├── source/                ← (created by punch-project-init — PM owns)
            ├── content/               ← (created by punch-project-init)
            ├── sandbox/               ← (created by punch-project-init)
            └── assets/                ← (created by punch-project-init)
```

**Two layers, two owners:**

- **Humans create the top layer once per client.** The CCO (or whoever onboards the new client) creates `[Name] Client/` inside `Clients 2.0/`, then the three workstream subfolders (`_Digital`, `_Physical`, `_Website`). The underscore prefix sorts them to the top alphabetically. 30-second setup.
- **`punch-project-init` creates the bottom layer.** Once you mount `_Website/` in Cowork and run the project-init prompt, the website scaffold (brand/source/content/sandbox/assets with all their stub files) lands inside it. See `Folder-Structure-Visual.html` for the full picture.

**About `_Claude Master Skills/`:** lives at the top of `Clients 2.0/` as a shared reference for the punch-website plugin and any team-wide skill templates. Read-only for most of the team; the Design Systems Lead or CTO maintains it. New hires don't need to do anything with it — the plugin itself is installed via Cowork's plugin manager, not from this folder. The folder is just for reference + canonical templates.

---

## One-time setup (per team member)

### 1. Install Google Drive for Desktop

Download from https://www.google.com/drive/download/ and install. Sign in with your `@punchteam.com` account.

After install, you'll see a Google Drive icon in your menu bar (Mac) or system tray (Windows). Click it to confirm sync status.

In Finder (or Explorer), you'll now have a Google Drive folder mounted, typically at:

- **Mac:** `/Users/[your-name]/Library/CloudStorage/GoogleDrive-[your-email]/My Drive/`
- **Windows:** `G:\My Drive\` (or whatever drive letter Drive assigned)

### 2. Pin "Clients 2.0" to your sidebar

Inside `My Drive`, you should see a shared folder called **`Clients 2.0`** (shared by the CCO; if you don't see it, ask the CCO to add you as an editor).

Right-click `Clients 2.0` in Finder → Add to Sidebar (Mac), or pin it to Quick Access (Windows). This becomes your go-to navigation root.

### 3. Verify your default sync mode

Google Drive for Desktop has two modes for files:

- **Stream-only** (default) — file lives in the cloud; downloads to your machine on first access
- **Available offline** — file is permanently synced to your local disk, always present

For day-to-day browsing of the whole `Clients 2.0` archive, stream-only is fine. **But for the project you're actively working on**, you need "Available offline" so Cowork can read every file recursively without download lag.

To set offline mode:
1. Right-click any folder in Drive
2. "Offline access" → "Available offline"
3. Wait for the green checkmark to appear next to the folder (means sync is complete)

---

## Per-client setup (once per new client)

### 1. Create the client folder structure

Inside `Clients 2.0/`, create the client folder:

`[Name] Client/`

Examples:
- `Cinderhouse Client/`
- `Auria Client/`
- `Vesta Client/`

Inside that, create the three workstream subfolders:
- `_Digital/`
- `_Physical/`
- `_Website/`

The underscore prefix is intentional — it sorts them to the top alphabetically so they're always at the top of the client folder.

The CCO or the PM does this once per new client. Don't create on desktop and migrate later — just start in Drive.

### 2. Mark `_Website/` "Available offline"

Right-click `_Website/` → Offline access → Available offline.

**Wait for the green sync checkmark** before proceeding. Usually <30 seconds for a fresh folder.

### 3. Mount `_Website/` in Cowork

In Cowork, create a new project. When it asks for a working folder, browse to:

`/Users/[your-name]/Library/CloudStorage/GoogleDrive-[your-email]/My Drive/Clients 2.0/[Name] Client/_Website/`

Select **`_Website/`** (not the client folder, not `Clients 2.0`). Cowork now treats `_Website/` as the project root. Run `punch-project-init` to scaffold the structure inside it.

### 4. Tell the team it exists

Drop a one-line note in your team Slack channel: *"Cinderhouse website project is live in Drive. Mount: My Drive → Clients 2.0 → Cinderhouse Client → _Website."*

Everyone else who joins the project does steps 2 + 3 from their own machines (mark offline, mount in Cowork).

---

## The five gotchas you'll hit (and what to do)

### 1. Sync lag after dropping files in `source/`

**Symptom:** PM drops a data sheet into `source/products/`. Strategist re-runs `punch-content-brief` from her machine 30 seconds later. The skill says it can't find the file.

**Cause:** Drive hasn't synced the file to the strategist's machine yet.

**Fix:** Wait for the sync checkmark on the strategist's end before re-running. Usually <30 seconds for a small PDF. The PM can confirm sync is done from her end (file has the green check); the strategist can confirm by clicking into the file in Finder (it should be available without a "downloading…" dialog).

**Convention:** when the PM drops a critical file, post in Slack with the file path and a one-line "source landed: source/products/hub-tech-spec.pdf." Strategist watches for that note, waits ~30 seconds, then re-runs.

### 2. Conflict copies

**Symptom:** Two people edit `content/homepage.md` at the same time. Drive creates `content/homepage (Strategist 1's conflicted copy 2026-05-28).md` and similar.

**Cause:** Drive's last-write-wins sync model can't merge concurrent edits to the same file.

**Fix:** Only one person edits the same file at a time. **Convention:** the strategist owns active briefs; the PM owns `source/` and `_missing.md`; the designer owns the sandbox; nobody else touches what someone else owns without coordinating first. If a conflict copy appears: open both versions, pick the right one, delete the conflict copy.

The skills don't know about conflict copies — they'd treat each as a separate content brief, which can cause weird behavior. Always resolve conflict copies before re-running any skill.

### 3. Stream-only files are invisible to Cowork

**Symptom:** Cowork or a skill reports that files in `source/` "don't exist" even though you can see them in Finder.

**Cause:** Those files are stream-only (cloud-only). Until you click into them, they don't physically exist on disk. The skill's recursive folder scan can't read them.

**Fix:** Mark `_Website/` "Available offline" (step 2 of per-client setup). For a fresh project that hasn't been marked, every file would be stream-only by default. Setting the folder to offline pulls everything down.

**Visual check:** in Finder, an offline-available file has a green checkmark or cloud-with-checkmark icon. A stream-only file has a cloud icon with no checkmark.

### 4. Long paths show up in skill output

**Symptom:** When a skill reports file paths, you see ugly long strings like `/Users/laura/Library/CloudStorage/GoogleDrive-laura@punchteam.com/My Drive/Clients 2.0/Cinderhouse Client/_Website/source/products/hub-tech-spec.pdf`.

**Cause:** Just how Google Drive for Desktop mounts. The path is real.

**Fix:** Cosmetic only. Skills work fine. If a path is being shown to a client (e.g. in a status email), strip the prefix and just show `source/products/hub-tech-spec.pdf`.

### 5. Version history is per-file, not project-wide

**Symptom:** You want to roll the whole project back to "what it looked like Tuesday." Drive can only show you per-file version history.

**Cause:** Drive doesn't think project-wide; it thinks per-file.

**Fix:** If you need real project-wide rollback (rare), push to GitHub at major milestones. Drive's per-file history is plenty for the common case of "oops, who deleted that section?"

---

## What changes about the day-to-day workflow

| Action | Before (desktop) | After (Google Drive) |
|---|---|---|
| Create a new client | Right-click Desktop → New Folder | Right-click `Clients 2.0` in Drive → New Folder `[Name] Client` → add `_Digital` + `_Physical` + `_Website` inside |
| Drop a data sheet in `source/` | Move the file to `~/Desktop/[client]/source/` | Drop into `My Drive/Clients 2.0/[Name] Client/_Website/source/`, post a heads-up in Slack |
| Open the project in Cowork | Mount the Desktop folder | Mount `_Website/` inside the client folder (one-time per machine) |
| Share access with a teammate | Slack-zip-and-send | Drive's already shared with the team. They mount `_Website/` from their own Cowork. |
| Re-run a skill after PM drops a file | Run immediately | Wait ~30 seconds for sync, then run |
| Roll back a mistake | Time Machine, or pray | Right-click the file in Drive → Version history → restore |

Same skills, same plugin, same workflow. Just a different mount point and a richer parent structure for multi-workstream client work.

---

## When NOT to use Google Drive

A couple of edge cases where local desktop is still the right call:

- **One-off experiments.** Playing with a new skill, prototyping a wireframe pattern, anything you'll throw away. Desktop is faster.
- **Test projects for new hire onboarding.** A new hire's first practice project (the fake "Lattice" exercise in Strategist Onboarding Module 2) doesn't need to live in Drive — it's never shared.
- **Anything with files larger than ~1 GB total.** Drive sync can be slow with big files. Rare for Punch projects (most are <500 MB) but worth knowing.

For real client projects: always Drive, always `Clients 2.0/[Name] Client/_Website/`.

---

## Quick reference card

**Where the project lives:** `My Drive/Clients 2.0/[Name] Client/_Website/`

**What Cowork mounts:** the `_Website/` folder (not the client folder, not `Clients 2.0`).

**Before you start work each day:** confirm `_Website/` has a green sync checkmark. If it's spinning, wait.

**Before re-running a skill after a teammate added a file:** wait ~30 seconds for sync. Look at the file in your Finder — it should be downloadable (green check or cloud-with-check icon).

**If you see a "(conflicted copy)" file:** stop. Resolve before re-running any skill.

**If a skill says a file doesn't exist that you can see in Finder:** the file is stream-only. Mark the parent folder "Available offline."

**Visual reference:** see `Folder-Structure-Visual.html` for the full tree.

---

*Set up once. Then never think about it again. If something breaks and you can't figure out why, check sync status first before anything else — 80% of "broken project" reports trace back to sync lag or stream-only files.*
