A cross-platform desktop application built with Electron and SQLite for managing and synchronizing project directories with Vectorizer workspaces (local or remote).
- ποΈ Project Directory Management: Select and manage multiple project directories with intuitive UI
- π Workspace Configuration Export: Export workspace.yml files in Vectorizer format for local use
- βοΈ Cloud Synchronization: Automatic file synchronization to HiveHub Cloud (when enabled)
- π Real-Time File Monitoring: File system watcher detects changes and syncs automatically
- π« Smart File Filtering: Automatic exclusion of modules, builds, and large files (>100KB)
- π Quota Management: Respect HiveHub plan limits with real-time quota monitoring
- π Notification System: Receive alerts from HiveHub and internal notifications
- πΎ Local Data Storage: All data stored in SQLite in user's home directory (persistent across updates)
- π§ Configuration Import/Export: Import and export application configurations
- π₯οΈ Cross-Platform: Native support for Windows, macOS, and Linux
- π Secure Storage: API tokens and credentials stored in OS keychain/credential store
- Node.js: 20.x or later
- npm or pnpm: Package manager
- Windows: Windows 10 or later
- macOS: macOS 10.15 (Catalina) or later
- Linux: Ubuntu 20.04+, Fedora 33+, or equivalent
# Clone repository
git clone https://github.com/hivellm/vectorizer-sync.git
cd vectorizer-sync
# Install dependencies
npm install
# Run in development mode
npm run dev# Build for current platform
npm run build
# Build for specific platform
npm run build:win
npm run build:mac
npm run build:linux
# Build for all platforms
npm run build:allWindows:
- Download installer from releases
- Run
.exeinstaller - Application installed to
C:\Users\<username>\AppData\Local\vectorizer-sync\
macOS:
- Download
.dmgfrom releases - Open DMG and drag to Applications
- Application installed to
/Applications/vectorizer-sync.app
Linux:
- Download AppImage, DEB, or RPM from releases
- Install using package manager or run AppImage directly
| Metric | Value |
|---|---|
| File Change Detection | < 5 seconds |
| Database Queries | < 100ms (simple queries) |
| Application Startup | < 3 seconds |
| Memory Usage | < 500MB (normal operation) |
| Test Coverage | 95%+ (target) |
| Feature | Vectorizer Sync | Manual Setup | Other Tools |
|---|---|---|---|
| Workspace Export | β Automatic | β Manual | |
| Cloud Sync | β Automatic | β Manual | |
| File Filtering | β Smart | β Manual | |
| Quota Monitoring | β Real-time | β Manual | β None |
| Cross-Platform | β Windows/macOS/Linux | β All | |
| Local Storage | β SQLite | β None | |
| Notifications | β Integrated | β None | |
| Configuration | β Import/Export | β Manual |
- Project Management: Manage multiple Vectorizer workspaces from a single interface
- Team Collaboration: Sync project files to HiveHub Cloud for team access
- Local Development: Export workspace.yml for local Vectorizer instances
- Automated Workflows: Automatic file synchronization on changes
- Documentation Sync: Keep documentation synchronized across environments
Vectorizer Sync exports workspace.yml files in the Vectorizer format:
global_settings:
file_watcher:
enabled: true
auto_discovery: true
enable_auto_update: true
exclude_patterns: []
hot_reload: true
watch_paths:
- /workspace
projects:
- name: my-project
path: /workspace/my-project
description: My Project
collections:
- name: source-code
description: Source code
include_patterns:
- "src/**/*.ts"
- "src/**/*.tsx"
exclude_patterns:
- "node_modules/**"
- "dist/**"See Workspace Format Documentation for complete specification.
- Architecture - System architecture, components, and design decisions
- DAG - Directed Acyclic Graph showing system dependencies and data flow
- Requirements - Functional and non-functional requirements
- Workspace Format - Vectorizer workspace.yml format specification
- Database Schema - SQLite database structure and schema
- File Filtering - File exclusion rules and filtering logic
- HiveHub API - HiveHub Cloud API documentation (future implementation)
- Development Guide - Development setup and workflow
- Status - Current project status and roadmap
- Documentation Index - Complete documentation index
Vectorizer Sync will support OAuth 2.0 authentication with HiveHub Cloud:
- Secure token storage in OS keychain
- Automatic token refresh
- Account management UI
- Session management
- Automatic Sync: Files sync automatically when changes are detected
- Quota Monitoring: Real-time quota usage and warnings
- Conflict Resolution: Handle sync conflicts intelligently
- Batch Operations: Efficient batch uploads for multiple files
See HiveHub API Documentation for API details.
Vectorizer Sync automatically excludes:
- Module Directories:
node_modules/,vendor/,packages/, etc. - Build Artifacts:
dist/,build/,out/,.next/, etc. - Large Files: Files larger than 100KB (configurable)
- Binary Files:
.exe,.dll,.so,.dylib, etc. - Temporary Files:
*.tmp,*.temp,*.cache, etc.
See File Filtering Documentation for complete rules.
All application data is stored locally in SQLite:
- Windows:
C:\Users\<username>\vectorizer-sync\database.db - macOS:
~/vectorizer-sync/database.db - Linux:
~/vectorizer-sync/database.db
Stored Data:
- Project configurations
- Workspace settings
- File metadata
- Sync history
- User preferences
- Notifications
See Database Schema Documentation for schema details.
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run specific test suite
npm run test:unit
npm run test:integration
npm run test:e2eTest Coverage Target: 95%+
See Development Guide for detailed development instructions.
vectorizer-sync/
βββ src/
β βββ main/ # Electron main process
β β βββ index.ts # Main entry point
β β βββ database/ # Database management
β β βββ sync/ # Sync engine
β β βββ watcher/ # File system watcher
β β βββ api/ # HiveHub API client
β βββ renderer/ # Electron renderer (React)
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ hooks/ # React hooks
β β βββ store/ # State management
β β βββ utils/ # Utility functions
β βββ shared/ # Shared code
β βββ types/ # TypeScript types
β βββ constants/ # Constants
βββ tests/ # Test files
βββ docs/ # Documentation
βββ scripts/ # Build scripts
βββ public/ # Static assets
Contributions are welcome! Please follow these guidelines:
- Follow coding standards (see Development Guide)
- Write tests for new features (95%+ coverage target)
- Ensure all tests pass
- Update documentation as needed
- Submit pull request
Apache License 2.0 - See LICENSE for details
See Status Documentation for current status and roadmap.
Current Status: Documentation Phase (v0.1.0 Pre-release)
Planned Features:
- β Documentation (Complete)
- β³ Core Infrastructure (Planned)
- β³ Project Management (Planned)
- β³ Workspace Export (Planned)
- β³ File Synchronization (Planned)
- β³ HiveHub Integration (Planned)
- β³ Notification System (Planned)
For issues and questions:
- Open an issue on GitHub
- Check Documentation Index for guides
- Review Development Guide for setup help
- Vectorizer - High-performance vector database and search engine
- HiveHub Cloud - Cloud platform for Vectorizer workspaces