Skip to content

docs(licensing): align ThreadPlane branding + add /docs/licensing landing#532

Open
blove wants to merge 1 commit into
mainfrom
claude/licensing-docs-alignment
Open

docs(licensing): align ThreadPlane branding + add /docs/licensing landing#532
blove wants to merge 1 commit into
mainfrom
claude/licensing-docs-alignment

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 22, 2026

Summary

Editorial cleanup of every licensing-touching surface plus a new canonical /docs/licensing landing page.

Strategy decisions (from prior brainstorm)

  1. Brand: converge on ThreadPlane (and THREADPLANE_LICENSE env var) — drop "Cacheplane" naming in customer-visible copy
  2. Payment framing: "Annual license" (one-time payment, 12 months valid). Drop "subscribing".
  3. Eval period: 30 calendar days from first commercial use, good-faith — no telemetry
  4. Docs IA: single `/docs/licensing` page covering model + tier scoping + install + eval + refunds + FAQ link

Files

  • New: `apps/website/src/app/docs/licensing/page.tsx` (canonical landing)
  • Email: `apps/minting-service/src/lib/email.ts` (and email.spec.ts)
  • Brand: `COMMERCIAL.md`, `README.md`, `libs/chat/{README,NOTICE,COMMERCIAL-USE}.md`
  • Pricing: `pricing/tiers.config.ts`, `apps/website/src/app/pricing/page.tsx`, `PricingFAQ.tsx`
  • Footer: `Footer.tsx` ("Licensing" link → `/docs/licensing`)
  • Thanks page: button → `/docs/licensing`

Out of scope (deferred)

  • Legal entity question (Cacheplane d/b/a vs ThreadPlane in root `LICENSE`/`NOTICE`) — needs legal call, not editorial
  • `developer_seat` per-dev vs per-org policy decision

Test plan

  • minting-service unit tests pass (email.spec.ts updated to new "BEGIN THREADPLANE LICENSE" delimiter)
  • Website production build green
  • Visual review of `/docs/licensing` after deploy
  • Verify email rendering of next test purchase

🤖 Generated with Claude Code

…ing page

Editorial cleanup across all licensing-touching surfaces:

- New /docs/licensing landing page (linked from email + footer + /thanks)
- Email copy: "Thanks for subscribing" → "Thanks for your ThreadPlane license
  purchase"; CACHEPLANE_LICENSE → THREADPLANE_LICENSE in installation snippet;
  install snippet now shows provideChat() pattern (the actual API), not
  process.env-only
- Brand: "Threadplane" → "ThreadPlane" in customer-visible copy and library
  NOTICE/README files
- License name: always "ThreadPlane Commercial license" (capitalized)
- Tense: drop "Starting with the next published version" from COMMERCIAL.md and
  root README — the license is live
- Eval policy: precise "30 calendar days from first commercial use, good-faith,
  no telemetry" wording in libs/chat/COMMERCIAL-USE.md and PricingFAQ
- Tier scoping: standardize "Indie" name, prefix paid features with
  "ThreadPlane Commercial license", drop Enterprise "starting at $10k/year"
  display period (was inconsistent with "Custom")
- Footer "Licensing" link → /docs/licensing (was /pricing#faq)
- /thanks page button → /docs/licensing (was /docs/chat/...)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 22, 2026 5:22pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant