Skip to content

feat(website): pricing rebuild + sitewide MIT-qualification (PR B)#502

Merged
blove merged 13 commits into
mainfrom
claude/pricing-rebuild-mit-qualification
May 21, 2026
Merged

feat(website): pricing rebuild + sitewide MIT-qualification (PR B)#502
blove merged 13 commits into
mainfrom
claude/pricing-rebuild-mit-qualification

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 21, 2026

Summary

PR B of three planned PRs for the @ngaf/chat license migration. Public posture catches up to the relicense that landed in #501. Verification runtime + Stripe Checkout follow.

Pricing page rebuild:

  • New header: "Pricing for production AI chat interfaces" and a subhead naming @ngaf/chat as PolyForm-NC with other libs staying MIT.
  • 5-tier grid replacing the prior 2-tier (Open Source / Enterprise):
    • Community / Noncommercial — Free forever · npm
    • Indie Commercial — $149/year · 1 dev · 1 app
    • Developer Seat — $299/dev/year · highlighted
    • App Deployment — $1,499/app/year · unlimited devs · 1 app
    • Enterprise — Custom · SLA + procurement + security review
  • Comparison matrix expanded to 5 tiers × 9 dimensions (license model, commercial production, developers, apps, end users, environments, support, SLA, security review).
  • New PricingFAQ section with 7 Q&As (<details>/<summary>, no client JS).
  • Three small notes: commercial-use definition (below grid), 30-day evaluation (between matrix and FAQ), OSS clarification (below FAQ).
  • Tier CTAs route to /contact?source=pricing_tier_<slug> (Stripe wiring lands in a parallel PR).

Sitewide MIT-claim qualification:

  • Homepage hero eyebrow Agent UI for Angular · MITAgent UI for Angular · MIT framework.
  • Footer Resources column MIT License link relabeled Licensing/pricing#faq.
  • Footer bottom bar MIT License · PricingLicensing · Pricing (Licensing → /pricing#faq).
  • Root README.md: dropped MIT badge; replaced "all libraries MIT" paragraph with explicit chat-as-exception framing.
  • Root COMMERCIAL.md: full rewrite leading with chat dual-license, preserving the minting-service section.

Analytics: CtaId union extended with 5 pricing_tier_* + 2 footer_licensing* literals so the new CTAs are strictly typed.

Files changed

10 files modified, 2 created.

Test plan

  • cd apps/website && npx vitest run → 14 files passing, 59 tests passing (was 13/55 + 1 zero-test; the 4 new PricingFAQ tests are additive).
  • npx nx run website:lint → success.
  • npx nx build website → success.
  • Scope check: only apps/website/, docs/superpowers/, root README.md, and root COMMERCIAL.md touched.

Out of scope (deliberately)

  • Stripe Checkout — tier CTAs route to /contact?source=... for now. A parallel "PR B-Stripe" wires real products/prices + Checkout + webhook entitlement.
  • Verification runtimeprovideChat() calls runLicenseCheck advisorily today; PR C wires real enforcement, production public key in CI, and a nag UI.
  • Other libraries@ngaf/render, @ngaf/agent, @ngaf/langgraph, @ngaf/ag-ui, @ngaf/a2ui, @ngaf/licensing, @ngaf/telemetry, @ngaf/design-tokens stay MIT, untouched.

Risks

  • Tier CTAs route to a lead form, not Checkout. Anyone clicking "Buy indie license" lands at /contact?source=pricing_tier_indie. PR B-Stripe replaces the hrefs.
  • Pricing page now references commercial tiers without an enforced license signal. PR C closes that gap.

🤖 Generated with Claude Code

blove and others added 13 commits May 20, 2026 20:50
…ion (PR B)

5-tier pricing model, /pricing rebuild with header/FAQ/notes, hero
eyebrow update, footer link update, root README + COMMERCIAL.md
rewrites. Stripe Checkout wiring lives in a parallel PR B-Stripe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 tasks: CtaId union, hero eyebrow, PricingGrid (5 tiers),
CompareTable (5×9), PricingFAQ + spec, /pricing page integration,
footer relabel, root COMMERCIAL.md rewrite, root README.md license
paragraph rewrite, final verification.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds 5 pricing_tier_* literals and 2 footer_licensing* literals so the
5-tier pricing grid and the relabeled footer Licensing link can fire
strictly-typed trackCtaClick events.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ngaf/chat is no longer MIT in future versions; the framework as a
whole is still MIT for every library except chat. Eyebrow now reads
"Agent UI for Angular · MIT framework" so the implication doesn't
extend to chat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Community / Indie Commercial / Developer Seat (highlighted) /
App Deployment / Enterprise. Each card shows 5 features, a price,
a period, and a tracked CTA. Paid-tier CTAs route to /contact with
a source parameter until Stripe Checkout lands in a separate PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds Indie tier; widens cell value type so rows like Developers /
Apps covered / Support / License model can carry short text labels
instead of just check/dash. Mobile horizontal scroll preserved via
the existing overflow-x-auto wrapper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Server component (no client interactivity needed) using native
<details>/<summary>. Anchor target #faq lets the footer Licensing
link deep-link into the FAQ.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Header: "Pricing for production AI chat interfaces"
- Subhead names the chat NC license + clarifies other libs stay MIT
- Adds commercial-use note (below grid), evaluation note (between
  matrix and FAQ), OSS clarification (below FAQ)
- Integrates PricingFAQ between CompatibilityMatrix and LeadForm
- Metadata description updated for SEO

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ty h2

Plan template accidentally replaced the original compatibility section
header with a homepage-style "Works with your agent stack" header,
dropping the CI-tested-versions paragraph in the process. Restores the
original h2 + paragraph; the CompatibilityMatrix below it is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…cing#faq

The whole framework is no longer MIT (chat is dual-licensed). Resources
column link relabeled Licensing, targets /pricing#faq. Bottom bar now
shows "Licensing · Pricing" instead of "MIT License · Pricing".
Tracking ids footer_licensing and footer_licensing_bottom.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the all-MIT framing with: most libs MIT, @ngaf/chat dual
(PolyForm-NC OR Threadplane-Commercial), minting service untouched.
Updates Questions contact links to threadplane.ai/{pricing,contact}.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops the all-MIT badge (no single badge captures a per-lib split)
and rewrites the license paragraph to name @ngaf/chat explicitly as
PolyForm-NC OR Threadplane-Commercial, while keeping the other 8
libraries' MIT framing intact.

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

vercel Bot commented May 21, 2026

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

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 21, 2026 4:08am

Request Review

@blove blove enabled auto-merge (squash) May 21, 2026 04:06
@blove blove merged commit 2fc9270 into main May 21, 2026
17 checks passed
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