Official documentation for Brasa LST (Liquid Staking Token) protocol on Fogo.
π Live Site: docs.brasa.finance
Brasa is a liquid staking protocol that allows users to stake tokens while maintaining liquidity. This repository contains the full documentation site built with Next.js and Nextra.
- Framework: Next.js 14
- Documentation: Nextra (Docs Theme)
- Styling: Tailwind CSS (via Nextra)
- Language: TypeScript
- Package Manager: pnpm
- Deployment: Vercel
- CI/CD: GitHub Actions
- Node.js 18+
- pnpm 8+
# Clone the repository
git clone https://github.com/brasa-finance/brasa-docs.git
cd brasa-docs
# Install dependencies
pnpm install
# Run development server
pnpm devVisit http://localhost:3000 to see the site.
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
pnpm typecheck # Run TypeScript type checking
pnpm format # Format code with Prettier
pnpm format:check # Check code formattingbrasa-docs/
βββ .github/ # GitHub Actions workflows
βββ .husky/ # Git hooks
βββ components/ # React components
β βββ mdx/ # Custom MDX components
βββ pages/ # Documentation pages (MDX)
β βββ getting-started/
β βββ concepts/
β βββ integrate/
β βββ validators/
β βββ security/
β βββ changelog/
β βββ legal/
βββ public/ # Static assets
β βββ fonts/ # Self-hosted fonts
β βββ og/ # Open Graph images
β βββ ...
βββ styles/ # Global styles
βββ next.config.mjs # Next.js configuration
βββ theme.config.tsx # Nextra theme configuration
βββ tsconfig.json # TypeScript configuration
- Create a new
.mdxfile in the appropriate directory under/pages - Add front-matter with
titleanddescription - Update the
_meta.jsonfile in the directory to add the page to navigation
Example:
---
title: My New Page
description: A brief description of this page
---
# My New Page
Content goes here...We provide several custom MDX components:
<Callout type="info">This is an informational callout.</Callout>Types: info, warn, success, danger
<Tabs>
<Tab title="JavaScript">```js console.log('Hello') ```</Tab>
<Tab title="TypeScript">```ts console.log('Hello') ```</Tab>
</Tabs><Steps>
<Step title="First Step">Do this first</Step>
<Step title="Second Step">Then do this</Step>
</Steps><Badge tone="success">New</Badge>Tones: neutral, success, warning, critical
<ContractAddress chain="Fogo" address="0x1234..." label="Brasa Staking Contract" />- Import the repository in Vercel
- Configure environment variables:
NEXT_PUBLIC_SITE_URL: https://docs.brasa.finance
- Deploy!
To set up the custom domain docs.brasa.finance:
- In Vercel project settings, add the domain
- Get the CNAME target from Vercel
- In your DNS provider, add:
CNAME docs β [vercel-cname-target] - Wait for DNS propagation and SSL certificate issuance
See CONTRIBUTING.md for guidelines on contributing to the documentation.
This project uses:
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type safety
- Husky for git hooks
- Commitlint for conventional commits
Pre-commit hooks automatically run linting and formatting.
GitHub Actions runs on every PR and push to main:
- β Linting (ESLint)
- β Type checking (TypeScript)
- β Format checking (Prettier)
- β Build verification
- β Link checking
Self-hosted Inter fonts are located in /public/fonts/. Download from Google Fonts or Inter GitHub.
Required files:
inter-regular.woff2inter-semibold.woff2inter-bold.woff2
OG images (1200x630px) should be placed in /public/og/. These are used for social media previews.
This documentation is open source under the MIT License.
- Documentation Issues: GitHub Issues
- Protocol Questions: Discord
- Email: [email protected]
Built with β€οΈ by the Brasa team.