# AgentDB Scripts Directory This directory contains build, validation, and deployment scripts for AgentDB v2. ## Build Scripts ### Browser Builds #### `build-browser.js` **Purpose:** Original browser bundle builder **Usage:** `node scripts/build-browser.js` **Output:** `dist/agentdb.browser.js` **Features:** - Basic SQL.js WASM integration - Single-file browser bundle - CDN-ready output #### `build-browser-v2.js` **Purpose:** Enhanced v2 browser bundle with advanced features **Usage:** `node scripts/build-browser-v2.js` **Output:** `dist/agentdb.browser.v2.js` **Features:** - Multi-backend support (SQL.js/IndexedDB auto-detection) - GNN optimization integration - IndexedDB persistence - Cross-tab synchronization - 100% v1 API backward compatibility - Enhanced error handling **Recommended:** Use this for new projects requiring browser support. #### `build-browser-advanced.cjs` **Purpose:** Advanced browser features build **Usage:** `node scripts/build-browser-advanced.cjs` **Features:** - Advanced WASM optimization - Progressive loading - Service worker integration - Memory management enhancements ### Dependencies #### `postinstall.cjs` **Purpose:** Post-installation setup and verification **Auto-runs:** After `npm install` **Tasks:** - Validates environment - Checks native dependencies (better-sqlite3) - Sets up development environment - Verifies WASM files ## Validation Scripts ### `comprehensive-review.ts` **Purpose:** Complete v2 feature validation and performance testing **Usage:** `tsx scripts/comprehensive-review.ts` **Tests:** - @ruvector/core integration - @ruvector/gnn integration - ReasoningBank functionality - All v2 controllers (HNSW, QUIC, etc.) - Backend performance comparison - Memory usage analysis - Optimization opportunities **Output:** Comprehensive test report with metrics ### `validate-security-fixes.ts` **Purpose:** Security validation and audit **Usage:** `tsx scripts/validate-security-fixes.ts` **Checks:** - SQL injection prevention - Input sanitization - Path traversal protection - Dependency vulnerabilities - Code signing verification ### `verify-bundle.js` **Purpose:** Bundle integrity verification **Usage:** `node scripts/verify-bundle.js` **Validates:** - Bundle size limits - Export completeness - API surface consistency - WASM file integrity ### `verify-core-tools-6-10.sh` **Purpose:** Core tools validation (tools 6-10) **Usage:** `bash scripts/verify-core-tools-6-10.sh` **Tests:** - Tool 6: Batch insert operations - Tool 7: Hybrid search - Tool 8: QUIC synchronization - Tool 9: Learning plugins - Tool 10: Performance benchmarks ## Release Scripts ### `npm-release.sh` **Purpose:** Automated NPM release workflow **Usage:** `bash scripts/npm-release.sh [version]` **Process:** 1. Version bump (semver) 2. Changelog generation 3. Build verification 4. Test suite execution 5. Bundle validation 6. NPM publish 7. Git tag creation **Requirements:** - NPM authentication - Git repository - Clean working tree ### `pre-release-validation.sh` **Purpose:** Pre-release quality gate **Usage:** `bash scripts/pre-release-validation.sh` **Validates:** - All tests passing - No TypeScript errors - Bundle integrity - Documentation accuracy - Security audit clean - Performance benchmarks met ## Testing Scripts ### `docker-test.sh` **Purpose:** Docker environment testing **Usage:** `bash scripts/docker-test.sh` **Tests:** - Installation in clean environment - Runtime dependencies - Cross-platform compatibility - Network isolation scenarios ### `docker-validation.sh` **Purpose:** Comprehensive Docker validation suite **Usage:** `bash scripts/docker-validation.sh` **Includes:** - Multi-stage build verification - Container security scan - Resource usage monitoring - Integration test suite ## AgentDB Version **Current Version:** 1.6.1 **Target:** v2.0.0 with full backward compatibility All scripts are designed to work with: - **Node.js:** >=18.0.0 - **TypeScript:** ^5.7.2 - **Better-sqlite3:** ^11.8.1 (optional) - **@ruvector/core:** ^0.1.15 - **@ruvector/gnn:** ^0.1.15 ## Development Workflow ### 1. Local Development ```bash npm run build # Full build pipeline npm run dev # Development mode with tsx npm test # Run test suite ``` ### 2. Browser Testing ```bash npm run build:browser # Build browser bundle npm run test:browser # Test browser bundle npm run verify:bundle # Verify bundle integrity ``` ### 3. Pre-Release Validation ```bash bash scripts/pre-release-validation.sh tsx scripts/comprehensive-review.ts tsx scripts/validate-security-fixes.ts ``` ### 4. Release ```bash bash scripts/npm-release.sh patch # Patch release bash scripts/npm-release.sh minor # Minor release bash scripts/npm-release.sh major # Major release ``` ## Script Dependencies ### Required Global Tools - `node` (>=18.0.0) - `npm` (>=9.0.0) - `bash` (>=4.0) - `tsx` (for TypeScript scripts) - `docker` (for container tests) ### Package Scripts Integration Scripts integrate with `package.json` scripts: ```json { "scripts": { "build": "npm run build:ts && npm run copy:schemas && npm run build:browser", "build:browser": "node scripts/build-browser.js", "postinstall": "node scripts/postinstall.cjs || true", "verify:bundle": "node scripts/verify-bundle.js", "docker:test": "bash scripts/docker-test.sh" } } ``` ## Troubleshooting ### Build Failures **Problem:** Browser bundle build fails **Solution:** ```bash # Clear dist and rebuild rm -rf dist npm run build ``` **Problem:** WASM files not loading **Solution:** ```bash # Re-download dependencies rm -rf node_modules npm install ``` ### Validation Failures **Problem:** Security validation fails **Solution:** ```bash npm audit fix tsx scripts/validate-security-fixes.ts ``` **Problem:** Bundle size exceeded **Solution:** ```bash # Check bundle analysis npm run verify:bundle # Consider code splitting or lazy loading ``` ### Release Issues **Problem:** NPM publish fails **Solution:** ```bash # Verify authentication npm whoami npm login # Check version npm version patch --no-git-tag-version ``` ## Best Practices 1. **Always run validation before releases:** ```bash bash scripts/pre-release-validation.sh ``` 2. **Test browser builds locally:** ```bash npm run test:browser ``` 3. **Keep dependencies updated:** ```bash npm outdated npm update ``` 4. **Run security audits regularly:** ```bash tsx scripts/validate-security-fixes.ts ``` 5. **Verify Docker compatibility:** ```bash bash scripts/docker-test.sh ``` ## Contributing When adding new scripts: 1. Add executable permissions: `chmod +x script-name.sh` 2. Include shebang line: `#!/usr/bin/env node` or `#!/usr/bin/env bash` 3. Add comprehensive error handling 4. Document in this README 5. Add to package.json scripts if appropriate 6. Include validation tests ## Support For issues with scripts: - Check logs in `logs/` directory - Review error messages carefully - Verify Node.js/npm versions - Check GitHub Issues: https://github.com/ruvnet/agentic-flow/issues --- **Last Updated:** 2025-11-29 **AgentDB Version:** 1.6.1 → 2.0.0