- Rename npm package from ruvector-math-wasm to @ruvector/math-wasm - Update README with correct scoped package name - Update workflow to publish with scoped name - Add scripts/test-wasm.mjs for WASM package testing - Consistent with @ruvector/attention-* naming convention Published: - @ruvector/math-wasm@0.1.31 on npm Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| build | ||
| patches/hnsw_rs | ||
| check-and-publish-router-wasm.sh | ||
| ci-sync-lockfile.sh | ||
| deploy.sh | ||
| DEPLOYMENT-QUICKSTART.md | ||
| DEPLOYMENT.md | ||
| install-hooks.sh | ||
| publish-all.sh | ||
| publish-cli.sh | ||
| publish-crates.sh | ||
| publish-router-wasm.sh | ||
| README.md | ||
| sync-lockfile.sh | ||
| test-all-graph-commands.sh | ||
| test-deploy.sh | ||
| test-docker-package.sh | ||
| test-graph-cli.sh | ||
| test-wasm.mjs | ||
| validate-packages-simple.sh | ||
| validate-packages.sh | ||
| verify-paper-impl.sh | ||
| verify_hnsw_build.sh | ||
RuVector Automation Scripts
This directory contains automation scripts to streamline development, deployment, and prevent common issues.
📜 Available Scripts
🚀 deploy.sh
Comprehensive deployment script for publishing to crates.io and npm.
Handles:
- Version management and synchronization
- Pre-deployment checks (tests, linting, formatting)
- WASM package builds
- Crate publishing to crates.io
- NPM package publishing
- GitHub Actions trigger for cross-platform builds
Usage:
# Full deployment
./scripts/deploy.sh
# Dry run (test without publishing)
./scripts/deploy.sh --dry-run
# See all options
./scripts/deploy.sh --help
See: DEPLOYMENT.md for complete documentation
🧪 test-deploy.sh
Tests the deployment script without publishing.
Usage: ./scripts/test-deploy.sh
🔄 sync-lockfile.sh
Automatically syncs package-lock.json with package.json changes.
Usage: ./scripts/sync-lockfile.sh
🪝 install-hooks.sh
Installs git hooks for automatic lock file management.
Usage: ./scripts/install-hooks.sh
🤖 ci-sync-lockfile.sh
CI/CD script for automatic lock file fixing.
Usage: ./scripts/ci-sync-lockfile.sh
📦 publish-crates.sh
Legacy script for publishing individual crates. Use deploy.sh instead.
🧭 validate-packages.sh
Validates package configurations and dependencies.
🚀 Quick Start
For Development
-
Install git hooks (recommended):
./scripts/install-hooks.sh -
Test the hook:
cd npm/packages/ruvector npm install chalk git add package.json git commit -m "test: Add chalk dependency" # Hook automatically updates lock file
For Deployment
-
Test deployment script:
./scripts/test-deploy.sh -
Set credentials (required):
export CRATES_API_KEY="your-crates-io-token" export NPM_TOKEN="your-npm-token" -
Run dry run (recommended first):
./scripts/deploy.sh --dry-run -
Deploy:
./scripts/deploy.sh
📖 Documentation
- DEPLOYMENT.md - Comprehensive deployment guide
- ../docs/CONTRIBUTING.md - Development guide
🔐 Security
Never commit credentials! Always use environment variables or secure credential storage.
See DEPLOYMENT.md#security-best-practices for details.