Official documentation for Annie - Blazingly fast Approximate Nearest Neighbors in Rust
This repository contains the source code and automation for annie-docs.netlify.app, the comprehensive documentation site for the Annie library.
Resource | Description | Link |
---|---|---|
Live Documentation | Complete API docs & guides | annie-docs.netlify.app |
Annie Library | Main source code repository | GitHub |
PyPI Package | Install Annie via pip | rust-annie |
Report Doc Issues | Documentation bugs & improvements | Issues |
Community | Questions & discussions | Discussions |
annie-docs/
├── docs/ # Documentation content (Markdown)
│ ├── index.md # Homepage
│ ├── api/ # API reference docs
│ │ ├── ann_index.md # ANN Index API
│ │ ├── hnsw_index.md # HNSW Index API
│ │ └── threadsafe_index.md # ThreadSafe Index API
│ ├── examples.md # Usage examples
│ ├── filtering.md # Filtering guide
│ ├── concurrency.md # Concurrency documentation
│ └── ... # Additional guides
├── scripts/ # Build & deployment automation
│ ├── build-docs.sh # Build documentation
│ ├── deploy.sh # Deploy to production
│ ├── serve-public.sh # Local network sharing
│ ├── sync-api-docs.py # Auto-sync API docs
│ ├── sync-readme-content.py # Auto-sync README content
│ └── update-version-info.py # Auto-update version info
├── configs/ # Platform configurations
│ ├── netlify.toml # Netlify deployment
│ └── CNAME # Custom domain config
├── .github/workflows/ # CI/CD automation
│ ├── deploy-docs.yml # Auto-deployment
│ ├── sync-docs.yml # Auto-sync from main repo
│ ├── ci.yml # Continuous integration
│ ├── codeql.yml # Security analysis
│ └── dependencies.yml # Dependency updates
├── docs-management/ # Setup & deployment guides
│ ├── CONTRIBUTING.md # Contribution guidelines
│ ├── FILE-ORGANIZATION.md # Repository structure guide
│ └── SETUP-SUMMARY.md # Complete setup summary
├── mkdocs.yml # MkDocs configuration
├── requirements.txt # Python dependencies
├── LICENSE # MIT License
├── SECURITY.md # Security policy
└── README.md # This file
# Clone documentation repository
git clone https://github.com/Programmers-Paradise/Annie-Docs.git
cd Annie-Docs
# Build documentation (creates venv, installs deps, builds site)
./scripts/build-docs.sh
# Serve locally with live reload
source venv/bin/activate
mkdocs serve
Visit http://localhost:8000
to see your local documentation.
Script | Purpose | Usage |
---|---|---|
./scripts/build-docs.sh |
Build documentation | One-command setup |
./scripts/serve-public.sh |
Share on network | http://YOUR-IP:8080 |
./scripts/deploy.sh |
Production deployment | Build + optimization |
./scripts/tunnel.sh |
Temporary public URL | Requires ngrok |
This documentation repository automatically syncs with the main Annie library:
- Changes in Annie repo → Triggers webhook/repository dispatch
- GitHub Action runs → Pulls latest docs, examples, and API references
- Documentation updates → Rebuilds and redeploys annie.io
- Site goes live → Updates visible within minutes
- API documentation from Rust/Python docstrings
- Examples from
/examples
directory - README content and project guides
- Version information from Cargo.toml
- Documentation from main repo's
/docs
folder
To enable automatic syncing, see the complete guide: docs-management/SETUP-SUMMARY.md
This involves:
- Adding a workflow to your main Annie repository
- Creating a GitHub personal access token
- Configuring the token as a repository secret
The documentation is automatically deployed to: annie-docs.netlify.app
The site automatically deploys when you push to the main
branch:
- Push to GitHub → Triggers build
- MkDocs builds → Generates static site
- Netlify deploys → Site goes live
git push origin main # Triggers automatic deployment
For detailed deployment instructions, see: docs-management/SETUP-SUMMARY.md
- Fork this repository
- Clone your fork locally
- Create a feature branch
- Edit documentation in
docs/
directory - Test with
mkdocs serve
- Submit a pull request
For detailed guidelines, see docs-management/CONTRIBUTING.md.
This documentation repository is licensed under the MIT License.
Issue Type | Where to Go |
---|---|
Documentation bugs | Create Issue |
Security vulnerabilities | Security Policy |
Usage questions | GitHub Discussions |
Annie library issues | Main Repository |
Visit annie-docs.netlify.app • Get Started • Contribute
Powered by MkDocs • Hosted on Netlify • Made with care by the Annie team