Central documentation hub for the fusabi-lang organization. This repository automatically aggregates and publishes documentation from all public fusabi-lang repositories.
This documentation site is built with:
- Quartz v4: Static site generator optimized for Obsidian vaults
- Nushell Scripts: Automated repository discovery and synchronization
- GitHub Actions: Daily automated builds and deployments
- Git Submodules: Links to documentation from each repository
- Node.js v22+ and npm v10.9.2+
- Nushell (latest stable version)
- Git with submodule support
- GitHub CLI (gh) for API access
- Obsidian (optional, for local editing)
# Clone repository
git clone https://github.com/fusabi-lang/docs.git
cd docs
# Install Quartz
npx quartz create
# Install dependencies
npm install
# Discover and sync repositories
npm run discover
npm run sync
# Build and preview
npm run devnpm run discover- Discover fusabi-lang repositories with /docs directoriesnpm run sync- Synchronize git submodules with discovered repositoriesnpm run update- Update documentation from all submodulesnpm run pipeline- Run full build pipeline (discover, sync, update, build)npm run dev- Start local development servernpm run build- Build static site
docs/
├── index.md # Homepage
├── content/ # Main documentation content
│ ├── projects/ # Aggregated from submodules
│ │ ├── fusabi/ # Submodule: fusabi-lang/fusabi/docs
│ │ └── ...
│ └── guides/ # Local documentation
├── scripts/ # Nushell automation scripts
│ ├── discover-repos.nu # GitHub API repo discovery
│ ├── sync-submodules.nu # Submodule management
│ ├── update-docs.nu # Documentation updates
│ └── build-site.nu # Build orchestration
├── config/ # Configuration files
│ └── ignorelist.json # Repositories to exclude
├── .github/
│ └── workflows/
│ └── sync-and-deploy.yml # Automated sync & deploy
├── quartz.config.ts # Quartz configuration
├── package.json # Node.js dependencies
└── CLAUDE.md # Detailed technical documentation
Edit config/ignorelist.json to exclude specific repositories or patterns:
{
"repositories": ["docs", "private-repo"],
"patterns": ["fork-*", "archive-*", "test-*"],
"exclude_forks": true,
"exclude_archived": true,
"exclude_private": true,
"require_docs_directory": true
}Edit quartz.config.ts to customize:
- Site title and metadata
- Theme colors and typography
- Plugins and transformers
- Analytics and SEO settings
The GitHub Actions workflow runs:
- Daily at 2 AM UTC: Automatic sync and deployment
- On push to main: When configuration or scripts change
- Manual dispatch: Via GitHub Actions UI
- Repository dispatch: When triggered by other repositories
To add or update documentation:
- Navigate to the relevant project repository
- Edit markdown files in the
/docsdirectory - Submit a pull request
- Changes will be automatically synchronized to the docs site
- Sync latest documentation from all repositories
- Update version information and metadata
- Build and deploy static site to GitHub Pages
- Review new repositories for inclusion
- Update ignorelist configuration
- Customize Quartz theme and plugins
For detailed technical information, see:
- CLAUDE.md - Complete technical documentation
- Quartz Documentation
- Nushell Book
The following repositories are currently tracked:
- fusabi - A high-performance, type-safe F# scripting engine for embedded Rust applications (v0.3.0-alpha)
This documentation hub aggregates content from multiple repositories. Each project retains its original license. See individual project directories for specific licensing information.
Note: This repository is public and only aggregates from public repositories within the fusabi-lang organization.