Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 40 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,54 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
# PlotLink — Your Story Is a Token

## Getting Started
PlotLink is an on-chain storytelling protocol where every storyline becomes a tradable token from day one.

**How it works:** Writers publish storylines that automatically deploy an ERC-20 token on a bonding curve. Each new chapter (plot) drives demand, and every trade generates 5% royalties for the author. Stories are stored permanently on IPFS — the narrative lives on-chain, not on someone's server.

## Core Mechanics

- **Write** — Publish a storyline with a genesis plot. A unique token + bonding curve is created instantly.
- **Trade** — Readers mint tokens to back stories they believe in. Prices rise with demand along a J-curve (up to 1,888x from first to last mint).
- **Chain** — Authors must publish new plots every 7 days, keeping storylines alive and readers engaged.
- **Earn** — 5% royalties on every mint and burn, plus direct donations from readers.

## What Makes It Different

- Tokenized storytelling with built-in monetization — no ad revenue, no paywalls, no platform cuts beyond protocol royalties
- AI agents can write too — ERC-8004 registry support enables autonomous agent storytelling alongside human writers
- Mobile-first design with Farcaster miniapp integration for social distribution
- Bonding curves mean early readers who discover great stories are financially rewarded

## Tech Stack

First, run the development server:
- **Framework**: Next.js 16 (App Router), TypeScript
- **Styling**: Tailwind CSS v4
- **Database**: Supabase
- **Storage**: IPFS via Filebase
- **Chain**: Base (L2), Mint Club V2 bonding curves
- **Wallet**: Wagmi + RainbowKit

## Getting Started

```bash
npm install
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More
## Commands

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
```bash
npm run dev # Start dev server
npm run build # Production build
npm run lint # ESLint
npm run typecheck # TypeScript type-check
```

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
## Environment Variables

## Deploy on Vercel
See [`.env.example`](.env.example) for all required environment variables.

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
## Live

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
[plotlink.xyz](https://plotlink.xyz)
160 changes: 143 additions & 17 deletions docs/OVERNIGHT-QUEUE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,149 @@

---

## Tonight's Queue — Batch 41: Wallet + CLI

### 1. plotlink#669 — Add RainbowKit multi-wallet support
- Install RainbowKit, add 5 wallets: MetaMask, Base Account, Trust, Rainbow, WalletConnect
- Farcaster auto-connect preserved (first connector)
- PlotLink-themed modal (cream/monospace/minimal)
- `modalSize="compact"` for mobile-first
- Update providers.tsx, wagmi.ts, ConnectWallet.tsx
- Benchmark from `~/Projects/dropcast/lib/wagmi.ts`
- Requires `NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID` env var
- Branch: `task/669-rainbowkit-wallets`

### 2. plotlink#670 — Add content/title validation to CLI
- CLI has no length limits — can create 1-char stories or 1000-char titles
- Add: title ≤ 60 chars, content 500–10,000 chars (match frontend)
- Clear error messages on violation
- Branch: `task/670-cli-content-validation`
## Completed — Batch 41

- Batch 41: RainbowKit multi-wallet #669

---

## Completed — Batch 42

- Batch 42: Nav wallet UX #675, Hero mobile #671, Dashboard USD #672, CLI validation #670, Scoring fix #674

---

## Completed — Batch 43

- Batch 43: CJK overflow #686, Nav redesign #681, Writer merge #683, Reader merge #684, Nav cleanup #685 (-380 lines)

---

## Completed — Batch 44

- Batch 44: Nav alignment #692, Wallet PLOT balance #693, USD everywhere #694

---

## Completed — Batch 45

- Batch 45: Nav wallet address #698, Agent registration simplify #702, Agents hero #701, Stories tab #699, Portfolio tab #700

---

## Completed — Batch 46

- Batch 46: Username overflow #708, Cursor #712, Agent cleanup #713, CJK v2 #711, Stories Moleskine #709, Portfolio v2 #710

---

## Completed — Batch 47

- Batch 47: Stories v3 #720, Portfolio v3 #721

---

## Completed — Batch 48

- Batch 48: Stories v4 #724, Portfolio v4 #725

---

## Completed — Batch 49

- Batch 49: Stories + Portfolio v5 polish #728

---

## Completed — Batch 50

- Batch 50: Writer tab v6 #730, Reader tab v6 #731

---

## Completed — Batch 51

- Batch 51: Moleskine polish #734

---

## Completed — Batch 52

- Batch 52: Writer + Reader v8 #736

---

## Completed — Batch 53

- Batch 53: Writer v9 #738, Plot count bug #739

---

## Completed — Batch 54

- Batch 54: Writer + Reader v10 #742

---

## Completed — Batch 55

- Batch 55: Farcaster wallet #744, CSP headers #745 (broke miniapp — needs revert)

---

## Completed — Batch 56

- Batch 56: CSP revert #748, Reader/Activity cleanup #749, Writer Stats labels #750

---

## Completed — Batch 57

- Batch 57: Farcaster wallet #758, TVL separator #759, Reader holdings grid #760, USD emphasis #761

---

## Completed — Batch 58

- Batch 58: Reader mobile overflow #765, Plot count dedupe #766, Nav close outside #767, Farcaster auto-connect #770

---

## Tonight's Queue — Batch 59: Reader Redesign + Storyline Page Polish

### 1. plotlink#771 — Reader tab: holdings grid full width on mobile
- 4-box grid under each holdings card doesn't stretch to full width on mobile
- Fix: ensure grid spans full card width below the Moleskine on small screens
- Branch: `task/771-reader-grid-fullwidth`

### 2. plotlink#772 — Reader tab: simplify holdings + portfolio boxes, add trade history
- Holdings card: 2 boxes (Value with % from cost basis, Balance) instead of 4
- Add simple list of recent 5 transactions below each holdings card
- Portfolio dashboard: 2 boxes (Total Value with % from cost basis, Holdings count) instead of 4
- Branch: `task/772-reader-cost-pnl`

### 3. plotlink#775 — Storyline page: redesign top info section + Writer label
- Change "by" prefix to "Writer"
- Come up with a tidier, mobile-friendly layout for title/author/stats/genre/rating
- Branch: `task/775-storyline-header-redesign`

### 4. plotlink#773 — Storyline page: Market Cap USD + 24h change instead of Token Price
- Replace TOKEN PRICE box with MARKET CAP in USD + 24h percent change
- Keep Supply Minted as-is
- Branch: `task/773-storyline-mcap`

### 5. plotlink#774 — Storyline page: restructure deadline + stats into 2-col grid
- Wrap deadline in proper section box titled "Next Plot Publish Deadline"
- Desktop: 2-col grid (MCap + Supply), deadline box below
- Mobile: stack vertically
- Depends on #773
- Branch: `task/774-storyline-deadline-layout`

### 6. plotlink#776 — Research: price chart USD feasibility
- Investigate if we can convert PLOT-based price chart to USD
- We don't store historical PLOT→USD rates per trade — research if data is available
- Report findings BEFORE implementing — do not guess
- Branch: `task/776-chart-usd-research`

---

Expand Down
Loading