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 déclarations · les 6 premières affichéesSELECT 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 · 35 affichés

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
Votre vue

Make room for your context.

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

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

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

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.