A user-friendly documentation website for the Soroban Cookbook, transforming how developers learn Soroban smart contract development through interactive examples and progressive learning paths.
- π Progressive Learning Paths - Beginner to Advanced tutorials
- π¨ Beautiful UI - Modern design with dark mode support
- π± Fully Responsive - Works perfectly on all devices
- β‘ Fast Performance - Built with Docusaurus for optimal speed
- β¨ Interactive Code Playgrounds
- π Smart Search (Algolia integration)
- π― Difficulty Badges
- π» Live Rust code examples
# Navigate to documentation directory
cd documentation
# Install dependencies
bun install # (fallback: npm install)
# Start development server
bun start # (fallback: npm start)Visit http://localhost:3000 to view the site.
Soroban_Cookbook_online/
βββ documentation/ # Main documentation site
β βββ docs/ # MDX documentation files
β βββ src/
β β βββ components/ # React components
β β βββ css/ # Styling
β β βββ pages/ # Static pages
β βββ package.json
βββ .github/workflows/ # CI/CD pipelines
βββ README.md # This file
- Framework: Docusaurus 3 with TypeScript
- Language: TypeScript + React 19
- Package Manager: Bun
- Deployment: Vercel / GitHub Pages
- Search: Algolia DocSearch (planned)
bun start # Start dev server
bun run build # Build for production
bun run serve # Serve production build
bun run typecheck # Run TypeScript checks
bun run lint # Lint code
bun run format # Format codenpm start # Start dev server
npm run build # Build for production
npm run serve # Serve production build
npm run typecheck # Run TypeScript checks
npm run lint # Lint code
npm run format # Format code- Create a new
.mdxor.mdfile indocumentation/docs/ - Add frontmatter with metadata
- Update
documentation/sidebars.tsfor navigation
Example:
---
sidebar_position: 1
title: My Pattern
---
## Overview
Content here...This project uses GitHub Actions for automated quality checks and deployments. See CI_CD_PIPELINE.md for detailed documentation.
Automated checks run on every pull request and push to main:
- Formatting - Prettier code formatting validation
- Linting - ESLint code quality checks
- TypeScript - Type safety validation
- Build - Documentation build verification
- Deployment - Deployment configuration validation
Documentation automatically deploys to GitHub Pages after CI passes on main branch.
Before pushing, run these commands:
cd documentation
# Recommended
bun install && bun run format:check && bun run lint && bun run typecheck && bun run build
# Alternative
npm install && npm run format:check && npm run lint && npm run typecheck && npm run build- Push to GitHub
- Import project in Vercel
- Deploy automatically
Automatically deploys on push to main via GitHub Actions.
For the GitHub Actions deployment to work, ensure the following settings are configured in your repository:
-
GitHub Pages Source
- Go to Settings β Pages
- Set "Source" to "GitHub Actions"
- This allows the workflow to deploy the built artifacts
-
Branch Protection (Recommended)
- Go to Settings β Branches
- Add rule for
mainbranch - Require status checks to pass before merging
- This ensures only successful builds are merged
-
Workflow Permissions
- Go to Settings β Actions β General
- Set "Workflow permissions" to "Read and write permissions"
- This allows the workflow to deploy to Pages
-
Environment Configuration
- The workflow uses the
github-pagesenvironment - Deployment URL will be available in workflow run details
- The workflow uses the
- On Push to main: Automatically builds and deploys docs
- Manual Trigger: Use "Run workflow" in Actions tab to manually deploy
- Failure Handling: Workflow fails explicitly if Pages is not configured (no silent skips)
- Build Artifact: Generated from
documentation/builddirectory
We welcome contributions of all kinds! Whether you're fixing a typo, adding a new contract pattern, or improving the UI, your help is appreciated.
To get started, please read our Contributing Guide for detailed instructions on:
- Setting up your local development environment.
- Branching and pull request conventions.
- Pre-submission validation steps.
We also have a Pull Request Template to help you structure your submissions.
- Primary: #0091FF (Stellar Blue)
- Success: #00D084
- Warning: #FFB84D
- Error: #FF5656
- Base Docusaurus setup
- Core documentation structure
- Deployment configuration
- TypeScript support
- Getting started guides
- Smart contract patterns
- Code examples with tests
- Best practices documentation
- Monaco Editor integration
- Live code playground
- Algolia DocSearch
- Custom React components
- Server-side compilation API
- Real testnet deployment
- Video tutorials
- Community contributions
- Soroban Cookbook GitHub
- Soroban Documentation
- Stellar Developer Portal
- Stellar Discord
- Docusaurus Docs
cd documentation
npm run clear
npm install
npm run buildnpm start -- --port 3001npm run typecheckMIT License - see LICENSE for details.
- Built with Docusaurus
- Styled with Tailwind CSS
- Powered by Stellar
- Content from Soroban Cookbook
Built by the community β’ Powered by Stellar β’ Written in Rust
Questions? Join the Stellar Discord or open an issue.