This repository contains the official documentation for BitVMX - A CPU for Universal Computation on Bitcoin.
The documentation is built using MkDocs with the Material theme.
- Python 3.8+
- pip
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activateInstall dependencies:
pip install -r requirements.txtStart the development server:
mkdocs serveThe documentation will be available at http://localhost:8000.
Build the static site:
mkdocs buildThe built site will be in the site/ directory.
The documentation includes Rust API reference docs generated from the BitVMX codebase.
- Rust toolchain (install from rustup.rs)
- Access to the
rust-bitvmx-workspacedirectory- Default location:
../rust-bitvmx-workspace(sibling to this repo) - Or use
--pathflag to specify a custom location
- Default location:
Generate Rust API documentation for all crates:
# Use default path (looks for rust-bitvmx-workspace in parent directory)
./scripts/generate-rust-docs.sh
# Or specify a custom path
./scripts/generate-rust-docs.sh --path /path/to/rust-bitvmx-workspaceDirectory Structure:
By default, the script expects this directory structure:
parent-dir/
├── bitvmx-docs/ # This repository
└── rust-bitvmx-workspace/ # Rust workspace (sibling directory)
If your workspace is in a different location, use the --path flag.
What the script does:
- Generate
cargo docfor all 10 public-facing crates - Combine them into
docs_rust/directory - Create a unified index page
The generated docs are automatically copied into the MkDocs site during build.
-
Generate Rust docs first:
./scripts/generate-rust-docs.sh
-
Start MkDocs development server:
mkdocs serve
-
View documentation at:
- Main docs: http://localhost:8000
- Rust API: http://localhost:8000/rust-api/
After making changes to Rust code:
./scripts/generate-rust-docs.shMkDocs will auto-reload if mkdocs serve is running.
To deploy the documentation (including Rust API docs) to GitHub Pages:
# 1. Generate Rust docs
./scripts/generate-rust-docs.sh
# 2. Build and deploy
mkdocs gh-deploy --forceIssue: Rust docs not showing up
Solution: Run ./scripts/generate-rust-docs.sh first
Issue: Compilation errors in specific crates
Solution: Check the crate compiles: cd ../rust-bitvmx-workspace/<crate> && cargo check
Issue: Styling looks wrong
Solution: Clear browser cache and rebuild: mkdocs build --clean
docs/
├── index.md # Home page
├── getting-started/ # Installation and quick start
├── core-concepts/ # Fundamental concepts
├── union-bridge/ # Union Bridge documentation
├── components/ # Component documentation
├── developer-guide/ # Development guides
├── api-reference/ # API documentation
├── tutorials/ # Step-by-step tutorials
├── technical-reference/ # Technical specifications
├── contributing/ # Contribution guidelines
└── resources/ # External resources
This documentation is licensed under the MIT License - see the LICENSE file for details.
If you have questions or need help:
- Open an issue
- Join our Telegram channel
- Check the FAQ