Skip to content

Latest commit

Β 

History

1,895 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

solana.com Monorepo

Repository for https://solana.com β€” a Turborepo-powered monorepo containing multiple Next.js applications and shared packages.

For a short agent-oriented entry point, start with AGENTS.md.

Structure

solana-com/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ web/          # Main website (solana.com) - port 3000
β”‚   β”œβ”€β”€ docs/         # Developer documentation - port 3003
β”‚   β”œβ”€β”€ media/        # Blog & news (Keystatic) - port 3002
β”‚   β”œβ”€β”€ templates/    # Code templates showcase - port 3001
β”‚   β”œβ”€β”€ accelerate/   # Event microsite - port 3004
β”‚   └── breakpoint/   # Event microsite - port 3005
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ config-oxlint/       # Shared oxlint configs
β”‚   β”œβ”€β”€ config-typescript/   # Shared TypeScript configs
β”‚   β”œβ”€β”€ docs-examples/       # Tested cookbook source snippets
β”‚   β”œβ”€β”€ ecosystem-data/      # Shared company and logo registry
β”‚   β”œβ”€β”€ fab-menu/            # Reusable Solana property menu
β”‚   β”œβ”€β”€ i18n/                # Shared i18n utilities (next-intl)
β”‚   β”œβ”€β”€ sentry/              # Shared Sentry helpers
β”‚   β”œβ”€β”€ sitemap/             # Shared sitemap generation helpers
β”‚   β”œβ”€β”€ ui/                  # Shared UI components (Radix-based)
β”‚   └── ui-chrome/           # Header, Footer, Theme components

The main web app (apps/web) uses Next.js App Router with all pages under src/app/[locale]/.

Workspace Guide

Workspace Package name Port Notes
apps/web solana-com 3000 Main site and shared user-facing entry point
apps/docs solana-docs 3003 Fumadocs-based developer docs
apps/media solana-com-media 3002 Keystatic-backed news and podcasts
apps/templates solana-templates 3001 Templates showcase, proxied behind solana.com
apps/accelerate solana-com-accelerate 3004 Event app with /accelerate rewrites
apps/breakpoint solana-com-breakpoint 3005 Event app with /breakpoint rewrites

Shared packages worth checking early:

  • packages/ui-chrome for shared header/footer and cross-app link behavior
  • packages/i18n for locale config and message loading
  • packages/ecosystem-data for canonical company data and logos

Setup

Requires Node.js 24 (pinned in .node-version) and pnpm 11.13.1. Corepack will use the pnpm version declared by the repository.

  1. Clone the repo:

    git clone https://github.com/solana-foundation/solana-com.git
  2. Install dependencies (pnpm required):

    pnpm install
  3. Run development:

    # All apps (via Turbo)
    pnpm dev
    
    # Specific app
    pnpm dev --filter solana-com                # Main website
    pnpm dev --filter solana-docs               # Documentation
    pnpm dev --filter solana-com-media          # Blog/Media
    pnpm dev --filter solana-templates          # Templates
    pnpm dev --filter solana-com-accelerate     # Accelerate
    pnpm dev --filter solana-com-breakpoint     # Breakpoint
    
    # Or from app directory
    cd apps/web && pnpm dev

Commands

Command Description
pnpm build Build all apps
pnpm test Run tests
pnpm lint Lint all workspaces
pnpm check-types Type-check all workspaces

Targeted validation is usually faster:

pnpm --filter solana-com lint
pnpm --filter solana-docs build
pnpm --filter solana-com-media test
pnpm --filter solana-templates check-types

Periodic agent-context audit:

node skills/refresh-agent-context/scripts/workspace_inventory.mjs

Architecture Notes

  • Root scripts use turbo run ... and task defaults live in turbo.json
  • Non-web apps set NEXT_PUBLIC_APP_NAME in next.config.ts; shared nav logic in packages/ui-chrome uses that to decide cross-app navigation behavior
  • Several apps use assetPrefix plus rewrites because they are deployed separately behind solana.com
  • Shared env pass-through is also declared in turbo.json

Contributing

The solana.com website is managed and maintained by the Solana Foundation. See how to contribute and workspace docs:

Using Just

just wraps the common turbo and oxfmt commands (see the justfile). Run just to list all recipes. Most take an optional target: an app or package name (docs, web, media, ui, ...), acc/bp, or a raw turbo filter.

just docs                      # dev server for apps/docs (also: web, media, templates, acc, bp)
just build docs                # build one app (omit the target for everything)
just lint web                  # lint, typecheck and test work the same way
just typecheck docs
just fmt apps/docs/foo.mdx     # oxfmt on files, folders or app names
just fmt-changed               # format only files changed vs origin/main
just check docs                # format check + lint + typecheck + test, as CI does

About

The solana.com website.

Topics

Resources

Security policy

Stars

512 stars

Watchers

25 watching

Forks

Used by

Contributors

Languages