ruvector/scripts at main · liamhelmer/ruvector · GitHub
Skip to content

Latest commit

 

History

History
 
 

scripts

Folders and files

README.md

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

  1. Install git hooks (recommended):

    ./scripts/install-hooks.sh
  2. 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

  1. Test deployment script:

    ./scripts/test-deploy.sh
  2. Set credentials (required):

    export CRATES_API_KEY="your-crates-io-token"
    export NPM_TOKEN="your-npm-token"
  3. Run dry run (recommended first):

    ./scripts/deploy.sh --dry-run
  4. Deploy:

    ./scripts/deploy.sh

📖 Documentation

🔐 Security

Never commit credentials! Always use environment variables or secure credential storage.

See DEPLOYMENT.md#security-best-practices for details.