create-ailk 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -14
- package/component-catalog.json +735 -95
- package/component-catalog.md +13 -7
- package/dist/add-module-core.d.ts +22 -0
- package/dist/add-module-core.js +50 -0
- package/dist/add-module.d.ts +89 -0
- package/dist/add-module.js +334 -0
- package/dist/category-profile.d.ts +126 -0
- package/dist/category-profile.js +262 -0
- package/dist/cli.js +89 -29
- package/dist/index.d.ts +4 -2
- package/dist/index.js +6 -1
- package/dist/lib/extract-module-bundle.d.ts +56 -1
- package/dist/lib/extract-module-bundle.js +170 -14
- package/dist/lib/license-key-files.d.ts +15 -0
- package/dist/lib/license-key-files.js +102 -0
- package/dist/lib/module-license-gate.d.ts +79 -0
- package/dist/lib/module-license-gate.js +160 -12
- package/dist/lib/module-tier.d.ts +45 -16
- package/dist/lib/module-tier.js +76 -0
- package/dist/lib/pro-callout.d.ts +16 -10
- package/dist/lib/pro-callout.js +34 -3
- package/dist/license-set.d.ts +34 -0
- package/dist/license-set.js +194 -0
- package/dist/module-architecture.d.ts +20 -0
- package/dist/module-architecture.js +77 -19
- package/dist/modules/commerce/0.6.1.tar.gz +0 -0
- package/dist/modules/docs-blog/0.6.1.tar.gz +0 -0
- package/dist/modules/marketing-site/0.6.1.tar.gz +0 -0
- package/dist/modules/minimalism-site/0.6.1.tar.gz +0 -0
- package/dist/modules/multi-tenant/0.6.1.tar.gz +0 -0
- package/dist/modules/saas-product/0.6.1.tar.gz +0 -0
- package/dist/modules/scheduling/0.6.1.tar.gz +0 -0
- package/dist/modules/signal-collectors/0.6.1.tar.gz +0 -0
- package/dist/modules/simple-service/0.6.1.tar.gz +0 -0
- package/dist/modules/workspace/0.6.1.tar.gz +0 -0
- package/dist/parse-args.d.ts +85 -10
- package/dist/parse-args.js +227 -15
- package/dist/programmatic.d.ts +81 -5
- package/dist/programmatic.js +291 -32
- package/dist/site-chrome.d.ts +18 -7
- package/dist/site-chrome.js +32 -14
- package/dist/site-roster.d.ts +127 -0
- package/dist/site-roster.js +499 -0
- package/dist/starter-grid.d.ts +216 -0
- package/dist/starter-grid.js +449 -0
- package/dist/surfaces.d.ts +20 -7
- package/dist/surfaces.js +204 -24
- package/dist/sync-routes.d.ts +9 -0
- package/dist/sync-routes.js +2 -2
- package/dist/template-manifest.d.ts +94 -19
- package/dist/template-manifest.js +170 -289
- package/dist/template-names.d.ts +14 -12
- package/dist/template-names.js +13 -17
- package/package.json +6 -4
- package/site-templates/_base/content/en/BookCall/book-call.mdx +52 -0
- package/site-templates/_base/content/en/Feature/feature-1.mdx +69 -0
- package/site-templates/_base/content/en/Feature/feature-2.mdx +69 -0
- package/site-templates/_base/content/en/Feature/feature-3.mdx +69 -0
- package/site-templates/_base/content/en/FeaturesList/features.mdx +91 -0
- package/site-templates/_base/content/en/GlossaryList/glossary.mdx +65 -0
- package/site-templates/_base/content/en/NewsletterSignup/newsletter.mdx +67 -0
- package/site-templates/_base/content/en/PortfolioItem/sample-four.mdx +105 -0
- package/site-templates/_base/content/en/PortfolioItem/sample-one.mdx +34 -0
- package/site-templates/_base/content/en/PortfolioItem/sample-three.mdx +94 -0
- package/site-templates/_base/content/en/PortfolioItem/sample-two.mdx +45 -0
- package/site-templates/_base/content/en/PortfolioList/portfolio.mdx +169 -0
- package/site-templates/_base/content/en/Pricing/pricing.mdx +71 -62
- package/site-templates/_base/content/en/PrivacyPage/privacy.mdx +17 -3
- package/site-templates/_base/content/en/TermsPage/terms.mdx +2 -3
- package/site-templates/_base/content/en/UseCase/persona-1.mdx +69 -0
- package/site-templates/_base/content/en/UseCase/persona-2.mdx +69 -0
- package/site-templates/_base/content/en/UseCase/persona-3.mdx +69 -0
- package/site-templates/designs/minimalism/DESIGN.md +162 -0
- package/site-templates/designs/standard/DESIGN.md +167 -0
- package/site-templates/marketing-site/DESIGN.md +59 -40
- package/site-templates/marketing-site/TEMPLATE-MANIFEST.json +376 -57
- package/site-templates/marketing-site/TEMPLATE-MANIFEST.md +230 -90
- package/site-templates/marketing-site/ailk-template.json +1 -0
- package/site-templates/marketing-site-free/DESIGN.md +59 -40
- package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.json +323 -63
- package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.md +323 -113
- package/site-templates/marketing-site-free/ailk-template.json +3 -2
- package/site-templates/marketing-site-free/content/en/NewsletterSignup/newsletter.mdx +59 -0
- package/site-templates/marketing-site-free/content/en/Pricing/pricing.mdx +199 -0
- package/site-templates/minimalism-site/DESIGN.md +54 -40
- package/site-templates/minimalism-site/TEMPLATE-MANIFEST.json +246 -19
- package/site-templates/minimalism-site/TEMPLATE-MANIFEST.md +173 -51
- package/site-templates/minimalism-site/ailk-template.json +3 -2
- package/site-templates/minimalism-site/content/en/BookCall/book-call.mdx +52 -0
- package/site-templates/minimalism-site/content/en/ContactPage/contact.mdx +3 -37
- package/site-templates/minimalism-site/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
- package/site-templates/saas-product/DESIGN.md +59 -40
- package/site-templates/saas-product/TEMPLATE-MANIFEST.md +9 -1
- package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.json +369 -0
- package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.md +302 -0
- package/site-templates/shapes/local-business-service/ailk-template.json +10 -0
- package/site-templates/{simple-service → shapes/local-business-service}/content/en/AboutPage/about.mdx +4 -4
- package/site-templates/shapes/local-business-service/content/en/HomePage/home.mdx +70 -0
- package/site-templates/shapes/local-business-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
- package/site-templates/shapes/local-business-service/content/en/PortfolioList/portfolio.mdx +171 -0
- package/site-templates/shapes/local-business-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
- package/site-templates/shapes/local-business-service/content/en/Service/first-job.mdx +39 -0
- package/site-templates/shapes/local-business-service/content/en/Service/second-job.mdx +39 -0
- package/site-templates/shapes/local-business-service/content/en/Service/third-job.mdx +39 -0
- package/site-templates/shapes/local-business-service/content/en/ServicesList/services.mdx +61 -0
- package/site-templates/shapes/local-business-service/provenance.json +4 -0
- package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.json +362 -0
- package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.md +300 -0
- package/site-templates/shapes/organization-service/ailk-template.json +10 -0
- package/site-templates/shapes/organization-service/content/en/AboutPage/about.mdx +38 -0
- package/site-templates/shapes/organization-service/content/en/HomePage/home.mdx +85 -0
- package/site-templates/shapes/organization-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
- package/site-templates/shapes/organization-service/content/en/PortfolioList/portfolio.mdx +171 -0
- package/site-templates/shapes/organization-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
- package/site-templates/shapes/organization-service/content/en/Service/first-engagement.mdx +38 -0
- package/site-templates/shapes/organization-service/content/en/Service/second-engagement.mdx +38 -0
- package/site-templates/shapes/organization-service/content/en/Service/third-engagement.mdx +38 -0
- package/site-templates/shapes/organization-service/content/en/ServicesList/services.mdx +72 -0
- package/site-templates/shapes/organization-service/provenance.json +4 -0
- package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.json +369 -0
- package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.md +299 -0
- package/site-templates/shapes/person-service/ailk-template.json +10 -0
- package/site-templates/shapes/person-service/content/_site.mdx +85 -0
- package/site-templates/shapes/person-service/content/en/AboutPage/about.mdx +39 -0
- package/site-templates/shapes/person-service/content/en/HomePage/home.mdx +97 -0
- package/site-templates/shapes/person-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
- package/site-templates/shapes/person-service/content/en/PortfolioList/portfolio.mdx +169 -0
- package/site-templates/shapes/person-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
- package/site-templates/shapes/person-service/content/en/Service/first-engagement.mdx +38 -0
- package/site-templates/shapes/person-service/content/en/Service/second-engagement.mdx +38 -0
- package/site-templates/shapes/person-service/content/en/Service/third-engagement.mdx +38 -0
- package/site-templates/{simple-service → shapes/person-service}/content/en/ServicesList/services.mdx +16 -16
- package/site-templates/shapes/person-service/provenance.json +4 -0
- package/templates/.claude/settings.json +15 -0
- package/templates/.claude/skills/README.md +10 -9
- package/templates/.claude/skills/{scaffold-auth → add-auth}/SKILL.md +7 -7
- package/templates/.claude/skills/{scaffold-auth → add-auth}/references/env-vars.md +2 -2
- package/templates/.claude/skills/{scaffold-auth → add-auth}/references/oauth-app-setup.md +3 -3
- package/templates/.claude/skills/{scaffold-page → add-page}/SKILL.md +76 -62
- package/templates/.claude/skills/add-page/references/page-types.md +115 -0
- package/templates/.claude/skills/{scaffold-page → add-page}/templates/content.mdx.tmpl +4 -4
- package/templates/.claude/skills/{scaffold-page → add-page}/templates/route.tsx.tmpl +1 -1
- package/templates/.claude/skills/{audit-site → check-site}/SKILL.md +16 -17
- package/templates/.claude/skills/{audit-site → check-site}/references/common-errors.md +3 -3
- package/templates/.claude/skills/{audit-site → check-site}/references/findings-glossary.md +16 -14
- package/templates/.claude/skills/{audit-site → check-site}/references/severity-levels.md +1 -1
- package/templates/.claude/skills/fill-page/SKILL.md +180 -0
- package/templates/.claude/skills/fill-page/profiles/plumbing.yaml +80 -0
- package/templates/.claude/skills/fill-page/references/section-sources.md +41 -0
- package/templates/.claude/skills/setup-database/SKILL.md +156 -0
- package/templates/.claude/skills/setup-database/scripts/verify-inbox.ts +154 -0
- package/templates/.claude/skills/{provision-config → setup-deploy}/SKILL.md +73 -41
- package/templates/.claude/skills/{provision-config → setup-deploy}/references/env-vars-template.md +21 -30
- package/templates/.claude/skills/setup-deploy/references/runbook-template.md +204 -0
- package/templates/.claude/skills/{provision-config → setup-deploy}/references/vercel-json-template.md +1 -1
- package/templates/.claude/skills/upgrade-plan/SKILL.md +117 -0
- package/templates/.claude/skills/upgrade-plan/references/options.md +24 -0
- package/templates/.claude/skills/upgrade-plan/scripts/upgrade-plan.ts +527 -0
- package/templates/.github/workflows/ci.yml +5 -0
- package/templates/CLAUDE.md +8 -2
- package/templates/DESIGN.md +56 -44
- package/templates/README.md +116 -46
- package/templates/apps/api/.env.example +2 -1
- package/templates/apps/api/CLAUDE.md +3 -2
- package/templates/apps/api/package.json +1 -1
- package/templates/apps/api/src/config/__tests__/index.test.ts +146 -10
- package/templates/apps/api/src/config/index.ts +46 -14
- package/templates/apps/api/src/lib/__tests__/lead-capture-store.test.ts +30 -0
- package/templates/apps/api/src/lib/__tests__/lead-delivery.test.ts +96 -0
- package/templates/apps/api/src/lib/lead-capture-store.ts +12 -0
- package/templates/apps/api/src/lib/lead-delivery.ts +52 -0
- package/templates/apps/api/src/lib/license-key-store.ts +45 -0
- package/templates/apps/api/src/lib/site.ts +5 -3
- package/templates/apps/api/src/middleware/__tests__/auth.database-not-configured.test.ts +97 -0
- package/templates/apps/api/src/middleware/auth.ts +9 -0
- package/templates/apps/api/src/openapi/spec.ts +63 -12
- package/templates/apps/api/src/routes/content/__tests__/get-page.test.ts +127 -5
- package/templates/apps/api/src/routes/content/get-page.ts +86 -2
- package/templates/apps/api/src/routes/leads/__tests__/capture.test.ts +88 -0
- package/templates/apps/api/src/routes/leads/__tests__/index.test.ts +100 -0
- package/templates/apps/api/src/routes/leads/index.ts +46 -1
- package/templates/apps/api/src/server.ts +13 -0
- package/templates/apps/api/src/services/__tests__/lead-routing.test.ts +194 -0
- package/templates/apps/api/src/services/__tests__/leads-inbox.test.ts +124 -0
- package/templates/apps/api/src/services/lead-routing.ts +140 -30
- package/templates/apps/api/src/services/leads-inbox.ts +48 -11
- package/templates/apps/mcp/__tests__/audit-single-page.test.ts +75 -1
- package/templates/apps/mcp/__tests__/lib/audit-single-page-readiness-scan.test.ts +57 -9
- package/templates/apps/mcp/__tests__/parity.test.ts +5 -4
- package/templates/apps/mcp/package.json +2 -1
- package/templates/apps/mcp/src/index.ts +7 -0
- package/templates/apps/mcp/src/lib/audit-single-page.ts +36 -10
- package/templates/apps/mcp/src/lib/license-key-store.ts +45 -0
- package/templates/apps/mcp/src/tools/create_project.ts +21 -6
- package/templates/apps/web/__tests__/setup.ts +18 -0
- package/templates/apps/web/app/[locale]/(auth)/forgot-password/forgot-password-card.tsx +10 -2
- package/templates/apps/web/app/[locale]/(auth)/layout.tsx +2 -2
- package/templates/apps/web/app/[locale]/(auth)/reset-password/reset-password-card.tsx +10 -4
- package/templates/apps/web/app/[locale]/(auth)/sign-in/sign-in-card.tsx +22 -14
- package/templates/apps/web/app/[locale]/(auth)/sign-up/sign-up-card.tsx +26 -18
- package/templates/apps/web/app/[locale]/(authed)/account/page.tsx +12 -4
- package/templates/apps/web/app/[locale]/[slug]/__tests__/page.test.tsx +35 -4
- package/templates/apps/web/app/[locale]/[slug]/page.tsx +49 -9
- package/templates/apps/web/app/[locale]/book-a-call/page.tsx +50 -0
- package/templates/apps/web/app/[locale]/careers/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/case-studies/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/clients/__tests__/page-renderer-migration.test.tsx +3 -4
- package/templates/apps/web/app/[locale]/contact/ConversationalIntakeWrapper.tsx +67 -29
- package/templates/apps/web/app/[locale]/contact/__tests__/ConversationalIntakeWrapper.test.tsx +94 -11
- package/templates/apps/web/app/[locale]/contact/__tests__/contact-form-text.test.ts +32 -0
- package/templates/apps/web/app/[locale]/contact/__tests__/contact.actions.test.ts +129 -0
- package/templates/apps/web/app/[locale]/contact/__tests__/page-renderer-migration.test.tsx +228 -86
- package/templates/apps/web/app/[locale]/contact/contact-form-text.ts +50 -0
- package/templates/apps/web/app/[locale]/contact/contact.actions.ts +73 -20
- package/templates/apps/web/app/[locale]/contact/page.tsx +115 -7
- package/templates/apps/web/app/[locale]/contact/site-contact-email.ts +54 -0
- package/templates/apps/web/app/[locale]/courses/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/downloads/__tests__/page-renderer-migration.test.tsx +3 -4
- package/templates/apps/web/app/[locale]/events/__tests__/page-renderer-migration.test.tsx +4 -5
- package/templates/apps/web/app/[locale]/features/[slug]/page.tsx +64 -0
- package/templates/apps/web/app/[locale]/features/page.tsx +52 -0
- package/templates/apps/web/app/[locale]/glossary/page.tsx +50 -0
- package/templates/apps/web/app/[locale]/how-to/__tests__/page-renderer-migration.test.tsx +1 -1
- package/templates/apps/web/app/[locale]/how-to/page.tsx +25 -15
- package/templates/apps/web/app/[locale]/integrations/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/layout.tsx +146 -52
- package/templates/apps/web/app/[locale]/newsletter/__tests__/newsletter.actions.test.ts +75 -0
- package/templates/apps/web/app/[locale]/newsletter/__tests__/page.test.tsx +163 -0
- package/templates/apps/web/app/[locale]/newsletter/newsletter.actions.ts +66 -0
- package/templates/apps/web/app/[locale]/newsletter/page.tsx +142 -0
- package/templates/apps/web/app/[locale]/partners/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/portfolio/[slug]/page.tsx +59 -0
- package/templates/apps/web/app/[locale]/portfolio/page.tsx +49 -0
- package/templates/apps/web/app/[locale]/products/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/projects/__tests__/page-renderer-migration.test.tsx +4 -5
- package/templates/apps/web/app/[locale]/{cancellation → purchase-policy}/page.tsx +15 -10
- package/templates/apps/web/app/[locale]/resources/__tests__/page-renderer-migration.test.tsx +4 -5
- package/templates/apps/web/app/[locale]/services/__tests__/page-renderer-migration.test.tsx +3 -3
- package/templates/apps/web/app/[locale]/software/[slug]/page.tsx +14 -1
- package/templates/apps/web/app/[locale]/software/__tests__/page-renderer-migration.test.tsx +1 -1
- package/templates/apps/web/app/[locale]/software/page.tsx +25 -15
- package/templates/apps/web/app/[locale]/tech-articles/__tests__/page-renderer-migration.test.tsx +1 -1
- package/templates/apps/web/app/[locale]/tech-articles/page.tsx +25 -15
- package/templates/apps/web/app/[locale]/testimonials/__tests__/page-renderer-migration.test.tsx +3 -4
- package/templates/apps/web/app/[locale]/use-cases/[slug]/page.tsx +63 -0
- package/templates/apps/web/app/[locale]/use-cases/__tests__/page-renderer-migration.test.tsx +3 -4
- package/templates/apps/web/app/[locale]/use-cases/page.tsx +15 -2
- package/templates/apps/web/app/[locale]/whitepapers/__tests__/page-renderer-migration.test.tsx +1 -1
- package/templates/apps/web/app/[locale]/whitepapers/page.tsx +25 -15
- package/templates/apps/web/app/error-fallback.tsx +17 -45
- package/templates/apps/web/app/not-found.tsx +14 -38
- package/templates/apps/web/app/og/route.tsx +6 -0
- package/templates/apps/web/eslint.config.mjs +3 -0
- package/templates/apps/web/instrumentation.ts +14 -0
- package/templates/apps/web/lib/__tests__/structured-data.test.tsx +38 -0
- package/templates/apps/web/lib/license-key-store.ts +52 -0
- package/templates/apps/web/lib/nav-config.ts +82 -18
- package/templates/apps/web/lib/prisma-for-auth.ts +9 -6
- package/templates/apps/web/lib/site-brand.tsx +1 -1
- package/templates/apps/web/lib/site-chrome.ts +3 -3
- package/templates/apps/web/lib/site-identity.ts +148 -0
- package/templates/apps/web/lib/site-theme.ts +11 -0
- package/templates/apps/web/messages/en.json +78 -37
- package/templates/apps/web/public/android-chrome-192x192.png +0 -0
- package/templates/apps/web/public/android-chrome-512x512.png +0 -0
- package/templates/apps/web/public/apple-touch-icon.png +0 -0
- package/templates/apps/web/public/favicon-16x16.png +0 -0
- package/templates/apps/web/public/favicon-32x32.png +0 -0
- package/templates/apps/web/public/favicon.ico +0 -0
- package/templates/apps/web/public/favicon.svg +3 -3
- package/templates/apps/web/public/logomark.svg +6 -3
- package/templates/apps/web/public/logos/ai-launch-kit-light.svg +4 -0
- package/templates/apps/web/public/logos/ai-launch-kit.svg +4 -0
- package/templates/apps/web/public/logos/atomic-agent-light.svg +4 -0
- package/templates/apps/web/public/logos/atomic-agent.svg +4 -0
- package/templates/apps/web/public/logos/salessmyth-light.svg +4 -0
- package/templates/apps/web/public/logos/salessmyth.svg +4 -0
- package/templates/apps/web/public/site.webmanifest +4 -4
- package/templates/apps/web/public/wordmark-light.svg +4 -0
- package/templates/apps/web/public/wordmark.svg +3 -3
- package/templates/apps/web/security-headers.config.ts +5 -1
- package/templates/content/_site.mdx +25 -0
- package/templates/content/en/AboutPage/about.mdx +150 -144
- package/templates/content/en/BlogList/blog.mdx +126 -0
- package/templates/content/en/ContactPage/contact.mdx +21 -92
- package/templates/content/en/FAQPage/faq.mdx +86 -57
- package/templates/content/en/HomePage/home.mdx +268 -217
- package/templates/content/en/PurchasePolicyPage/purchase-policy.mdx +181 -0
- package/templates/content/en/UseCasesList/use-cases.mdx +170 -0
- package/templates/database/CHANGELOG.md +14 -0
- package/templates/database/package.json +1 -1
- package/templates/package.json +3 -1
- package/templates/tools/lint-architecture.ts +315 -0
- package/templates/tools/tsconfig.json +14 -0
- package/versions.json +33 -33
- package/site-templates/simple-service/DESIGN.md +0 -148
- package/site-templates/simple-service/TEMPLATE-MANIFEST.json +0 -240
- package/site-templates/simple-service/TEMPLATE-MANIFEST.md +0 -278
- package/site-templates/simple-service/ailk-template.json +0 -10
- package/site-templates/simple-service/content/en/ContactPage/contact.mdx +0 -67
- package/site-templates/simple-service/content/en/FAQPage/faq.mdx +0 -56
- package/site-templates/simple-service/content/en/HomePage/home.mdx +0 -85
- package/site-templates/simple-service/content/en/Service/landscape-design.mdx +0 -40
- package/site-templates/simple-service/content/en/Service/lawn-maintenance.mdx +0 -40
- package/site-templates/simple-service/content/en/Service/seasonal-cleanup.mdx +0 -40
- package/site-templates/simple-service/provenance.json +0 -4
- package/templates/.claude/skills/add-schema/SKILL.md +0 -277
- package/templates/.claude/skills/add-schema/references/conflict-handling.md +0 -200
- package/templates/.claude/skills/add-schema/references/file-finding.md +0 -123
- package/templates/.claude/skills/add-schema/references/schema-types.md +0 -234
- package/templates/.claude/skills/provision-config/references/runbook-template.md +0 -248
- package/templates/.claude/skills/scaffold-page/references/page-types.md +0 -169
- package/templates/.claude/skills/suggest-site-pages/SKILL.md +0 -242
- package/templates/.claude/skills/suggest-site-pages/references/categories.md +0 -287
- package/templates/apps/web/app/[locale]/contact/ContactForm.tsx +0 -150
- package/templates/apps/web/app/[locale]/returns/page.tsx +0 -44
- package/templates/apps/web/app/[locale]/shipping/page.tsx +0 -44
- package/templates/content/en/CancellationPolicyPage/cancellation.mdx +0 -108
- package/templates/content/en/LandingPage/blog.mdx +0 -83
- package/templates/content/en/LandingPage/features.mdx +0 -103
- package/templates/content/en/LandingPage/how-it-works.mdx +0 -143
- package/templates/content/en/ReturnsPolicyPage/returns.mdx +0 -108
- package/templates/content/en/ShippingPolicyPage/shipping.mdx +0 -108
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-6.00 -
|
|
2
|
-
<!--
|
|
3
|
-
<g transform="scale(100)" fill="#2F2E2F"><g><g transform="translate(0.0000 0) scale(1.12)"><g transform="matrix(0.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-6.00 -133.50 1363.00 155.00" width="1363" height="155">
|
|
2
|
+
<!-- {Company Name} — placeholder wordmark for templates: portfolio custom lettering between braces drawn at its stem weight. -->
|
|
3
|
+
<g transform="scale(100)" fill="#2F2E2F"><g><path d="M0.4400 -1.2750A0.275 0.275 0 0 0 0.1650 -1.0000L0.1650 -0.8000A0.16499999999999998 0.16499999999999998 0 0 1 0.0000 -0.6350L0.0000 -0.4850A0.315 0.315 0 0 0 0.3150 -0.8000L0.3150 -1.0000A0.125 0.125 0 0 1 0.4400 -1.1250Z"/><path d="M0.4400 0.1550A0.275 0.275 0 0 1 0.1650 -0.1200L0.1650 -0.3200A0.16499999999999998 0.16499999999999998 0 0 0 0.0000 -0.4850L0.0000 -0.6350A0.315 0.315 0 0 1 0.3150 -0.3200L0.3150 -0.1200A0.125 0.125 0 0 0 0.4400 0.0050Z"/></g><g transform="translate(0.6400 0)"><g transform="translate(0.0000 0) scale(1.12)"><g transform="matrix(0.008439053643785967 0 0 0.008439053643785967 -6.325890417670046 -1.661401981511421)"><path d="M836.41 164.341C835.23 168.751 829.47 176.661 826.1 179.451C821.03 183.641 815.16 185.671 808.28 185.381C799.06 185.021 790.21 178.941 786.62 175.401C774.31 163.261 763.42 126.371 785.6 101.151C790.38 95.7213 799.06 90.4313 808.28 90.0713C815.16 89.7813 821.04 91.8113 826.1 96.0013C829.47 98.8013 835.23 106.701 836.41 111.111L850.58 110.991L856.37 95.5913C854.69 93.3213 842.2 80.1513 813.29 78.3613H811.99C806.12 78.3613 800.73 78.8913 795.85 79.7713C774.34 83.6413 757.22 100.051 752.05 121.281C750.58 127.301 749.55 133.771 749.57 140.021C749.57 141.261 749.62 142.501 749.71 143.731C751.72 171.321 773.66 193.211 801.13 196.451C802.11 196.571 803.52 196.671 805.04 196.751C814.56 197.281 824.14 196.051 833.09 192.741C847.38 187.471 854.38 179.421 855.59 177.781L850.57 164.441L836.4 164.321L836.41 164.341Z"/></g></g><g transform="translate(1.2089 0) scale(1)"><g transform="matrix(0.00437188995905497 0 0 0.00437188995905497 -4.3561802282706 -1.835802888450144)"><path d="M1229.68 310.25C1229.72 298.197 1227.71 285.719 1224.89 274.109C1220.67 256.79 1212.34 241.169 1201 228.305C1185.49 210.736 1164.38 198.335 1140.4 194.015C1132.05 192.511 1122.89 191.566 1113.04 191.373C1103.18 191.585 1094.02 192.511 1085.65 194.015C1061.68 198.335 1040.56 210.717 1025.06 228.305C1013.72 241.169 1005.36 256.809 1001.16 274.109C998.325 285.719 996.339 298.197 996.378 310.25C996.378 312.642 996.474 315.033 996.648 317.424C998.48 342.669 1008.99 365.446 1025.17 383.073V383.131C1026.83 385.387 1034.27 394.008 1048.51 402.455C1062.53 411.23 1078.63 417.093 1095.87 419.137C1097.76 419.369 1100.48 419.562 1103.41 419.716C1106.61 419.889 1109.84 419.928 1113.06 419.889C1116.26 419.928 1119.48 419.889 1122.68 419.716C1125.61 419.562 1128.33 419.369 1130.22 419.137C1147.46 417.112 1163.55 411.249 1177.59 402.455C1191.82 394.008 1199.26 385.387 1200.94 383.131V383.073C1217.1 365.446 1227.59 342.669 1229.43 317.424C1229.6 315.033 1229.7 312.642 1229.7 310.25H1229.68ZM1109.62 397.749C1091.82 397.055 1074.77 385.329 1067.83 378.502C1062.68 373.43 1057.67 366.082 1053.39 357.23C1040.43 330.365 1034.39 289.402 1052.69 254.399C1056.16 247.764 1060.5 241.323 1065.84 235.248C1075.06 224.757 1091.8 214.554 1109.6 213.879C1110.24 213.86 1110.86 213.879 1111.49 213.879C1112 213.879 1112.5 213.879 1113 213.879C1113.5 213.879 1114 213.879 1114.5 213.879C1115.14 213.879 1115.76 213.86 1116.39 213.879C1134.19 214.574 1150.93 224.776 1160.15 235.248C1165.49 241.323 1169.83 247.745 1173.3 254.399C1191.61 289.402 1185.57 330.346 1172.61 357.23C1168.35 366.082 1163.31 373.43 1158.17 378.502C1151.24 385.329 1134.17 397.055 1116.37 397.749C1115.74 397.769 1110.22 397.769 1109.58 397.749H1109.62Z"/></g></g><g transform="translate(2.4291 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -9.453451415840796 -1.4599045865638782)"><path d="M 4184.820312 182.902344 L 4029.464844 475.921875 L 3872.378906 184.222656 L 3838.335938 184.636719 L 3781.316406 582.816406 L 3839.394531 582.816406 L 3866.273438 319.972656 L 4004.371094 574.609375 L 4028.960938 574.902344 L 4167.824219 304.628906 L 4188.730469 583.9375 L 4264.238281 583.492188 L 4223.601562 183.332031 Z M 4184.820312 182.902344 "/></g></g><g transform="translate(3.8165 0) scale(0.8928571428571428)"><g transform="matrix(0.008454509280144126 0 0 0.008454509280144126 -0.1519219121575528 -1.257235515262025)"><path d="M99.75 33.84C95.67 27.8 90.28 23.48 83.57 20.89C76.87 18.3 63.42 17 50.57 17H18V148.68H39.08V93.37H54C70.7 93.37 86.8 89.39 94.96 81.43C102.23 74.3 105.87 65.42 105.87 54.79C105.87 46.87 103.83 39.88 99.75 33.84ZM75.31 80.25C68.84 86.37 60.7 87.49 50.89 87.49H40.11V23.51H50.39C60.54 23.51 68.85 24.32 75.32 30.4C81.79 36.48 85.02 44.8 85.02 55.35C85.02 65.9 81.78 74.12 75.32 80.24L75.31 80.25Z"/></g></g><g transform="translate(4.6099 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -4.7020750267431675 -1.4599045865638782)"><path d="M 2017.5 402.472656 L 2069.75 282.953125 L 2117.78125 403.007812 Z M 2058.75 183.148438 L 1880.675781 584.136719 L 1942.238281 584.136719 L 2008.234375 422.691406 L 2125.605469 423.199219 L 2190.234375 584.136719 L 2271.277344 584.136719 L 2099.449219 183.226562 Z M 2058.75 183.148438 "/></g></g><g transform="translate(5.7159 0) scale(1)"><g transform="matrix(0.00437188995905497 0 0 0.00437188995905497 -8.030530574367127 -1.835802888450144)"><path d="M2004.42 193.996L1983.67 191.122V201.903V362.052H1981.67L1873.96 191.064H1836.85V419.909H1878.31V249.847H1880.2L1988.03 419.909H2024.9V201.903V191.122L2004.42 193.996Z"/></g></g><g transform="translate(6.6579 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -10.788574257600803 -1.4599045865638782)"><path d="M 4630.832031 189.804688 L 4630.34375 189.699219 C 4630.21875 189.667969 4617.730469 187 4600.886719 184.835938 C 4600.089844 184.730469 4599.429688 184.636719 4598.878906 184.542969 L 4503.933594 363.476562 L 4400.800781 185.679688 C 4394.710938 186.019531 4374.289062 187.246094 4359.441406 189.484375 L 4359.042969 189.546875 L 4358.660156 189.5 C 4358.414062 189.46875 4335.847656 186.832031 4315.183594 186.019531 L 4459.140625 408.519531 L 4458.941406 582.800781 L 4527.023438 582.816406 L 4527.207031 411.203125 L 4663.921875 186.554688 C 4656.773438 187.074219 4643.855469 188.121094 4631.339844 189.746094 Z M 4630.832031 189.804688 "/></g></g><g transform="translate(8.1185 0) scale(1.12)"><g transform="matrix(0.00437188995905497 0 0 0.00437188995905497 -8.030530574367127 -1.835802888450144)"><path d="M2004.42 193.996L1983.67 191.122V201.903V362.052H1981.67L1873.96 191.064H1836.85V419.909H1878.31V249.847H1880.2L1988.03 419.909H2024.9V201.903V191.122L2004.42 193.996Z"/></g></g><g transform="translate(9.1691 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -4.7020750267431675 -1.4599045865638782)"><path d="M 2017.5 402.472656 L 2069.75 282.953125 L 2117.78125 403.007812 Z M 2058.75 183.148438 L 1880.675781 584.136719 L 1942.238281 584.136719 L 2008.234375 422.691406 L 2125.605469 423.199219 L 2190.234375 584.136719 L 2271.277344 584.136719 L 2099.449219 183.226562 Z M 2058.75 183.148438 "/></g></g><g transform="translate(10.2751 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -9.453451415840796 -1.4599045865638782)"><path d="M 4184.820312 182.902344 L 4029.464844 475.921875 L 3872.378906 184.222656 L 3838.335938 184.636719 L 3781.316406 582.816406 L 3839.394531 582.816406 L 3866.273438 319.972656 L 4004.371094 574.609375 L 4028.960938 574.902344 L 4167.824219 304.628906 L 4188.730469 583.9375 L 4264.238281 583.492188 L 4223.601562 183.332031 Z M 4184.820312 182.902344 "/></g></g><g transform="translate(11.6625 0) scale(1)"><g transform="matrix(0.002500025961207091 0 0 0.002500025961207091 -4.005032025496627 -1.4599045865638782)"><path d="M 1828.773438 210.054688 L 1828.46875 181.613281 L 1601.964844 182.214844 L 1601.964844 583.507812 L 1828.4375 584.121094 L 1828.4375 554.835938 L 1669.246094 561.800781 L 1669.386719 381.808594 L 1795.714844 383.328125 L 1795.714844 360.210938 L 1670.03125 364.074219 L 1670.246094 205.636719 Z M 1828.773438 210.054688 "/></g></g></g><g transform="translate(13.5091 0) scale(-1 1)"><path d="M0.4400 -1.2750A0.275 0.275 0 0 0 0.1650 -1.0000L0.1650 -0.8000A0.16499999999999998 0.16499999999999998 0 0 1 0.0000 -0.6350L0.0000 -0.4850A0.315 0.315 0 0 0 0.3150 -0.8000L0.3150 -1.0000A0.125 0.125 0 0 1 0.4400 -1.1250Z"/><path d="M0.4400 0.1550A0.275 0.275 0 0 1 0.1650 -0.1200L0.1650 -0.3200A0.16499999999999998 0.16499999999999998 0 0 0 0.0000 -0.4850L0.0000 -0.6350A0.315 0.315 0 0 1 0.3150 -0.3200L0.3150 -0.1200A0.125 0.125 0 0 0 0.4400 0.0050Z"/></g></g>
|
|
4
4
|
</svg>
|
|
@@ -47,7 +47,11 @@ const HSTS_ALIASES = new Set([
|
|
|
47
47
|
const BASELINE_CSP: CspDirectiveMap = {
|
|
48
48
|
"default-src": ["'self'"],
|
|
49
49
|
// 'unsafe-inline' kept until app inline scripts are nonced (see csp.md).
|
|
50
|
-
|
|
50
|
+
// 'unsafe-eval' in dev only: React Fast Refresh evaluates strings (#6467).
|
|
51
|
+
"script-src":
|
|
52
|
+
process.env.NODE_ENV === "development"
|
|
53
|
+
? ["'self'", "'unsafe-inline'", "'unsafe-eval'"]
|
|
54
|
+
: ["'self'", "'unsafe-inline'"],
|
|
51
55
|
"style-src": ["'self'", "'unsafe-inline'"],
|
|
52
56
|
"img-src": ["'self'", "data:", "https:"],
|
|
53
57
|
"font-src": ["'self'"],
|
|
@@ -3,6 +3,9 @@ version: "1"
|
|
|
3
3
|
siteName: "{{COMPANY_NAME}}"
|
|
4
4
|
baseUrl: https://{{COMPANY_DOMAIN}}
|
|
5
5
|
defaultLocale: en
|
|
6
|
+
# /contact shows this address instead of the form when the site cannot take
|
|
7
|
+
# messages (no database and no email key in production).
|
|
8
|
+
contactEmail: "hello@{{COMPANY_DOMAIN}}"
|
|
6
9
|
siteIdentity:
|
|
7
10
|
kind: Organization
|
|
8
11
|
name: "{{COMPANY_NAME}}"
|
|
@@ -15,6 +18,10 @@ siteIdentity:
|
|
|
15
18
|
analytics:
|
|
16
19
|
vercelAnalytics: false
|
|
17
20
|
theme:
|
|
21
|
+
corners: square
|
|
22
|
+
eyebrowCase: sentence
|
|
23
|
+
placeholders: fill
|
|
24
|
+
checkmarks: plain
|
|
18
25
|
colors:
|
|
19
26
|
light:
|
|
20
27
|
bg: "#ffffff"
|
|
@@ -48,6 +55,24 @@ set your site name, base URL, default locale, and identity.
|
|
|
48
55
|
- Person — a solo practitioner, consultant, or personal site
|
|
49
56
|
- LocalBusiness — a business with a physical location customers visit
|
|
50
57
|
|
|
58
|
+
`siteIdentity.secondary` (optional) names a second entity the site is about, and
|
|
59
|
+
every page's structured data carries it:
|
|
60
|
+
|
|
61
|
+
- under an Organization — the product: `kind: SoftwareApplication` with a
|
|
62
|
+
`name` and `url` (optional `description`, `applicationCategory`,
|
|
63
|
+
`operatingSystem`). The home page's main entity becomes the product,
|
|
64
|
+
published by your organization, and its feature list is read from your
|
|
65
|
+
feature pages (`content/en/Feature/*.mdx`, served at `/features/<slug>`).
|
|
66
|
+
- under a Person — the company you run: `kind: Organization` with a `name`
|
|
67
|
+
and `url` (optional `logo`, `description`, `sameAs`).
|
|
68
|
+
|
|
69
|
+
For example, nested under `siteIdentity:`
|
|
70
|
+
|
|
71
|
+
secondary:
|
|
72
|
+
kind: SoftwareApplication
|
|
73
|
+
name: Acme App
|
|
74
|
+
url: https://example.com/app
|
|
75
|
+
|
|
51
76
|
`sameAs` is the list of URLs that are unambiguously the same entity as you —
|
|
52
77
|
your LinkedIn company page, your GitHub org, your X profile. Answer engines use
|
|
53
78
|
it to reconcile your site with the rest of your presence, so it is worth
|
|
@@ -1,174 +1,180 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "AboutPage"
|
|
3
3
|
slug: "about"
|
|
4
|
-
title: "We want you to
|
|
5
|
-
description: "We want you to
|
|
4
|
+
title: "{We want you to ability they couldn't do before}"
|
|
5
|
+
description: "{We want you to ability they couldn't do before}"
|
|
6
6
|
sections:
|
|
7
7
|
[
|
|
8
8
|
{
|
|
9
9
|
"id": "manifesto",
|
|
10
10
|
"type": "content-block",
|
|
11
|
-
"data":
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"
|
|
18
|
-
"
|
|
11
|
+
"data":
|
|
12
|
+
{
|
|
13
|
+
"variant": "media-right",
|
|
14
|
+
"imagerySlot": true,
|
|
15
|
+
"eyebrow": "About",
|
|
16
|
+
"headline": "{We want you to ability they couldn't do before}",
|
|
17
|
+
"body": "{Hey, I’m your name, the founder of your company.}\n\n{A few sentences introducing the problems you solve. A rhetorical question can get people thinking about a problem they have run into themselves.}\n\n{The backstory of why your product exists and the gap it fills. Take a stance and plant your flag.}\n\n{We believe that you should be able to X without Y.}\n\nWe’ll help you:\n\n→ {A problem you solve}\n\n→ {Another problem you solve}\n\n→ {A third problem you solve}\n\nIf that resonates with you, you're in the right place.\n\n- {your name}",
|
|
18
|
+
"cta":
|
|
19
|
+
{ "label": "Sign Up", "href": "/sign-up", "variant": "outline" },
|
|
20
|
+
"secondaryCta":
|
|
21
|
+
{
|
|
22
|
+
"label": "More about us",
|
|
23
|
+
"href": "/about",
|
|
24
|
+
"variant": "outline",
|
|
25
|
+
},
|
|
19
26
|
},
|
|
20
|
-
"secondaryCta": {
|
|
21
|
-
"label": "More about us",
|
|
22
|
-
"href": "/about",
|
|
23
|
-
"variant": "outline"
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
29
|
"id": "team",
|
|
29
30
|
"type": "team",
|
|
30
|
-
"data":
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
31
|
+
"data":
|
|
32
|
+
{
|
|
33
|
+
"variant": "with-side-images",
|
|
34
|
+
"eyebrow": "Tagline",
|
|
35
|
+
"headline": "Our team",
|
|
36
|
+
"description": "{One sentence about the people behind the product}",
|
|
37
|
+
"members":
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
"name": "{Team member name}",
|
|
41
|
+
"role": "{Their title}",
|
|
42
|
+
"bio": "{Two sentences about what they do here}",
|
|
43
|
+
"links":
|
|
44
|
+
[
|
|
45
|
+
{ "type": "linkedin", "url": "#" },
|
|
46
|
+
{ "type": "twitter", "url": "#" },
|
|
47
|
+
{ "type": "website", "url": "#" },
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "{Team member name}",
|
|
52
|
+
"role": "{Their title}",
|
|
53
|
+
"bio": "{Two sentences about what they do here}",
|
|
54
|
+
"links":
|
|
55
|
+
[
|
|
56
|
+
{ "type": "linkedin", "url": "#" },
|
|
57
|
+
{ "type": "twitter", "url": "#" },
|
|
58
|
+
{ "type": "website", "url": "#" },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "{Team member name}",
|
|
63
|
+
"role": "{Their title}",
|
|
64
|
+
"bio": "{Two sentences about what they do here}",
|
|
65
|
+
"links":
|
|
66
|
+
[
|
|
67
|
+
{ "type": "linkedin", "url": "#" },
|
|
68
|
+
{ "type": "twitter", "url": "#" },
|
|
69
|
+
{ "type": "website", "url": "#" },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "{Team member name}",
|
|
74
|
+
"role": "{Their title}",
|
|
75
|
+
"bio": "{Two sentences about what they do here}",
|
|
76
|
+
"links":
|
|
77
|
+
[
|
|
78
|
+
{ "type": "linkedin", "url": "#" },
|
|
79
|
+
{ "type": "twitter", "url": "#" },
|
|
80
|
+
{ "type": "website", "url": "#" },
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "{Team member name}",
|
|
85
|
+
"role": "{Their title}",
|
|
86
|
+
"bio": "{Two sentences about what they do here}",
|
|
87
|
+
"links":
|
|
88
|
+
[
|
|
89
|
+
{ "type": "linkedin", "url": "#" },
|
|
90
|
+
{ "type": "twitter", "url": "#" },
|
|
91
|
+
{ "type": "website", "url": "#" },
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"id": "testimonial",
|
|
99
99
|
"type": "testimonials",
|
|
100
|
-
"data":
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
100
|
+
"data":
|
|
101
|
+
{
|
|
102
|
+
"variant": "quote",
|
|
103
|
+
"items":
|
|
104
|
+
[
|
|
105
|
+
{
|
|
106
|
+
"quote": "{A customer quote, in their own words, about the result they got}",
|
|
107
|
+
"author": "{Customer name}",
|
|
108
|
+
"role": "{Their title, their company}",
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
110
112
|
},
|
|
111
113
|
{
|
|
112
114
|
"id": "switch",
|
|
113
115
|
"type": "cta",
|
|
114
|
-
"data":
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
"
|
|
130
|
-
"variant": "outline"
|
|
116
|
+
"data":
|
|
117
|
+
{
|
|
118
|
+
"variant": "box",
|
|
119
|
+
"imagerySlot": true,
|
|
120
|
+
"headline": "{Switch to your product in time amount or less}",
|
|
121
|
+
"description": "{You shouldn't have to experience a painful problem. With your product, you can finally achieve a value outcome or get a big improvement.}",
|
|
122
|
+
"checklist":
|
|
123
|
+
["No credit card required", "Cancel any time", "Live chat support"],
|
|
124
|
+
"primaryCta": { "label": "{Primary CTA}", "href": "/contact" },
|
|
125
|
+
"secondaryCta":
|
|
126
|
+
{
|
|
127
|
+
"label": "{Secondary CTA}",
|
|
128
|
+
"href": "/pricing",
|
|
129
|
+
"variant": "outline",
|
|
130
|
+
},
|
|
131
|
+
"closingLine": "{Social Proof goes here}",
|
|
131
132
|
},
|
|
132
|
-
"closingLine": "{Social Proof goes here}"
|
|
133
|
-
}
|
|
134
133
|
},
|
|
135
134
|
{
|
|
136
135
|
"id": "faq",
|
|
137
136
|
"type": "faq",
|
|
138
|
-
"data":
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
"
|
|
143
|
-
|
|
137
|
+
"data":
|
|
138
|
+
{
|
|
139
|
+
"headline": "FAQs",
|
|
140
|
+
"description": "{One sentence that invites visitors to ask what this list does not answer}",
|
|
141
|
+
"actions":
|
|
142
|
+
[
|
|
143
|
+
{
|
|
144
|
+
"kind": "button",
|
|
145
|
+
"label": "Contact",
|
|
146
|
+
"href": "/contact",
|
|
147
|
+
"variant": "outline",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
"presentation": "accordion",
|
|
151
|
+
"initialOpen": "none",
|
|
152
|
+
"items":
|
|
153
|
+
[
|
|
154
|
+
{
|
|
155
|
+
"question": "{A question your customers actually ask}",
|
|
156
|
+
"answer": "{Answer the question in two or three plain sentences}",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"question": "{A question your customers actually ask}",
|
|
160
|
+
"answer": "{Answer the question in two or three plain sentences}",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"question": "{A question your customers actually ask}",
|
|
164
|
+
"answer": "{Answer the question in two or three plain sentences}",
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"question": "{A question your customers actually ask}",
|
|
168
|
+
"answer": "{Answer the question in two or three plain sentences}",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"question": "{A question your customers actually ask}",
|
|
172
|
+
"answer": "{Answer the question in two or three plain sentences}",
|
|
173
|
+
},
|
|
174
|
+
],
|
|
144
175
|
},
|
|
145
|
-
|
|
146
|
-
"initialOpen": "first",
|
|
147
|
-
"items": [
|
|
148
|
-
{
|
|
149
|
-
"question": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa?",
|
|
150
|
-
"answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa."
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
"question": "Dolorem consectetur quia maxime sunt ut sint. Fuga optio dolorem animi voluptatem laudantium error. Quis accusamus deleniti rer?",
|
|
154
|
-
"answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa."
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"question": "Totam nihil esse. Itaque optio temporibus adipisci. Rerum nisi aperiam aliquid doloremque aliquam?",
|
|
158
|
-
"answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa."
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"question": "Delectus minus officiis et. Perspiciatis illum nisi vitae. Sed consequuntur animi corrupti distinctio ipsam accusamus?",
|
|
162
|
-
"answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa."
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"question": "Aperiam perferendis voluptatem est sit enim sed eaque perspiciatis enim. Est explicabo ea explicabo et et dignissimos aliquid?",
|
|
166
|
-
"answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa."
|
|
167
|
-
}
|
|
168
|
-
]
|
|
169
|
-
}
|
|
170
|
-
}
|
|
176
|
+
},
|
|
171
177
|
]
|
|
172
178
|
---
|
|
173
179
|
|
|
174
|
-
{/* Rendered from frontmatter `sections[]`. Placeholder copy
|
|
180
|
+
{/* Rendered from frontmatter `sections[]`. Placeholder copy — replace every {brace}, including the manifesto and the team, before you launch. */}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "BlogList"
|
|
3
|
+
slug: "blog"
|
|
4
|
+
title: "Get free blog/docs from Fumadocs"
|
|
5
|
+
description: "Or upgrade to Pro and get Fumadocs with our easy-to-use editor."
|
|
6
|
+
sections:
|
|
7
|
+
[
|
|
8
|
+
{
|
|
9
|
+
"id": "hero",
|
|
10
|
+
"type": "hero",
|
|
11
|
+
"data":
|
|
12
|
+
{
|
|
13
|
+
"variant": "centered",
|
|
14
|
+
"gapBelow": "tight",
|
|
15
|
+
"eyebrow": "Blog",
|
|
16
|
+
"headline": "Get free blog/docs from Fumadocs",
|
|
17
|
+
"subheadline": "Or upgrade to Pro and get Fumadocs with our easy-to-use editor.",
|
|
18
|
+
"primaryCta":
|
|
19
|
+
{ "label": "Get Fumadocs", "href": "https://www.fumadocs.dev" },
|
|
20
|
+
"secondaryCta":
|
|
21
|
+
{
|
|
22
|
+
"label": "Upgrade to Pro",
|
|
23
|
+
"href": "https://ailaunchkit.ai/pricing",
|
|
24
|
+
"variant": "outline",
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "posts",
|
|
30
|
+
"type": "blog-list",
|
|
31
|
+
"data":
|
|
32
|
+
{
|
|
33
|
+
"variant": "grid",
|
|
34
|
+
"posts":
|
|
35
|
+
[
|
|
36
|
+
{
|
|
37
|
+
"title": "Free Fumadocs Blog: publish your blog and docs with Fumadocs",
|
|
38
|
+
"slug": "post-1",
|
|
39
|
+
"href": "https://www.fumadocs.dev",
|
|
40
|
+
"excerpt": "The Free template ships with Fumadocs, the open-source docs and blog engine. Write in Markdown, keep this design system, and publish from your repo.",
|
|
41
|
+
"publishedAt": "2026-01-01",
|
|
42
|
+
"readingTime": "5 min",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"title": "Upgrade to Pro: Fumadocs with our easy-to-use editor",
|
|
46
|
+
"slug": "post-2",
|
|
47
|
+
"href": "https://ailaunchkit.ai/pricing",
|
|
48
|
+
"excerpt": "Upgrade to Pro and write your posts and docs in a visual editor — no Markdown, no repo, the same Fumadocs pages. See what Pro includes.",
|
|
49
|
+
"publishedAt": "2026-01-02",
|
|
50
|
+
"readingTime": "5 min",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"title": "Free Fumadocs Blog: publish your blog and docs with Fumadocs",
|
|
54
|
+
"slug": "post-3",
|
|
55
|
+
"href": "https://www.fumadocs.dev",
|
|
56
|
+
"excerpt": "The Free template ships with Fumadocs, the open-source docs and blog engine. Write in Markdown, keep this design system, and publish from your repo.",
|
|
57
|
+
"publishedAt": "2026-01-03",
|
|
58
|
+
"readingTime": "5 min",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Upgrade to Pro: Fumadocs with our easy-to-use editor",
|
|
62
|
+
"slug": "post-4",
|
|
63
|
+
"href": "https://ailaunchkit.ai/pricing",
|
|
64
|
+
"excerpt": "Upgrade to Pro and write your posts and docs in a visual editor — no Markdown, no repo, the same Fumadocs pages. See what Pro includes.",
|
|
65
|
+
"publishedAt": "2026-01-04",
|
|
66
|
+
"readingTime": "5 min",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"title": "Free Fumadocs Blog: publish your blog and docs with Fumadocs",
|
|
70
|
+
"slug": "post-5",
|
|
71
|
+
"href": "https://www.fumadocs.dev",
|
|
72
|
+
"excerpt": "The Free template ships with Fumadocs, the open-source docs and blog engine. Write in Markdown, keep this design system, and publish from your repo.",
|
|
73
|
+
"publishedAt": "2026-01-05",
|
|
74
|
+
"readingTime": "5 min",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"title": "Upgrade to Pro: Fumadocs with our easy-to-use editor",
|
|
78
|
+
"slug": "post-6",
|
|
79
|
+
"href": "https://ailaunchkit.ai/pricing",
|
|
80
|
+
"excerpt": "Upgrade to Pro and write your posts and docs in a visual editor — no Markdown, no repo, the same Fumadocs pages. See what Pro includes.",
|
|
81
|
+
"publishedAt": "2026-01-06",
|
|
82
|
+
"readingTime": "5 min",
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "logo-cloud",
|
|
89
|
+
"type": "logoCloud",
|
|
90
|
+
"data":
|
|
91
|
+
{
|
|
92
|
+
"headline": "Don’t just take our word for it",
|
|
93
|
+
"headlineStyle": "label",
|
|
94
|
+
"logos":
|
|
95
|
+
[
|
|
96
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
97
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
98
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
99
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
100
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
101
|
+
{ "name": "Placeholder logo", "src": "/logomark.svg" },
|
|
102
|
+
],
|
|
103
|
+
"layout": "inline",
|
|
104
|
+
"treatment": "monochrome",
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "testimonial",
|
|
109
|
+
"type": "testimonials",
|
|
110
|
+
"data":
|
|
111
|
+
{
|
|
112
|
+
"variant": "quote",
|
|
113
|
+
"items":
|
|
114
|
+
[
|
|
115
|
+
{
|
|
116
|
+
"quote": "{A customer quote, in their own words, about the result they got}",
|
|
117
|
+
"author": "{Customer name}",
|
|
118
|
+
"role": "{Their title, their company}",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
]
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
{/* The Free blog teaser (one static page, rendered by the generic `[slug]` route). With the Pro docs-blog module installed its own `blog/` route directory takes precedence and this file is inert. Placeholder copy — replace before you launch. */}
|