bundlePackage manifestv5.0.7

bundle.marketing

Marketing surface bundle built from ContractSpec modules and design-system components.

@lssm-tech/bundle.marketing
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 5.0.7. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
serverbun
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEbundle.marketingbundles

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

45 declarations · first 6 shownSELECT TO INSPECT

@lssm-tech/bundle.marketing

Marketing composition bundle for the public ContractSpec site: category-defining substrate narrative, technical product/templates/examples pages, support pages, and email-facing marketing helpers.

What It Provides

  • Marketing page bodies consumed by @lssm-tech/app.web-landing
  • Platform-neutral landing story, navigation, page, and examples-entry data consumed by web and Expo shells
  • Scenario/template browsing and preview surfaces used on /templates
  • Support and program pages such as contact, contribute, cofounder, and design-partner
  • Email/contact helpers and marketing-adjacent utilities

Architecture

  • src/components/marketing/ owns the public marketing narratives, section composition, and page-level stories.
  • src/content/ owns React-free story data shared by web and mobile shells.
  • src/content/companyos-marketing-contracts.ts owns the CompanyOS marketing MarketingSiteContract instances consumed by the web app. It imports the shared @lssm-tech/lib.contracts-spec/marketing validators, keeps CompanyOS copy in the bundle, and declares the route narrative, section sequence, density, deep-dive routes, CTAs, and evidence refs for /, /product, /solutions, /solutions/ai-ops-automation-sprint, /platform/managed-contractspec, /autonomous-companies, and /pricing.
  • src/components/templates/ owns template browsing, preview, and template-to-CLI/Studio flows. Preview content uses the shared example preview host from @lssm-tech/module.examples/runtime so UI-backed and fallback examples stay aligned with docs and sandbox.
  • src/libs/email/ owns contact/newsletter/waitlist actions and helpers used by marketing surfaces.
  • src/index.ts is the root public entrypoint.

The important boundary:

  • @lssm-tech/lib.design-system owns reusable marketing atoms, molecules, sections, and the typed landing-page section sequence.
  • bundle.marketing owns story/content mapping, icon lookup, and product-specific page composition.
  • Existing ./components/marketing/sections/* subpaths remain compatibility shims over design-system components.
  • CompanyOS contract pages use one render path: MarketingPageContract → design-system MarketingPageSection[] adapter → existing marketing landing primitives. The bundle supplies content and page contracts; the design system adapts generic presentation props; apps retain route metadata, structured data, canonical URLs, and Next.js shell concerns.
  • App packages own routing, metadata, OG, shell, and public delivery.

Template preview workflow

bundle.marketing stays a thin consumer of @lssm-tech/module.examples preview metadata:

  • /templates actions should be derived from supportsInlineExamplePreview() and the shared preview surface, not bundle-local allowlists.
  • Rich preview content belongs in the example package ./ui export or an explicitly approved module/examples adapter; marketing should not duplicate domain preview implementations.
  • Keep fallback CTAs to docs, sandbox, LLMS, and source links for examples that are discoverable but not inline-preview enabled.
  • Preview data must remain deterministic and provider-free; no marketing preview should require live backends, provider credentials, or network execution.

Public Entry Points

  • Root export . through src/index.ts
  • ./content for platform-neutral landing story data and CTA helpers
  • ./content/companyos-marketing-contracts for CompanyOS marketing page/site contracts and validation helpers
  • ./i18n for a small marketing copy runtime used by app metadata and locale-provider composition
  • ./components/marketing/* for landing, product, pricing, contact, contribute, cofounder, and design-partner surfaces
  • ./components/marketing/NewsletterSignup for the localized newsletter form (marketing.newsletter.* keys); hosts inject the NewsletterSignupAction server action and keep its binding
  • ./components/templates/* for templates browsing and preview surfaces
  • ./libs/email/* for marketing contact/newsletter/waitlist helpers

Marketing route contract system

src/content/marketing-route-contracts.ts exposes exact, generated, and runtime-family MarketingPageContract registries for the CompanyOS and ContractSpec public marketing route groups. Adapter-rendered pages keep using the full contract renderer; bespoke pages consume the same route contract system through an inert design-system boundary so existing page copy stays owned by the current components.

CompanyOS "Room for the real work" campaign pages

Three audience landing pages, rendered by @lssm-tech/app.web-application-monolith under its marketing layout. That layout applies CampaignThemeScope (the companyos.design.room-for-work campaign theme from @lssm-tech/bundle.managed-companyos/design, fixed light mode) to every marketing route. A visitor's saved workspace design is never read or changed.

  • ./content/companyos-campaign: React-free en/fr/es page content. COMPANYOS_CAMPAIGN_ROUTES maps each CampaignAudience to its route: owners → /for-owners, trades → /for-trades, intake → /for-client-intake. getCompanyOsCampaignPage(audience, locale) resolves the content for a normalized locale and throws for an audience without registered content. All three audiences have registered content in en, fr and es; each file is still marked draft_for_native_review from specs/companyos-visual-growth. The audience and content types are exported as types.
  • ./components/companyos-campaign: the page compositions CompanyOsOwnersPage, CompanyOsTradesPage and CompanyOsIntakePage, the shared sections (CampaignComparison, CampaignEvidencePanel, CampaignFaq, CampaignClose, CampaignFilm, CampaignFilmView, CampaignSplitSection, CampaignStoryBand, CampaignWalkthrough, CampaignStill) and the design atoms (CampaignCta, CampaignHeading, CampaignLabel, HandoverFrame).
  • Route contracts: createCompanyOsOwnersContract, createCompanyOsTradesContract and createCompanyOsClientIntakeContract (src/content/companyos-assistant/contracts-campaign.ts) build each page's MarketingPageContract from the same content, with route taken from COMPANYOS_CAMPAIGN_ROUTES. They are composed into the CompanyOS marketing site contract.
  • Campaign films: src/content/companyos-campaign/media.ts lists each film and locale explicitly. A locale without media is null and the player renders a text alternative, never another language. videoSrc stays null until an approved export is on first-party storage.

Audience routing is a presentation and copy choice only. CampaignAudience is never persisted as a role, permission or preference and never changes what a visitor may access.

Do not add prices, dates, SLAs, certifications or early-stage offer labels to campaign pages without an approved claim-ledger entry.

CompanyOS v2 assistant site

The CompanyOS public site (companyos.run, hosted by @lssm-tech/app.web-application-monolith) presents CompanyOS as the company's personal assistant installed under the customer's control (spec: specs/companyos-restyle-v2).

  • ./content/companyos-assistant: React-free en/fr/es story data for /, /on-premises, /content-assistance, /pricing and /example; COMPANYOS_ASSISTANT_ROUTES; withCompanyOsLocaleHref; contract builders (contracts-home.ts, contracts-pages.ts, contracts-pricing.ts) composed into companyos.marketing.site. Editorial strings use for line breaks and *text* for the serif emphasis.
  • ./components/companyos-assistant: page compositions (CompanyOsAssistantHomePage, CompanyOsOnPremisesPage, CompanyOsContentAssistancePage, CompanyOsPricingPage, CompanyOsExampleWorkspacePage) and shared sections. Every section carries data-marketing-section equal to its contract section id; page tests assert the match.
  • Styling uses semantic design tokens only, so pages follow the active design pack (CompanyOS defaults to companyos.design.calm-assistant).
  • Examples are illustrative: no account, inbox, model or calendar is connected and nothing is sent or published. Do not add prices, dates, SLAs, certifications or early-stage offer labels without an approved claim-ledger entry.

Local Commands

  • bun run dev — contractspec-bun-build dev
  • bun run build — contractspec-bun-build build
  • bun run lint — bun run lint:fix
  • bun run lint:check — biome check .
  • bun run lint:fix — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
  • bun run typecheck — tsgo --noEmit
  • bun run publish:pkg — bun publish --tolerate-republish --ignore-scripts --verbose
  • bun run publish:pkg:canary — bun publish:pkg --tag canary
  • bun run clean — rm -rf dist
  • bun run build:bundle — contractspec-bun-build transpile
  • bun run build:types — contractspec-bun-build types
  • bun run prebuild — contractspec-bun-build prebuild

Notes

  • Keep the bundle focused on page storytelling and marketing interaction flows. Do not move shell/routing concerns here.
  • Public positioning in this package must stay aligned with root docs and @lssm-tech/app.web-landing.
  • If the page story changes materially, update the package docs and the public LLM-facing docs so human-facing and agent-facing descriptions do not drift.

Design-system marketing foundation split

Generic full-page marketing UI now lives in @lssm-tech/lib.design-system. The marketing bundle keeps product story/content ownership and exposes compatibility wrappers for existing section subpaths such as CtaButtonRow, MarketingHero, MarketingCtaBand, ProseSection, and IconGridSection.

Consumers can keep using the bundle section subpaths while new product pages should compose content into design-system MarketingPageSection objects when they need full landing-page foundations.

Declared capabilities.

Bundle Marketing

Marketing surface bundle built from ContractSpec modules and design-system components.

Use it to

  • Adopt marketing surface bundle built from contractspec modules and design-system components

Requires

  • TypeScript

Choose another boundary when

  • The @lssm-tech/bundle.marketing package constraints do not match the target runtime or platform.

@lssm-tech/bundle.marketing

@lssm-tech/bundle.marketing/bundles

@lssm-tech/bundle.marketing/bundles/MarketingBundle

@lssm-tech/bundle.marketing/components/marketing

@lssm-tech/bundle.marketing/components/marketing/AcquisitionForm

@lssm-tech/bundle.marketing/components/marketing/AcquisitionPage

@lssm-tech/bundle.marketing/components/marketing/ChangelogPage

@lssm-tech/bundle.marketing/components/marketing/CofounderPage

@lssm-tech/bundle.marketing/components/marketing/CompanyOsLandingPage

@lssm-tech/bundle.marketing/components/marketing/CompanyOsMarketingFooter

@lssm-tech/bundle.marketing/components/marketing/ContactClient

@lssm-tech/bundle.marketing/components/marketing/ContributePage

Imports and export paths.

148 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

148 imports · showing 35

Dependencies and related packages.

Runtime dependencies 45
@electric-sql/pglite
catalog:data
@hookform/resolvers
catalog:ui
@scaleway/sdk-client
catalog:integrations
@scaleway/sdk-tem
2.12.1
class-variance-authority
catalog:ui
framer-motion
catalog:ui
lucide-react
catalog:ui
next
catalog:
react
catalog:
react-hook-form
^7.86.0
zod
catalog:
Development dependencies 5
@types/react
~19.2.18
happy-dom
catalog:testing
typescript
catalog:

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

cleanrm -rf dist
lintbun run lint:fix
lint:fixnode ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .
lint:checknode ../../../scripts/biome.cjs check .
buildcontractspec-bun-build build
build:bundlecontractspec-bun-build transpile
build:typescontractspec-bun-build types
publish:pkgbun publish --tolerate-republish --ignore-scripts --verbose
publish:pkg:canarybun publish:pkg --tag canary
prebuildcontractspec-bun-build prebuild
typechecktsgo --noEmit
devcontractspec-bun-build dev
Your view

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Your context

The different parts of you

Choose a starting point

A useful mix of context, visuals and gentle guidance.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Reading comfort

Choose your language

Interface language changes text only. Markets, prices and workflows keep their own settings.

Translation coverage

Original source

Navigation151
Graph616
Categories378
Portfolio833
Examples2,035
Source preview1,542

More translations will be added as content is reviewed.

This preference is saved on this browser.

Search the website

Useful starting points

No results. Try a shorter phrase, an operation name or another search area.

A LITTLE ROOM TO EXPLORE

Find something to explore.

Open a closer look on this page, try a different perspective, or follow the detail into its own page.

How previews and controls work
01

Look before you leave

Hover a link or focus it with Tab to see a preview. Clicking the original link or pressing Enter always opens its destination.

02

Stay with the context

Move into the preview to explore its sections. Use Alt + ↓ from a focused link to enter it with the keyboard. Escape closes it.

03

Open the possibilities

Disclosure rows, perspective choices and highlighted controls reveal more. Your view changes reading comfort and the context you explore.

A separate button for a closer look

Show small preview buttons beside links where there is room. Tap the eye to inspect, or tap the link to go straight there. This choice stays in this tab.

No browsing history is collected. Reduced motion follows your device and Your view.