OVES Sites¶
Purpose: Website design intents and specifications for Omnivoltaic's user-facing sites.
Scope: Forms stage of content lifecycle (Seed → Forms → Apps)
Overview¶
This repository houses the design intents, content specifications, and page layouts for all Omnivoltaic websites. These documents serve as "source code" for site architecture - update these intents first, then implement in actual applications.
Relationship to Other Repos¶
- oves-sites (this repo) - Website design intents and specifications (Forms)
- oves-decks - Presentation deck intents + apps (Forms + Apps merged)
- dirac-uxi - All user-facing web application implementations (Apps)
- content-workflow - Content lifecycle frameworks and workflows
Documentation Structure¶
Shared Resources¶
Foundation document for all sites: - Brand assets and design tokens - Default header/footer patterns - Typography, spacing, accessibility standards - Shared components and guidelines
Sites¶
Individual site design intents: - Omnivoltaic Corporate Hub ✅ - Mobility 🚧 Placeholder - Off-Grid Energy 🚧 Placeholder - Cross-Grid 🚧 Placeholder - Productive Use 🚧 Placeholder
Products¶
Product-domain information intents: - Products Domain - Retrieval Intents - Mutation Intents - Property Intents - Product Collection Intents
Articles¶
Article-domain information intents: - Articles Domain - Article Object Intents - Article Collection Intents - CMS Persistence Workflow - Publish and Sync Procedure
Contracts¶
Canonical contract references: - Canonical Pattern For CMS/BFF
Using This Repository¶
For Content Strategists¶
- Define page layouts and content structure here
- Specify blocks, sections, and content flow
- Document navigation and information architecture
For Developers¶
- Reference these intents when building sites in dirac-uxi
- Implement specified blocks and layouts
- Update intents when discovering better patterns
For Designers¶
- Use shared resources as design system foundation
- Specify visual treatments and brand applications
- Define responsive behavior and interactions
Content Developer Checklist (when preparing a change)¶
- Confirm the target site and page(s) in
docs/sites/<site>.mdare up to date and capture the intended change. - For articles, prepare content using the current BFF marketing article schema as a guide (fields such as
articleKey,slug,title,subtitle,heroImage,publishedAt,author,body). - Place or update the article document under
docs/articles(optionally grouped by site), keeping metadata aligned with the BFF schema and body written in Markdown. - Review copy, tone, and imagery against
docs/shared/all-sites.md(brand, theme, and SEO/accessibility guidelines). - When ready for implementation, explicitly request a deployment by saying “rebuild site X”, where
Xis the site identifier (e.g.omnivoltaic,company,mobility). - After deployment, verify the live site reflects the updated intents and article content.
Implementation Workflow¶
- Author intents in
oves-sites(Forms stage) - CMO/content owners define site structure, page list, and content/layout intents here first.
-
No content or layout change should be made directly in app repos (e.g.
dirac-uxi) unless it is already reflected in these intents. -
Implement apps in
dirac-uxi(Apps stage) - Developers use
docs/shared/all-sites.mdplusdocs/sites/*.mdas the source of truth when building apps underdirac-uxi/apps/isr(e.g.omnivoltaic,company,mobility,off-grid,productive). -
The architecture may evolve (single multi-tenant app vs per-site apps), but all implementations must remain aligned with this repo as the design/content authority.
-
Deploy as ISR/static marketing sites
- Next.js apps use static generation + ISR, keeping most pages effectively static with controlled refresh.
-
This matches the current requirement: “ISR and relatively static at this stage.”
-
Content sources: current vs future
- Future state: All content ultimately lives in a headless CMS, surfaced through BFF APIs into the apps, while
oves-sitescontinues to define structure, page intents, and narrative guidelines. -
Current interim:
- Product data may already come from CMS via BFFs in certain apps.
- Article content is authored locally in this repo (e.g.
docs/articles/...) and treated as the source for the article pages until CMS integration is complete.
-
Event-based propagation of changes
- Changes in
oves-sitesdo not automatically update live sites. - A content owner or developer must explicitly trigger an update (e.g. “rebuild site X”) to propagate new intents into the corresponding app and deployment.
Related Documentation¶
- Content Workflow - Lifecycle frameworks
- Domain Strategy - URL structure and delivery
- dirac-uxi - Implementation repository
For detailed documentation, refer to docs.omnivoltaic.com/oves-sites