Skip to content

About

The solana.com website.

Topics

Resources

Security policy

Stars

518 stars

Watchers

26 watching

Forks

Latest commit

 

History

1,954 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 wallet 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, wallet records, 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

518 stars

Watchers

26 watching

Forks

Used by

Contributors

Languages