mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
feat(landing-page): refresh llms.txt and add a machine-readable /pricing.md for AI search (#5217)
* feat(landing-page): refresh llms.txt and add a machine-readable /pricing.md for AI search GEO groundwork: help AI search engines (ChatGPT, Perplexity, Claude, AI Overviews) and autonomous buying agents discover and cite Open Design accurately. - llms.txt was stale — it only listed the Claude Design alternative. Add the full comparison/alternative set (Figma, Lovable, Bolt, v0, Framer, Stitch, Figma Make), the /solutions/ AI-generator pages, the vibe-design canonical guide, and the download/pricing/faq/enterprise entry points. Add a one-line free/BYOK + optional-paid-tiers pricing summary. - Add /pricing.md — a machine-readable pricing file so AI agents evaluating tools can parse Open Design's model: free & open-source (Apache-2.0, BYOK) desktop app, plus optional managed tiers (Plus/Pro/Max) with bundled credits and hosted deploys. Numbers mirror public/pricing/plans.json; points to /pricing/ for current promotions. * fix(landing-page): sync llms.txt coverage and guard pricing.md against drift Address review: - llms.txt intro named Genspark + dashboard + design-system generators but the enumerated lists omitted them. Add /alternatives/genspark/, /solutions/dashboard/, and /solutions/design-system/ so the summary and the crawlable URL list stay in sync. - Add a pricing-contract test asserting every tier's monthly + yearly price, annual discount, deploy limit, and the $2 overage in /pricing.md match the plans.json PRICING_SNAPSHOT, so a future pricing edit can't silently leave the AI-facing markdown stale while CI stays green. --------- Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
This commit is contained in:
@@ -11,8 +11,14 @@ It is the canonical reference for:
|
||||
- agent-native design workflows
|
||||
- local-first / BYOK design tooling
|
||||
- open-source alternatives to hosted AI design tools (Claude Design,
|
||||
Figma Make, v0, Lovable, Bolt)
|
||||
Figma, Figma Make, Lovable, Bolt, v0, Framer, Google Stitch, Genspark)
|
||||
- SKILL.md / DESIGN.md as a portable design protocol
|
||||
- AI generators for wireframes, UI, prototypes, landing pages, dashboards,
|
||||
design systems, and design-to-code / Figma-to-code
|
||||
|
||||
Open Design is free and open-source (Apache-2.0). The desktop app is BYOK —
|
||||
you pay only your own model API. Optional paid tiers add bundled model credits
|
||||
and hosted cloud deploys. See /pricing.md and https://open-design.ai/pricing/.
|
||||
|
||||
Brand names "Open Design", "OpenDesign", "open-design", "opendesign",
|
||||
"Open Design AI", and "OD" all refer to this same project, hosted at
|
||||
@@ -23,9 +29,12 @@ https://open-design.ai/ and developed at github.com/nexu-io/open-design.
|
||||
- Home: https://open-design.ai/
|
||||
- Official source page: https://open-design.ai/official/
|
||||
- Quickstart: https://open-design.ai/quickstart/
|
||||
- Agents: https://open-design.ai/agents/
|
||||
- Compare hub: https://open-design.ai/compare/
|
||||
- Claude Design alternative: https://open-design.ai/alternatives/claude-design/
|
||||
- Download (macOS, Windows, Linux): https://open-design.ai/download/
|
||||
- Pricing: https://open-design.ai/pricing/
|
||||
- Machine-readable pricing: https://open-design.ai/pricing.md
|
||||
- FAQ: https://open-design.ai/faq/
|
||||
- Enterprise: https://open-design.ai/enterprise/
|
||||
- Agents (supported coding agents): https://open-design.ai/agents/
|
||||
- Skills catalog: https://open-design.ai/skills/
|
||||
- Systems catalog: https://open-design.ai/systems/
|
||||
- Templates catalog: https://open-design.ai/templates/
|
||||
@@ -35,6 +44,32 @@ https://open-design.ai/ and developed at github.com/nexu-io/open-design.
|
||||
- RSS: https://open-design.ai/blog/rss.xml
|
||||
- Sitemap: https://open-design.ai/sitemap-index.xml
|
||||
|
||||
## Comparison / Alternative Pages
|
||||
|
||||
- Compare hub: https://open-design.ai/compare/
|
||||
- Claude Design alternative: https://open-design.ai/alternatives/claude-design/
|
||||
- Figma alternative: https://open-design.ai/alternatives/figma/
|
||||
- Lovable alternative: https://open-design.ai/alternatives/lovable/
|
||||
- Bolt (bolt.new) alternative: https://open-design.ai/alternatives/bolt/
|
||||
- v0 alternative: https://open-design.ai/alternatives/v0/
|
||||
- Framer alternative: https://open-design.ai/alternatives/framer/
|
||||
- Google Stitch alternative: https://open-design.ai/alternatives/stitch/
|
||||
- Figma Make alternative: https://open-design.ai/alternatives/figma-make/
|
||||
- Genspark alternative: https://open-design.ai/alternatives/genspark/
|
||||
|
||||
## Solutions (AI generators & workflows)
|
||||
|
||||
- Solutions hub: https://open-design.ai/solutions/
|
||||
- AI wireframe generator: https://open-design.ai/solutions/ai-wireframe-generator/
|
||||
- AI UI generator: https://open-design.ai/solutions/ai-ui-generator/
|
||||
- AI prototype generator: https://open-design.ai/solutions/ai-prototype-generator/
|
||||
- AI landing page generator: https://open-design.ai/solutions/ai-landing-page-generator/
|
||||
- Dashboard design: https://open-design.ai/solutions/dashboard/
|
||||
- Design system: https://open-design.ai/solutions/design-system/
|
||||
- Design-to-code: https://open-design.ai/solutions/design-to-code/
|
||||
- Figma-to-code: https://open-design.ai/solutions/figma-to-code/
|
||||
- Screenshot-to-code: https://open-design.ai/solutions/screenshot-to-code/
|
||||
|
||||
## External Official Channels
|
||||
|
||||
- GitHub repository: https://github.com/nexu-io/open-design
|
||||
@@ -44,6 +79,9 @@ https://open-design.ai/ and developed at github.com/nexu-io/open-design.
|
||||
|
||||
## Key Blog Posts
|
||||
|
||||
- What is vibe design (canonical guide): https://open-design.ai/blog/what-is-vibe-design/
|
||||
- Vibe design tools: https://open-design.ai/blog/vibe-design-tools/
|
||||
- Vibe design vs vibe coding: https://open-design.ai/blog/vibe-design-vs-vibe-coding/
|
||||
- https://open-design.ai/blog/open-source-alternative-to-claude-design/
|
||||
- https://open-design.ai/blog/why-we-built-open-design-as-a-skill-layer/
|
||||
- https://open-design.ai/blog/31-skills-72-systems-how-the-library-works/
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Pricing — Open Design
|
||||
|
||||
Open Design is **free and open-source**. The desktop app (macOS, Windows, Linux)
|
||||
is Apache-2.0 licensed and BYOK — you install it for free and pay only for your
|
||||
own agent/model API usage, which bills directly to your own provider account.
|
||||
Nothing is proxied through Open Design.
|
||||
|
||||
Optional paid tiers add a **managed** experience: bundled model usage credits
|
||||
(so you do not need your own key) plus hosted cloud deploys. They are optional —
|
||||
not required to use Open Design.
|
||||
|
||||
## Free — open-source desktop app
|
||||
- Price: **$0 / month, forever**
|
||||
- License: Apache-2.0 (full source at https://github.com/nexu-io/open-design)
|
||||
- Model access: **BYOK** — bring your own provider key; API usage bills to your
|
||||
own account, never proxied through Open Design
|
||||
- Runs: local-first on your own machine (macOS, Windows, Linux)
|
||||
- Includes: the full skill + design-system library, every supported coding agent
|
||||
(Claude Code, Codex, Cursor, Gemini, OpenCode, Qwen, and more), and artifacts
|
||||
saved as files in your own repository
|
||||
- Get it: https://open-design.ai/download/
|
||||
|
||||
## Plus — managed
|
||||
- Price: **$20 / month** (or $168 / year, 30% off)
|
||||
- Included model usage credits: $20 / month
|
||||
- Cloud deploys: up to 3 / month
|
||||
- For: individuals who prefer bundled credits over BYOK
|
||||
|
||||
## Pro — managed (recommended)
|
||||
- Price: **$100 / month** (or $720 / year, 40% off)
|
||||
- Included model usage credits: $100 / month
|
||||
- Cloud deploys: up to 20 / month
|
||||
- For: professionals shipping regularly
|
||||
|
||||
## Max — managed
|
||||
- Price: **$200 / month** (or $1,176 / year, 51% off)
|
||||
- Included model usage credits: $200 / month
|
||||
- Cloud deploys: up to 50 / month
|
||||
- For: heavy users and teams
|
||||
|
||||
## Notes
|
||||
- The open-source desktop app is always free; the paid tiers are an optional
|
||||
managed service (bundled model credits + hosted cloud deploys), not a
|
||||
requirement to use Open Design.
|
||||
- Overage cloud deploys beyond a tier's monthly limit: $2 each.
|
||||
- Intro/promotional pricing and current annual discounts may differ — see the
|
||||
live pricing page for the current numbers: https://open-design.ai/pricing/
|
||||
- License: https://www.apache.org/licenses/LICENSE-2.0
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
|
||||
const CONTRACT_PATH = new URL("../public/pricing/plans.json", import.meta.url);
|
||||
const HEADERS_PATH = new URL("../public/_headers", import.meta.url);
|
||||
const PRICING_MD_PATH = new URL("../public/pricing.md", import.meta.url);
|
||||
|
||||
function assertPlanContract(value: unknown): asserts value is PricingContract {
|
||||
assert.equal(typeof value, "object");
|
||||
@@ -63,4 +64,39 @@ describe("pricing contract", () => {
|
||||
|
||||
assert.deepEqual(contract, PRICING_SNAPSHOT);
|
||||
});
|
||||
|
||||
// The machine-readable /pricing.md is quoted verbatim by AI agents, so its
|
||||
// numbers must not silently drift from the plans.json contract. This asserts
|
||||
// every tier's monthly + yearly price, annual discount, deploy limit, and the
|
||||
// overage price appear in the markdown. A pricing edit that forgets to update
|
||||
// pricing.md fails here instead of shipping a stale AI-facing surface.
|
||||
it("keeps public/pricing.md in sync with the pricing contract", async () => {
|
||||
const md = await readFile(PRICING_MD_PATH, "utf8");
|
||||
const usd = (n: number) => `$${n.toLocaleString("en-US")}`;
|
||||
|
||||
for (const tier of PRICING_SNAPSHOT.tiers) {
|
||||
const t = tier.tier;
|
||||
assert.ok(
|
||||
md.includes(`${usd(tier.monthly.priceUsd)} / month`),
|
||||
`pricing.md missing ${t} monthly price ${usd(tier.monthly.priceUsd)} / month`,
|
||||
);
|
||||
assert.ok(
|
||||
md.includes(`${usd(tier.yearly.priceUsd)} / year`),
|
||||
`pricing.md missing ${t} yearly price ${usd(tier.yearly.priceUsd)} / year`,
|
||||
);
|
||||
assert.ok(
|
||||
md.includes(`${tier.yearly.discountPct}% off`),
|
||||
`pricing.md missing ${t} annual discount ${tier.yearly.discountPct}% off`,
|
||||
);
|
||||
assert.ok(
|
||||
md.includes(`up to ${tier.deployLimit} / month`),
|
||||
`pricing.md missing ${t} deploy limit up to ${tier.deployLimit} / month`,
|
||||
);
|
||||
}
|
||||
|
||||
assert.ok(
|
||||
md.includes(`${usd(PRICING_SNAPSHOT.overageDeployPriceUsd)} each`),
|
||||
`pricing.md missing overage price ${usd(PRICING_SNAPSHOT.overageDeployPriceUsd)} each`,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user