Skip to content
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @getethos/ipp
353 changes: 353 additions & 0 deletions IPP-Context-Library-Contributor-Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,353 @@
# IPP Context Library — Contributor Setup Guide

> For non-technical contributors who want to create and upload context docs.
> Estimated setup time: 30–45 minutes (one-time). After that, creating a new doc takes ~10 minutes.

---

## What You're Setting Up

| Tool | What it does |
|---|---|
| **Claude Code** | AI assistant that runs in your terminal — you give it instructions in plain English |
| **GitHub CLI (gh)** | Lets Claude connect to GitHub and upload your files without you touching code |
| **The IPP Context Library repo** | Where all context docs live — `github.com/getethos/ipp-context-library` |

---

## Prerequisites (Before You Start)

- [ ] You have a **Mac** (this guide is Mac-only)
- [ ] You have a **GitHub account** and have been added to the `getethos` GitHub org
- [ ] You have access to **`getethos/ipp-context-library`** repo (ask Pankaj to add you)
- [ ] You have an **Anthropic account** (claude.ai) — ask Pankaj for the team subscription details or API key

---

## Part 1 — Install Homebrew (Mac Package Manager)

Homebrew is how we install everything else. Skip this if you already have it.

**Step 1.1** — Open **Terminal** on your Mac
- Press `Cmd + Space`, type `Terminal`, hit Enter

**Step 1.2** — Paste this command and press Enter:
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

- It will ask for your Mac password — type it (you won't see the characters, that's normal) and press Enter
- This takes 3–5 minutes. Wait for it to finish.

**Step 1.3** — When it finishes, run these two lines exactly as shown:
```
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
```

**Step 1.4** — Verify it worked by typing:
```
brew --version
```
You should see something like `Homebrew 4.x.x`. If so, you're good.

---

## Part 2 — Install Node.js

Claude Code needs Node.js to run.

**Step 2.1** — In Terminal, run:
```
brew install node
```

**Step 2.2** — Verify:
```
node --version
```
You should see `v20.x.x` or similar.

---

## Part 3 — Install Claude Code

**Step 3.1** — Run:
```
npm install -g @anthropic-ai/claude-code
```

**Step 3.2** — Verify:
```
claude --version
```
You should see a version number.

**Step 3.3** — Start Claude Code for the first time:
```
claude
```

It will ask you to log in. Follow the prompts — it will open a browser to authenticate with your Anthropic/Claude account.

Once logged in, type `/exit` and press Enter to close Claude for now.

---

## Part 4 — Install GitHub CLI and Connect to GitHub

**Step 4.1** — Install the GitHub CLI:
```
brew install gh
```

**Step 4.2** — Create a GitHub Personal Access Token (PAT)

This is like a password that lets the tool talk to GitHub on your behalf.

1. Go to **github.com → Your profile (top right) → Settings**
2. Scroll down to **Developer settings** (bottom of left sidebar)
3. Click **Personal access tokens → Tokens (classic)**
4. Click **Generate new token → Generate new token (classic)**
5. Give it a name like `ipp-context-library`
6. Set **Expiration** to 90 days
7. Check these boxes:
- ✅ `repo` (all sub-options)
- ✅ `read:org`
8. Click **Generate token** at the bottom
9. **Copy the token immediately** — you won't be able to see it again

**Step 4.3** — Authenticate the GitHub CLI with your token:
```
gh auth login
```

Follow the prompts:
- Select **GitHub.com**
- Select **HTTPS**
- When asked "Authenticate Git with your GitHub credentials?" → **Yes**
- Select **Paste an authentication token**
- Paste your token and press Enter

**Step 4.4** — Verify it worked:
```
gh auth status
```
You should see your GitHub username confirmed.

---

## Part 5 — Get the IPP Context Library on Your Mac

**Step 5.1** — Clone (download) the repo to your Desktop:
```
gh repo clone getethos/ipp-context-library ~/Desktop/ipp-context-library
```

**Step 5.2** — Switch to the branch that has all layers and docs:
```
cd ~/Desktop/ipp-context-library
git fetch --all
git checkout init/scaffold
```

**Step 5.3** — Verify all layers are there:
```
ls ~/Desktop/ipp-context-library/
```
You should see: `layer-01 layer-02 layer-03 layer-04 layer-05 README.md`

**Step 5.4** — Verify the platform system docs are there:
```
ls ~/Desktop/ipp-context-library/layer-01/platform-systems/
```
You should see the existing `.md` files like `agent-assist-funnel_v2_0.md`, `prs_v2_0.md`, etc.

---

## Part 6 — Open Claude Code in the Library

Every time you want to work on the context library, do this:

**Step 6.1** — Open Terminal

**Step 6.2** — Navigate to the library folder:
```
cd ~/Desktop/ipp-context-library
```

**Step 6.3** — Start Claude Code:
```
claude
```

You're now in Claude Code, inside the IPP Context Library repo. Claude can read all the files in the folder and talk to GitHub directly.

---

## Part 7 — How to Read Existing Context Files

Once you're in Claude Code, just ask in plain English:

**To see what docs already exist:**
> "Show me what platform system docs exist in layer-01 and their current status"

**To read a specific doc:**
> "Read the agent-assist-funnel doc and give me a summary"

**To see what's still outstanding:**
> "What are the outstanding items in the platform systems README?"

Claude will read the files and respond in plain English.

---

## Part 8 — How to Create a New Context Doc

### Step 8.1 — Find your source material

Context docs are built from internal documentation. Your source can be:

- A **Notion page** (with sub-pages)
- A **PDF, Word doc, or text file** saved on your computer
- A **combination** — e.g., a Notion page plus a downloaded spec PDF

### Step 8.2 — Tell Claude what to do

#### Option A — Source is a Notion link

In Claude Code, give this instruction (adapt it to your doc):

> "I want to create a new context doc for [system name]. Here is the Notion link: [paste your link]. Read all the sub-pages of that link to get the complete context. Create a new file in `layer-01/platform-systems/` following the same format as the existing docs. Extract only the platform-level behaviors relevant to an AI agent — skip narrow engineering implementation details."

Claude will:
1. Fetch the Notion page and all sub-pages
2. Extract the relevant content
3. Write a new `.md` file in the right format
4. Show you the file so you can review it

#### Option B — Source is a file on your computer (PDF, Word, text, etc.)

**Step 1 — Copy your file into the library folder**

Open Finder and drag your source file into:
```
~/Desktop/ipp-context-library/
```

For example, if your file is called `underwriting-spec.pdf`, it should now be at:
```
~/Desktop/ipp-context-library/underwriting-spec.pdf
```

You can drop multiple files if you have more than one source.

**Step 2 — Tell Claude to read it**

In Claude Code, give this instruction:

> "I want to create a new context doc for [system name]. I've added my source files to this folder. Read `underwriting-spec.pdf` (and any other files I've added) to get the full context. Create a new file in `layer-01/platform-systems/` following the same format as the existing docs. Extract only the platform-level behaviors relevant to an AI agent — skip narrow engineering implementation details."

Claude will read the file(s) directly from the folder and use them as source material.

**Step 3 — Clean up after (optional)**

Once the context doc is created and pushed to GitHub, you can delete the source file from the library folder — it was only needed for Claude to read. The source files do not get uploaded to GitHub.

#### Option C — Source is both a Notion link and local files

Just combine both in your instruction:

> "I want to create a new context doc for [system name]. Here is the Notion link: [paste link]. I've also added `product-spec.pdf` to this folder. Read both sources and combine them. Create the context doc following the same format as the existing docs."

### Step 8.3 — Review the draft

Read through what Claude created. If something is wrong or missing, just tell it:
> "Add more detail to the payment section" or "Remove the section on deployment — that's too narrow in scope"

### Step 8.4 — Upload to GitHub

Once you're happy with the doc, tell Claude:
> "Commit this file and the README update to a new branch and create a pull request on GitHub"

Claude will:
1. Create a new branch
2. Commit the file
3. Push to GitHub
4. Open a Pull Request for review

You'll get back a GitHub PR link (e.g., `https://github.com/getethos/ipp-context-library/pull/5`). Share that link with Pankaj for review and merge.

---

## Part 9 — What Happens After You Create a PR

- The PR goes to Pankaj (or whoever has merge access) for approval
- Once approved, it gets merged into `main` — the doc is now live in the library
- The README status for that system changes from "Outstanding" to "Draft"

---

## Quick Reference — Commands You'll Use Every Time

```bash
# Navigate to the repo
cd ~/Desktop/ipp-context-library

# Start Claude Code
claude

# That's it — everything else is done inside Claude using plain English
```

---

## Troubleshooting

**"command not found: brew"**
→ Close Terminal, open it again, and run:
`eval "$(/opt/homebrew/bin/brew shellenv)"`

**"command not found: claude"**
→ Run `npm install -g @anthropic-ai/claude-code` again

**"command not found: gh"**
→ Run `brew install gh` again, then close and reopen Terminal

**GitHub says "authentication failed"**
→ Your token may have expired. Go back to Part 4 Step 4.2 and generate a new one.
→ Then re-run `gh auth login` with the new token.

**"No such file or directory: ipp-context-library"**
→ The repo isn't cloned yet. Run Part 5 again.

**Claude says it can't access a Notion page**
→ Make sure the Notion page is shared with your Notion account and is in the `getethos` workspace. If it's restricted, ask the page owner to share it with you.

---

## Context Library Structure (for reference)

```
ipp-context-library/
├── layer-01/ ← Platform knowledge (loaded on every product task)
│ └── platform-systems/
│ ├── README.md ← Status tracker for all platform docs
│ ├── agent-assist-funnel_v2_0.md
│ ├── microsite-funnel_v2_0.md
│ ├── dtc-funnel_v2_0.md
│ └── [more docs...]
├── layer-02/ ← Product knowledge
├── layer-03/ ← Project/initiative knowledge
├── layer-04/ ← Session context
└── layer-05/ ← Output templates
```

**Outstanding** = doc not yet created
**Draft** = doc created, not yet reviewed/validated
**In Review** = under review
**Certified** = reviewed and confirmed accurate

---

*Guide maintained by Pankaj Soni — IPP Product. Last updated May 2026.*
10 changes: 10 additions & 0 deletions layer-01/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Layer 01 — Platform Knowledge

Loaded by every agent, on every product.

| Folder | What belongs here |
|--------|-------------------|
| platform-systems/ | One file per platform system. Use platform-system-template_v2_0.md as scaffold. |
| acord-patterns/ | Standard ACORD transaction patterns — TX103, TX1203, TX1228, TX111. |
| standard-decisions/ | Platform-level decisions true on every product. |
| reusable-features/ | Feature specs shared across products — IDV, Flexible Billing, eSignature, Product Bundling. |
8 changes: 8 additions & 0 deletions layer-01/acord-patterns/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# ACORD Patterns

| Transaction | Description | File | Status |
|-------------|-------------|------|--------|
| TX103 | New business submission — outbound to carrier | tx103_v2_0.md | Outstanding |
| TX1203 | Policy status / UW decision — inbound from carrier | tx1203_v2_0.md | Outstanding |
| TX1228 | Premium / billing — inbound from carrier | tx1228_v2_0.md | Outstanding |
| TX111 | Cancellation / lapse — bidirectional | tx111_v2_0.md | Outstanding |
Loading